Layanan VPN Wireguard Gratis di AWS

Untuk apa?


Dengan meningkatnya penyensoran Internet oleh rezim otoriter, semakin banyak sumber daya dan situs Internet yang bermanfaat diblokir. Termasuk informasi teknis.
Dengan demikian, menjadi tidak mungkin untuk menggunakan Internet sepenuhnya dan hak mendasar untuk kebebasan berbicara yang diabadikan dalam Deklarasi Universal Hak Asasi Manusia dilanggar.


Bagian 19
Setiap orang berhak atas kebebasan berpendapat dan berekspresi; hak ini termasuk kebebasan untuk berpegang teguh pada keyakinan dan kebebasan seseorang untuk mencari, menerima dan menyebarkan informasi dan ide dengan cara apa pun dan tanpa memandang batas negara

Dalam panduan ini, dalam 6 langkah kami akan menggunakan layanan VPN * gratis kami sendiri berdasarkan teknologi Wireguard , di infrastruktur cloud Amazon Web Services (AWS), menggunakan akun gratis (selama 12 bulan), dengan instance (mesin virtual) yang menjalankan Ubuntu Server 18.04 LTS .


Saya mencoba membuat langkah-langkah ini senyaman mungkin kepada orang-orang yang jauh dari IT. Satu-satunya hal yang diperlukan adalah ketekunan dalam mengulangi langkah-langkah yang dijelaskan di bawah ini.


Catatan


Tahapan


  1. Pendaftaran Akun Gratis AWS
  2. Buat AWS Instance
  3. Terhubung ke Instance AWS
  4. Mengkonfigurasi Wireguard
  5. Mengkonfigurasi Klien VPN
  6. Verifikasi pemasangan VPN

Tautan yang bermanfaat



1. Pendaftaran Akun AWS


Untuk mendaftarkan akun AWS gratis, Anda memerlukan nomor telepon nyata dan kartu kredit Visa atau Mastercard yang dapat dibayarkan. Saya sarankan menggunakan kartu virtual yang disediakan Yandex.Money atau Qiwi wallet secara gratis. Untuk memeriksa validitas kartu, $ 1 dikurangi selama pendaftaran, yang kemudian dikembalikan.


1.1. Membuka Konsol Manajemen AWS


Anda harus membuka browser dan pergi ke: https://aws.amazon.com/en/
Klik pada tombol "Daftar"


AWS Amazon Start Page


1.2. Mengisi data pribadi


Isi data dan klik tombol "Lanjutkan"


Pendaftaran Akun AWS Amazon


1.3. Mengisi detail kontak


Isi rincian kontak.


Informasi Kontak Akun AWS Amazon


1.4. Indikasi informasi penagihan.


Nomor kartu, tanggal kedaluwarsa, dan nama pemegang kartu.


Berikan informasi penagihan saat mendaftarkan akun Amazon AWS


1.5. Verifikasi Akun


Pada tahap ini, nomor telepon dikonfirmasi dan $ 1 langsung didebit dari kartu pembayaran. Kode 4 digit ditampilkan di layar komputer, dan panggilan diterima dari Amazon di telepon yang ditentukan. Selama panggilan, Anda harus memutar kode yang ditampilkan di layar.


Verifikasi Akun Amazon AWS


1.6. Pilihan paket tarif.


Pilih - Paket dasar (gratis)


Paket Pilihan Amazon AWS


1.7. Masuk ke konsol manajemen


Memasuki Konsol Manajemen AWS Amazon


1.8. Memilih lokasi pusat data


Konsol Manajemen AWS Amazon


1.8.1. Tes kecepatan


Sebelum memilih pusat data, disarankan untuk menguji melalui https://speedtest.net kecepatan akses ke pusat data terdekat, di lokasi saya hasil berikut:


  • Singapura
    Singapura
  • Paris
    Paris
  • Frankfurt
    Frankfurt
  • Stockholm
    Stockholm
  • London
    London

Hasil kecepatan terbaik ditunjukkan oleh pusat data di London. Karena itu, saya memilihnya untuk penyesuaian lebih lanjut.


2. Membuat Instance AWS


2.1 Membuat mesin virtual (contoh)


2.1.0 Meluncurkan Panduan Membuat Instans


2.1.0.1. Pergi ke halaman peluncuran contoh


Pergi ke halaman peluncuran contoh


2.1.0.2. Meluncurkan Panduan Membuat Instans


Meluncurkan Panduan Membuat Instans


2.1.0.3. Memilih Jenis Sistem Operasi Instance


Memilih jenis sistem operasi


2.1.1. Pilih Jenis Instance


Secara default, instance t2.micro dipilih, kita membutuhkannya, cukup klik tombol Berikutnya: Konfigurasikan Detance Instance


Pilih Jenis Instance


2.1.2. Konfigurasikan Parameter Instance


Di masa depan, kami akan menghubungkan IP publik permanen ke instance kami, jadi pada tahap ini kami mematikan penugasan otomatis IP publik, dan klik Next: Add Storage


Konfigurasikan Parameter Instance


2.1.3. Koneksi penyimpanan


Tentukan ukuran "hard disk". 16 gigabyte sudah cukup untuk keperluan kita, dan klik tombol Next: Add Tags


Koneksi penyimpanan


2.1.4. Kustomisasi tag


Jika kami membuat beberapa contoh, maka mereka dapat dikelompokkan berdasarkan tag, untuk memudahkan administrasi. Dalam hal ini, fungsi ini berlebihan, segera klik tombol Berikutnya: Konfigurasikan Gorup Keamanan


Kustomisasi tag


2.1.5. Pembukaan Pelabuhan


Pada titik ini, kami mengkonfigurasi firewall dengan membuka port yang diperlukan. Set port terbuka disebut Kelompok Keamanan. Kita perlu membuat grup keamanan baru, berikan nama, deskripsi, tambahkan port UDP (Aturan UDP Kustom), di bidang Rort Range Anda perlu menetapkan nomor port dari kisaran port dinamis 49152-65535. Dalam hal ini, saya memilih nomor port 54321.


Pembukaan Pelabuhan


Setelah mengisi data yang diperlukan, klik tombol Tinjau dan Luncurkan


2.1.6. Gambaran umum dari semua pengaturan instance


Pada halaman ini ada ikhtisar semua pengaturan instance kami, periksa apakah semua pengaturan sudah beres, dan klik tombol Buka


Gambaran umum dari semua pengaturan instance


2.1.7. Buat Passkey


Berikutnya adalah kotak dialog yang menawarkan untuk membuat atau menambahkan kunci SSH yang ada, yang nantinya akan kita hubungkan dengan instance kita dari jarak jauh. Kami memilih opsi "Buat pasangan kunci baru" untuk membuat kunci baru. Tetapkan namanya, dan klik tombol Unduh Pasangan Kunci untuk mengunduh kunci yang dibuat. Simpan di tempat yang aman di disk komputer lokal. Setelah diunduh - klik tombol Luncurkan Mesin Virtual


Buat Passkey


2.1.7.1. Menyimpan Passkeys


Di sini diperlihatkan langkah menyimpan kunci yang dibuat dari langkah sebelumnya. Setelah kami mengeklik tombol Pasang Pasangan Kunci , kunci disimpan sebagai file sertifikat dengan ekstensi * .pem. Dalam hal ini, saya memberinya nama wireguard-awskey.pem


Menyimpan Passkeys


2.1.8. Ikhtisar Hasil Pembuatan Instance


Selanjutnya, kita melihat pesan tentang keberhasilan peluncuran instance yang baru saja kita buat. Kita dapat pergi ke daftar instance kami dengan mengklik tombol Lihat instance


Ikhtisar Hasil Pembuatan Instance


2.2. Membuat Alamat IP Eksternal


2.2.1. Mulai buat IP eksternal


Selanjutnya, kita perlu membuat alamat IP eksternal permanen yang melaluinya kita akan terhubung ke server VPN kita. Untuk melakukan ini, di panel navigasi di sisi kiri layar, pilih item Elastic IPs dari kategori NETWORK & SECTURITY dan klik tombol Allocate new address


Mulai buat IP eksternal


2.2.2. Konfigurasikan pembuatan IP eksternal


Pada langkah berikutnya, kita memerlukan opsi Amazon pool untuk diaktifkan (diaktifkan secara default), dan klik tombol Alokasikan


Konfigurasikan pembuatan IP eksternal


2.2.3. Ikhtisar hasil pembuatan alamat IP eksternal


Layar selanjutnya akan menampilkan alamat IP eksternal yang kami terima. Dianjurkan untuk mengingatnya, dan bahkan lebih baik untuk menuliskannya. itu akan berguna lagi dan lagi dalam proses pengaturan lebih lanjut dan menggunakan server VPN. Dalam panduan ini, saya menggunakan alamat IP 4.3.2.1 sebagai contoh. Cara menulis alamat, klik tombol Tutup


Ikhtisar hasil pembuatan alamat IP eksternal


2.2.4. Daftar alamat IP eksternal


Selanjutnya, kami membuka daftar alamat IP publik permanen kami (elastics IP).


Daftar alamat IP eksternal


2.2.5. Menetapkan Mesin Virtual IP Eksternal


Dalam daftar ini, kami memilih alamat IP yang kami terima dan tekan tombol kanan mouse untuk memunculkan menu drop-down. Di dalamnya, pilih item alamat Associate untuk menetapkannya ke instance yang dibuat sebelumnya.


Menetapkan Mesin Virtual IP Eksternal


2.2.6. Konfigurasikan Penugasan IP Eksternal


Pada langkah berikutnya, pilih instance kami dari daftar drop-down, dan klik tombol Associate


Konfigurasikan Penugasan IP Eksternal


2.2.7. Tinjauan Umum Hasil Penugasan IP Eksternal


Setelah itu, kita bisa melihat contoh kita dan alamat IP privatnya terikat dengan alamat IP publik permanen kita.


Tinjauan Umum Hasil Penugasan IP Eksternal


Sekarang kita dapat terhubung ke instance yang baru kita buat dari luar, dari komputer kita melalui SSH.


3. Hubungkan ke Mesin Virtual AWS


SSH adalah protokol aman untuk mengendalikan perangkat komputer dari jarak jauh.


3.1. Koneksi SSH dari komputer Windows


Untuk terhubung ke komputer Windows, Anda harus terlebih dahulu mengunduh dan menginstal program Putty .


3.1.1. Impor kunci pribadi untuk Putty


3.1.1.1. Setelah memasang Putty, Anda harus menjalankan utilitas PuTTYgen yang menyertainya untuk mengimpor kunci sertifikat dalam format PEM ke dalam format yang cocok untuk digunakan dalam Putty. Untuk melakukan ini, pilih Konversi-> Kunci Impor di menu atas


Impor kunci pribadi untuk Putty


3.1.1.2. Pilih kunci AWS dalam format PEM


Selanjutnya, pilih kunci yang sebelumnya kita simpan di langkah 2.1.7.1, dalam kasus kami, namanya adalah wireguard-awskey.pem


Pilih kunci AWS dalam format PEM


3.1.1.3. Mengatur opsi impor kunci


Pada langkah ini, kita perlu menentukan komentar untuk kunci ini (deskripsi) dan mengatur kata sandi dan konfirmasi untuk keamanan. Ini akan diminta setiap kali Anda terhubung. Dengan demikian, kami melindungi kunci dengan kata sandi dari penggunaan yang tidak pantas. Anda tidak dapat menetapkan kata sandi, tetapi kurang aman jika kunci jatuh ke tangan yang salah. Setelah kami klik tombol Simpan kunci pribadi


Mengatur opsi impor kunci


3.1.1.4. Menyimpan Kunci yang Diimpor


Kotak dialog simpan file terbuka, dan kami menyimpan kunci pribadi kami sebagai file dengan ekstensi .ppk , cocok untuk digunakan dalam Putty .
Tentukan nama kunci (dalam kasus kami wireguard-awskey.ppk ) dan klik tombol Simpan .


Menyimpan Kunci yang Diimpor


3.1.2. Membuat dan mengonfigurasi koneksi di Putty


3.1.2.1. Buat koneksi


Buka program Putty, pilih kategori Sesi (terbuka secara default) dan masukkan alamat IP publik server kami di bidang Nama Host , yang kami terima di langkah 2.2.3. Di bidang Sesi Tersimpan , masukkan nama arbitrer untuk koneksi kami (dalam kasus saya wireguard-aws-london ), lalu klik tombol Simpan untuk menyimpan perubahan yang kami buat.


Buat koneksi


3.1.2.2. Pengaturan autologin pengguna


Lebih jauh dalam kategori Koneksi , pilih subkategori Data dan di bidang Nama pengguna masuk otomatis masukkan nama pengguna ubuntu - ini adalah contoh pengguna AWS standar dengan Ubuntu.


Pengaturan autologin pengguna


3.1.2.3. Memilih kunci pribadi untuk koneksi SSH


Kemudian kita pergi ke subkategori Connection / SSH / Auth dan di sebelah file kunci pribadi untuk bidang otentikasi , klik tombol Browse ... untuk memilih file dengan sertifikat kunci.


Memilih kunci pribadi untuk koneksi SSH


3.1.2.4. Membuka kunci yang diimpor


Kami menunjukkan kunci yang kami impor sebelumnya pada langkah 3.1.1.4, dalam kasus kami ini adalah file wireguard-awskey.ppk , dan klik tombol Open .


Membuka kunci yang diimpor


3.1.2.5. Menyimpan pengaturan dan memulai koneksi


Kembali ke halaman kategori Sesi , klik tombol Simpan lagi untuk menyimpan perubahan yang kami buat sebelumnya pada langkah sebelumnya (3.1.2.2 - 3.1.2.4). Dan kemudian kita tekan tombol Open untuk membuka koneksi SSH jarak jauh yang kita buat dan konfigurasi.


Menyimpan pengaturan dan memulai koneksi


3.1.2.7. Mengkonfigurasi kepercayaan antar host


Pada langkah berikutnya, saat pertama kali Anda mencoba terhubung, kami mendapat peringatan, kami belum mengonfigurasi kepercayaan antara kedua komputer, dan menanyakan apakah harus memercayai komputer jarak jauh. Kami mengklik Ya , sehingga menambahkannya ke daftar host tepercaya.


Mengkonfigurasi kepercayaan antar host


3.1.2.8. Masukkan kata sandi untuk mengakses kunci


Setelah itu, jendela terminal terbuka, di mana kata sandi untuk kunci diminta, jika Anda menginstalnya lebih awal pada langkah 3.1.1.3. Saat memasukkan kata sandi, tidak ada tindakan di layar yang terjadi. Jika Anda melakukan kesalahan, Anda dapat menggunakan tombol Backspace .


Masukkan kata sandi untuk mengakses kunci


3.1.2.9. Pesan selamat datang pada koneksi yang berhasil


Setelah berhasil memasukkan kata sandi, teks sambutan ditampilkan di terminal yang memberi tahu kami bahwa sistem jarak jauh siap untuk menjalankan perintah kami.


Pesan selamat datang pada koneksi yang berhasil


4. Mengkonfigurasi Server Wireguard


Instruksi terkini untuk menginstal dan menggunakan Wireguard menggunakan skrip yang dijelaskan di bawah ini dapat ditemukan di repositori: https://github.com/isystem-io/wireguard-aws


4.1. Instal Wireguard


Di terminal, masukkan perintah berikut (Anda dapat menyalin ke clipboard, dan menempel di terminal dengan mengklik kanan):


4.1.1. Kloning Repositori


Kami mengkloning repositori dengan skrip instalasi Wireguard


 git clone https://github.com/pprometey/wireguard_aws.git wireguard_aws 

4.1.2. Pergi ke direktori skrip


Pergi ke direktori dengan repositori hasil kloning


 cd wireguard_aws 

4.1.3 Menjalankan skrip inisialisasi


Jalankan skrip instalasi Wireguard sebagai administrator (pengguna root)


 sudo ./initial.sh 

Selama instalasi, Anda akan diminta untuk data tertentu yang diperlukan untuk mengkonfigurasi Wireguard


4.1.3.1. Masukkan Titik Koneksi


Masukkan alamat IP eksternal dan buka port server Wireguard. Kami mendapat alamat IP eksternal dari server di langkah 2.2.3, dan membuka port di langkah 2.1.5. Kami menentukan mereka bersama-sama, 4.3.2.1:54321 titik dua, misalnya 4.3.2.1:54321 , dan setelah itu tekan Enter
Contoh Keluaran:


 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. Masukkan Alamat IP Internal


Masukkan alamat IP server Wireguard di subnet VPN yang aman, jika Anda tidak tahu apa itu, cukup tekan Enter untuk menetapkan nilai default ( 10.50.0.1 )
Contoh Keluaran:


 Enter the server address in the VPN subnet (CIDR format) ([ENTER] set to default: 10.50.0.1): 

4.1.3.3. Menentukan Server DNS


Masukkan alamat IP server DNS, atau cukup tekan Enter untuk menetapkan nilai default ke 1.1.1.1 (Cloudflare public DNS)
Contoh Keluaran:


 Enter the ip address of the server DNS (CIDR format) ([ENTER] set to default: 1.1.1.1): 

4.1.3.4. Menentukan Antarmuka WAN


Selanjutnya, masukkan nama antarmuka jaringan eksternal yang akan mendengarkan antarmuka jaringan internal VPN. Cukup tekan Enter untuk menetapkan nilai default untuk AWS ( eth0 )
Contoh Keluaran:


 Enter the name of the WAN network interface ([ENTER] set to default: eth0): 

4.1.3.5. Nama Pelanggan


Masukkan nama pengguna VPN. Faktanya adalah bahwa server VPN Wireguard tidak akan dapat memulai sampai setidaknya satu klien telah ditambahkan. Dalam hal ini, saya memasukkan nama Alex@mobile
Contoh Keluaran:


 Enter VPN user name: Alex@mobile 

Setelah itu, kode QR harus ditampilkan di layar dengan konfigurasi klien yang baru ditambahkan, yang harus dibaca menggunakan klien seluler Wireguard di Android atau iOS untuk mengkonfigurasinya. Juga, teks dari file konfigurasi akan ditampilkan di bawah kode QR jika konfigurasi manual klien. Cara melakukan ini akan dijelaskan di bawah ini.


Instalasi Wireguard Lengkap


4.2. Menambahkan pengguna VPN baru


Untuk menambah pengguna baru, Anda harus menjalankan skrip add-client.sh di terminal


 sudo ./add-client.sh 

Script meminta nama pengguna:
Contoh Keluaran:


 Enter VPN user name: 

Selain itu, nama dapat dikirimkan kepada pengguna sebagai parameter skrip (dalam hal ini, Alex@mobile ):


 sudo ./add-client.sh Alex@mobile 

Sebagai hasil dari eksekusi skrip, dalam direktori dengan nama klien di sepanjang jalur /etc/wireguard/clients/{} , sebuah file akan dibuat dengan konfigurasi klien /etc/wireguard/clients/{} CustomerName►.conf, dan akan ditampilkan pada layar terminal Kode QR untuk mengatur klien seluler dan konten file konfigurasi.


4.2.1. File konfigurasi pengguna


Anda dapat menampilkan konten file .conf di layar, untuk konfigurasi klien secara manual, menggunakan cat


 sudo cat /etc/wireguard/clients/Alex@mobile/Alex@mobile.conf 

hasil eksekusi:


 [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 =    Address = IP   DNS =    [Peer] PublicKey =    PresharedKey =      AllowedIPs =     ( - 0.0.0.0/0, ::/0) Endpoint = IP      

4.2.2. Kode konfigurasi klien QR


Anda dapat menampilkan kode QR dari kode konfigurasi untuk klien yang sebelumnya dibuat pada layar terminal menggunakan perintah qrencode -t ansiutf8 (dalam contoh ini, klien yang bernama Alex @ mobile digunakan):


 sudo cat /etc/wireguard/clients/Alex@mobile/Alex@mobile.conf | qrencode -t ansiutf8 

5. Mengkonfigurasi Klien VPN


5.1. Pengaturan Klien Seluler Android


Klien Wireguard resmi untuk Android dapat diinstal dari toko GooglePlay resmi


Setelah itu, Anda perlu mengimpor konfigurasi dengan membaca kode QR dengan konfigurasi klien (lihat paragraf 4.2.2) dan beri nama:


Mengkonfigurasi Klien Android Wireguard


Setelah berhasil mengimpor konfigurasi, Anda dapat mengaktifkan terowongan VPN. Tentang koneksi yang berhasil akan mengatakan simpanan kunci di panel sistem Android


Menjalankan Klien Wireguard Android


5.2. Penyiapan klien Windows


Awalnya, Anda harus mengunduh dan menginstal TunSafe untuk Windows - ini adalah klien Wireguard untuk Windows.


5.2.1. Membuat file konfigurasi untuk impor


Klik kanan untuk membuat file teks pada desktop.


Buat file teks


5.2.2. Menyalin isi file konfigurasi dari server


Kemudian kita kembali ke terminal Putty dan menampilkan isi file konfigurasi dari pengguna yang diinginkan, seperti dijelaskan pada langkah 4.2.1.
Selanjutnya, pilih teks konfigurasi di terminal Putty dengan tombol kanan mouse, setelah selesai seleksi, secara otomatis akan disalin ke clipboard.


Salin teks dengan konfigurasi


5.2.3. Salin konfigurasi ke file konfigurasi lokal


Bidang ini kembali ke file teks yang kami buat sebelumnya di desktop dan menempelkan teks konfigurasi ke dalamnya dari clipboard.


Salin teks dengan konfigurasi


5.2.4. Menyimpan file konfigurasi lokal


Kami menyimpan file dengan ekstensi .conf (dalam hal ini, dengan nama london.conf )


Menyimpan file konfigurasi


5.2.5. Impor file konfigurasi lokal


Selanjutnya, Anda perlu mengimpor file konfigurasi ke program TunSafe.


Impor file konfigurasi ke TunSafe


5.2.6. Buat koneksi VPN


Pilih file konfigurasi ini dan hubungkan dengan mengklik tombol Connect .
Terhubung ke server VPN melalui TunSafe


6. Memeriksa koneksi sukses


Untuk memeriksa keberhasilan koneksi melalui terowongan VPN, Anda harus membuka browser dan membuka situs https://2ip.ua/ru/


Terhubung ke server VPN melalui TunSafe


Alamat IP yang ditampilkan harus sesuai dengan yang kami terima di langkah 2.2.3.
Jika demikian, maka terowongan VPN berfungsi dengan baik.


Dari terminal di Linux, Anda dapat memverifikasi alamat IP Anda dengan memasukkan perintah:


 curl http://zx2c4.com/ip 

Atau Anda bisa pergi ke hub porno jika Anda berada di Kazakhstan.

Source: https://habr.com/ru/post/id448528/


All Articles