Layanan VPN Wireguard gratis di AWS
Alasannya
Peningkatan sensor internet oleh rezim otoriter memperluas penyumbatan sumber daya internet yang berguna sehingga membuat mustahil penggunaan WEB dan pada dasarnya melanggar hak dasar untuk kebebasan berpendapat dan berekspresi yang diabadikan dalam Deklarasi Universal Hak Asasi Manusia .
Pasal 19
Setiap orang berhak atas kebebasan berpendapat dan berekspresi; hak ini termasuk kebebasan untuk memiliki pendapat tanpa campur tangan dan untuk mencari, menerima dan memberikan informasi dan ide melalui media apa pun dan tanpa memandang batas.
Berikut ini adalah instruksi 6 langkah terperinci untuk orang-orang non-IT untuk menggunakan layanan * VPN gratis berdasarkan teknologi Wireguard di infrastruktur cloud Amazon Web Services (AWS) , menggunakan akun gratis 12 bulan, pada Mesin Virtual (mesin virtual) yang dijalankan oleh Server Ubuntu 04/18 LTS.
Saya mencoba membuat langkah-langkah ini senyaman mungkin bagi orang yang jauh dari TI. Satu-satunya hal yang diperlukan adalah ketekunan dalam mengulangi langkah-langkah yang dijelaskan di bawah ini.
Catatan
Tahapan
- Daftarkan Akun AWS.
- Buat instance AWS.
- Hubungkan ke instance AWS.
- Konfigurasikan server Wireguard.
- Konfigurasikan Klien VPN.
- Verifikasi koneksi VPN.
Tautan yang bermanfaat
Penulis
1. Daftarkan Akun Gratis AWS
Untuk mendaftarkan akun AWS, Anda harus mengirimkan nomor telepon dan kartu bank yang valid (Visa atau Mastercard). Saya sarankan menggunakan kartu virtual yang disediakan secara gratis oleh Yandex.Money atau dompet Qiwi .
AWS memeriksa validitas kartu dengan mengurangi $ 1 pada saat pendaftaran diikuti dengan pengembalian uang.
1.1. Membuka Konsol Manajemen AWS
Ikuti tautan: https://aws.amazon.com/ , klik tombol Buat akun AWS .

1.2. Pembuatan akun AWS
Isi data dan klik tombol Lanjutkan .


Nomor kartu, tanggal kedaluwarsa, dan nama pemegang kartu.

1.5. Verifikasi akun
AWS memverifikasi nomor telepon Anda dan mendebit $ 1 dari kartu bank Anda. Maka Anda harus mendapatkan kode 4 digit di layar komputer dan menerima panggilan dari Amazon. Saat panggilan berlangsung, Anda perlu memasukkan kode 4 digit yang ditampilkan di layar.

1.6. Memilih rencana dukungan AWS
Pilih paket Dasar (gratis).

Masuk ke Konsol Manajemen AWS

1.8. Memilih lokasi Pusat Data

1.8.1. Pengujian kecepatan internet
Saya merekomendasikan Anda untuk menjalankan tes kecepatan ke Pusat Data terdekat di https://speedtest.net/ dan memilih yang terbaik untuk terhubung.
Berikut ini adalah hasil tes kecepatan dari lokasi saya:
- Singapura

- Paris

- Frankfurt

- Stockholm

- London

Datacenter di London menunjukkan hasil kecepatan terbaik, jadi saya memilih untuk melanjutkan.
2. Buat instance AWS
2.1 Membuat mesin virtual (contoh)
2.1.0 Ikuti langkah-langkah pembuatan instance
2.1.0.1. Buka halaman Peluncuran Instance, pilih layanan EC-2

2.1.0.2. Luncurkan server virtual, yang dikenal sebagai Amazon EC-2 Instance

2.1.0.3. Pilih gambar mesin Amazon (Sistem Operasi) - Ubuntu Server 18.04 LTS

2.1.1. Pilih jenis Instance
t2.micro
instance t2.micro
diatur secara default dan merupakan yang tepat untuk digunakan. Klik tombol Next: Configure Instance Details untuk melanjutkan.

Nonaktifkan penetapan otomatis IP publik karena Anda akan menetapkan yang statis untuk Mesin Virtual Anda. Klik tombol Next: Add Storage .

2.1.3. Tambahkan penyimpanan
Tentukan ukuran Drive - 16GB sudah cukup.
Klik Selanjutnya: tombol Tambahkan Tag .

Jika Anda memiliki beberapa contoh, Anda dapat mengelompokkannya dengan tag untuk memungkinkan administrasi yang lebih baik. Namun, fungsi ini surplus. Jadi kita lewati ini dengan menekan tombol Next: Configure Security Group .

2.1.5. Membuka porta
Konfigurasikan firewall dengan menetapkan port terbuka. Set port terbuka disebut "Grup Keamanan". Anda perlu membuat "Grup Keamanan" baru, berikan nama, deskripsi, dan port UDP (Aturan UDP Kustom).
Di bidang Port Range, tentukan nomor port dari kisaran 49152 - 65535 port dinamis . Dalam kasus saya, saya memilih nomor port 54321.
Klik tombol Tinjau dan Luncurkan untuk menyelesaikan langkah ini.

2.1.6. Tinjau pengaturan Peluncuran Instance
Tinjau dan periksa semua pengaturan untuk Peluncuran Instance, dan jika semuanya OK klik tombol Launch .

2.1.7. Membuat kunci akses
Buat atau tambahkan kunci SSH yang ada di kotak dialog yang akan Anda gunakan untuk koneksi jarak jauh ke instance Anda.
Pilih "Buat pasangan kunci baru" untuk menghasilkan kunci baru. Beri nama dan klik tombol Unduh Pasangan Kunci untuk mengunduh kunci yang dihasilkan ke drive PC. Klik tombol Luncurkan Mesin Virtual .

2.1.7.1. Simpan kunci pribadi (.pem)
Ketika Anda mengklik Pair Kunci Unduhan, Anda menyimpan kunci sebagai file .pem.
Untuk manajemen yang lebih baik, saya menetapkan nama wireguard-awskey.pem ke file.

2.1.8. Ringkasan Peluncuran Instance
Selanjutnya, Anda akan melihat pesan tentang peluncuran Instance yang telah Anda buat. Anda dapat mengunjungi daftar Mesin Virtual Anda dengan mengklik tombol Lihat Mesin Virtual.

2.2. Membuat alamat IP eksternal
2.2.1. Buat IP Eksternal
Berikutnya adalah pembuatan alamat IP eksternal, yang akan Anda gunakan untuk terhubung ke server VPN.
Temukan IP Elastis di kategori JARINGAN & KEAMANAN panel navigasi. Klik tombol Alokasikan alamat baru .

2.2.2. Penyiapan IP eksternal
Pada langkah selanjutnya Anda harus mengaktifkan kumpulan Amazon (yang secara default), dan klik tombol Alokasikan

2.2.3. Ikhtisar alamat IP
Jendela berikutnya menampilkan alamat IP eksternal yang ditetapkan oleh kumpulan Amazon. Tuliskan, karena Anda akan membutuhkannya untuk proses konfigurasi dan untuk pengaturan server VPN. Dalam panduan ini, sebagai contoh, saya menggunakan alamat IP 4.3.2.1 .
Setelah Anda menyelesaikan langkah ini, klik tombol Tutup .

2.2.4. Daftar alamat IP eksternal
Selanjutnya, Anda harus mendapatkan daftar alamat IP publik Anda (IP Elastik).

2.2.5. Tetapkan IP eksternal untuk Mesin Virtual
Pilih alamat IP dari daftar (lihat 2.2.3), dan klik tombol kanan mouse untuk menu drop-down.
Dalam menu ini pilih alamat Rekanan untuk menetapkan IP ke Mesin Virtual yang dibuat.

2.2.6. Kaitkan alamat dengan Instance
Pada menu drop-down pilih Instance yang dibuat, dan klik tombol Associate .

2.2.7. Ringkasan penetapan IP eksternal
Anda sekarang harus memiliki Mesin Virtual yang dibuat dengan alamat IP publik yang ditugaskan. Ini memungkinkan Anda untuk membuat koneksi jarak jauh ke Mesin Virtual dari luar (dari PC Anda) melalui SSH.

3. Hubungkan ke instance AWS
SSH adalah protokol aman untuk mengelola perangkat komputer jarak jauh.
3.1. Terhubung dari PC Windows melalui SSH
Unduh dan pasang Putty untuk membuat koneksi dari PC Windows.
3.1.1. Impor Kunci Pribadi untuk Putty
3.1.1.1. Impor kunci AWS ke Putty
Luncurkan utilitas PuTTYgen untuk mencocokkan kunci AWS Anda dalam format .pem dengan format .ppk yang sesuai untuk Putty.
Untuk melakukan ini pilih Konversi -> Kunci Impor dari menu atas.

Selanjutnya, pilih kunci yang Anda tangani di 2.1.7.1
Dalam kasus saya ini adalah wireguard-awskey.pem .

3.1.1.3. Atur parameter Impor kunci
Pada langkah ini, Anda perlu menentukan parameter impor Kunci - komentar kunci dan frasa sandi kunci . Anda akan membutuhkan ini di setiap koneksi. Juga melindungi kunci itu sendiri dengan kata sandi dari akses yang tidak sah.
Anda dapat melewati penugasan kata sandi. Tetapi ini akan membuat koneksi Anda kurang aman jika kuncinya jatuh ke tangan yang salah.
Setelah Anda selesai, klik tombol Save private key .

3.1.1.4. Simpan kunci .ppk yang diimpor
Anda dapat menyimpan kunci pribadi Anda dalam format .ppk
yang cocok untuk Putty dari kotak dialog simpan file.
Tentukan nama kunci (dalam kasus saya, wireguard-awskey.ppk
) dan klik tombol Simpan .

3.1.2.1. Buat koneksi
Jalankan program Putty, pilih kategori Sesi (terbuka secara default) dan di bidang Nama Host masukkan alamat IP publik dari server. Saya mengingatkan bahwa Anda mendapatkan alamat IP publik Anda di langkah 2.2.3 .
Berikan nama apa pun untuk koneksi di bidang Sesi Tersimpan (bagi saya itu adalah wireguard-aws-london
). Klik tombol Simpan .

3.1.2.2. Tetapkan login otomatis pengguna
Pilih subkategori Data dari kategori Koneksi . Masukkan nama pengguna Login otomatis ubuntu di bidang Nama pengguna login otomatis . ( ubuntu adalah pengguna instance standar pada AWS dengan Ubuntu).

3.1.2.3. Gunakan kunci pribadi untuk koneksi SSH
Ikuti jalur Connection -> SSH -> Auth subkategori dan klik tombol Browse untuk memilih file kunci pribadi.

3.1.2.4. Buka file kunci pribadi
Tentukan kunci yang Anda impor sebelumnya pada langkah 3.1.1.4 - wireguard-awskey.ppk
, dan klik tombol Open .

3.1.2.5. Simpan perubahan dan luncurkan koneksi jarak jauh SSH
Dalam kategori Sesi jendela konfigurasi Putty tekan tombol Simpan untuk menerapkan semua perubahan yang Anda buat ( 3.1.2.2 - 3.1.2.4 ).
Klik tombol Open untuk meluncurkan koneksi jarak jauh SSH siap-pergi.

3.1.2.7. Tetapkan kepercayaan di antara tuan rumah
Pada koneksi pertama, Anda harus mendapatkan peringatan tentang kurangnya kepercayaan antara dua komputer (host). Sistem menanyakan apakah Anda mempercayai host jarak jauh. Klik Ya untuk menambahkan host jarak jauh ke daftar kepercayaan.

3.1.2.8. Masukkan kata sandi untuk mengaktifkan kunci
Di jendela terminal Putty masukkan kata sandi utama yang Anda atur pada langkah
3.1.1.3 . Saat memasukkan kata sandi itu tidak menunjukkan tindakan apa pun di layar. Jangan khawatir, jika Anda melakukan kesalahan, Anda dapat menggunakan tombol backspace.

3.1.2.9. Koneksi yang berhasil
Setelah Anda memasukkan kata sandi yang benar, Anda akan mendapatkan teks sambutan. Ini memberi tahu Anda bahwa sistem jarak jauh siap untuk menjalankan perintah Anda.

Di bawah ini adalah instruksi untuk instalasi dan manajemen Wireguard yang digerakkan oleh skrip.
Saya menyimpan versi terbaru dari instruksi di repositori: https://github.com/isystem-io/wireguard-aws
4.1. Instal wireguard
Masukkan perintah berikut di terminal Putty.
Anda dapat menyalinnya ke clipboard, dan menempel di terminal dengan menekan tombol mouse kanan.
4.1.1. Kloning repositori skrip
Mengkloning repositori skrip instalasi Wireguard:
git clone https://github.com/pprometey/wireguard_aws.git wireguard_aws
4.1.2. Direktori penyimpanan skrip
Pergi ke direktori repositori hasil kloning:
cd wireguard_aws
4.1.3 Skrip inisialisasi
Jalankan skrip instalasi Wireguard di bawah hak admin (pengguna root):
sudo ./initial.sh
Skrip meminta Anda untuk memberikan data berikut untuk mengonfigurasi Wireguard.
4.1.3.1. Setel titik akhir koneksi (IP: port)
Masukkan alamat IP eksternal (lihat 2.2.3 ) dan port terbuka (lihat 2.1.5 ) dari server Wireguard. Gunakan format IP berikut : port , misalnya, 4.3.2.1:54321
. Tekan tombol Enter untuk konfirmasi.
Enter the endpoint (external ip and port) in format[ipv4:port] (eg 4.3.2.1:54321): 4.3.2.1:54321
4.1.3.2. Tetapkan alamat IP internal
Masukkan alamat IP server Wireguard di subnet VPN yang aman. Jika Anda tidak tahu apa itu, tekan tombol Enter untuk menetapkan nilai default ( 10.50.0.1
).
Enter the server address in the VPN subnet (CIDR format) ([ENTER] set to default: 10.50.0.1):
4.1.3.3. Tentukan Server DNS
Masukkan alamat IP server DNS, atau tekan tombol Enter untuk menetapkan nilai default 1.1.1.1
(Cloudflare public DNS).
Enter the ip address of the server DNS (CIDR format) ([ENTER] set to default: 1.1.1.1):
4.1.3.4. Tentukan Antarmuka WAN
Masukkan nama antarmuka jaringan eksternal. Antarmuka ini akan merasakan antarmuka jaringan internal VPN.
Tekan Enter untuk mengatur default untuk AWS ( eth0
)
Enter the name of the WAN network interface ([ENTER] set to default: eth0):
4.1.3.5. Tentukan nama pelanggan
Server Wireguard VPN tidak dapat memulai sampai Anda menambahkan setidaknya satu klien. Masukkan nama pengguna VPN.
Dalam kasus saya, saya memasukkan nama Alex @ mobil.
Enter VPN user name: Alex@mobile
Setelah itu, Anda harus menerima kode QR untuk konfigurasi klien yang ditambahkan. QR ini menerapkan konfigurasi pengguna untuk klien seluler Wireguard di Android atau iOS.
Teks dari file konfigurasi juga ditampilkan dengan QR. Anda akan membutuhkan dalam hal konfigurasi manual klien seperti yang dibahas di bawah ini.

4.2. Tambahkan pengguna VPN baru
Untuk menambah pengguna baru, Anda perlu menjalankan skrip add-client.sh
di terminal
sudo ./add-client.sh
Script meminta nama pengguna:
Enter VPN user name:
Nama pengguna dapat digunakan sebagai parameter skrip (dalam kasus saya, nama pengguna adalah Alex @ mobile):
sudo ./add-client.sh Alex@mobile
Eksekusi skrip mengarah ke pembuatan file konfigurasi klien di direktori klien.
File konfigurasi klien: /etc/wireguard/clients/{ClientName}/{ClientName}.conf
.
Direktori klien:
/etc/wireguard/clients/{ClientName}
4.2.1. File konfigurasi pengguna
Jalankan perintah cat untuk mendapatkan konten file .conf
untuk konfigurasi manual klien.
sudo cat/etc/wireguard/clients/Alex@mobile/Alex@mobile.conf
hasil eksekusi perintah sebagai berikut:
[Interface] PrivateKey = oDMWr0toPVCvgKt5oncLLRfHRit + jbzT5cshNUi8zlM = Address = 10.50.0.2/32 DNS = 1.1.1.1 [Peer] PublicKey = mLnd + mul15U0EP6jCH5MRhIAjsfKYuIU / j5ml8Z2SEk = PresharedKey = wjXdcf8CG29Scmnl5D97N46PhVn1jecioaXjdvrEkAc = AllowedIPs = 0.0.0.0/0, :: / 0 Endpoint = 4.3.2.1:54321
deskripsi file konfigurasi klien:
[Interface] PrivateKey = Client's private key Address = Client IP Address DNS = DNS used by the client [Peer] PublicKey = Public key server PresharedKey = Shared server and client key AllowedIPs = Allowed addresses for connection (all - 0.0.0.0/0, :: / 0) Endpoint = IP address and port for connection
4.2.2. Konfigurasi klien dengan kode QR
Jalankan perintah qrencode -t ansiutf8
untuk mendapatkan QR dari konfigurasi klien yang dibuat. (dalam kasus saya, nama klien baru adalah Alex @ ponsel).
sudo cat /etc/wireguard/clients/Alex@mobile/Alex@mobile.conf | qrencode -t ansiutf8
5.1. Penyiapan klien seluler Android
Unduh klien seluler Wireguard untuk Android dari toko GooglePlay resmi .
Pindai kode QR untuk mengimpor konfigurasi klien (lihat 4.2.2 ) dan berikan nama.

Setelah mengimpor konfigurasi, Anda dapat mengaktifkan terowongan VPN. Simbol kunci kecil di sistem Android menegaskan koneksi VPN.

5.2. Pengaturan Klien Windows
Unduh dan instal TunSafe , yang merupakan klien Wireguard untuk Windows.
5.2.1. Buat file teks lokal untuk mengimpor konfigurasi
Buat file teks dummy di desktop PC Anda.

5.2.2. Salin file konfigurasi dari server
Salin konten file konfigurasi dari server.
Kemudian, kembali ke terminal Putty dan tampilkan konten file konfigurasi pengguna (lihat 4.2.1 ).
Gunakan klik kanan mouse untuk menyalin teks konfigurasi di terminal Putty.

5.2.3. Rekatkan teks konfigurasi ke file teks lokal
Rekatkan teks konfigurasi dari clipboard ke file teks dummy yang kami buat sebelumnya di desktop (lihat 5.2.1 ).

5.2.4. Simpan file konfigurasi lokal
Simpan file teks sebagai format london.conf
(dalam kasus saya sebagai london.conf
)

5.2.5. Impor file konfigurasi lokal
Impor file konfigurasi ke program TunSafe.

5.2.6. Buat koneksi VPN
Dalam program TunSafe pilih file konfigurasi yang diimpor dan klik tombol Connect .

6. Verifikasi koneksi VPN
Gunakan https://2ip.ua/en/ sumber daya untuk memverifikasi koneksi terowongan VPN. Jika alamat IP yang ditampilkan cocok dengan yang kami dapatkan di 2.2.3 , maka terowongan VPN sudah aktif.

Di terminal Linux, Anda dapat memeriksa alamat IP Anda dengan menjalankan perintah berikut:
curl http://zx2c4.com/ip