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
- Pendaftaran Akun Gratis AWS
- Buat AWS Instance
- Terhubung ke Instance AWS
- Mengkonfigurasi Wireguard
- Mengkonfigurasi Klien VPN
- 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"

1.2. Mengisi data pribadi
Isi data dan klik tombol "Lanjutkan"

1.3. Mengisi detail kontak
Isi rincian kontak.

Nomor kartu, tanggal kedaluwarsa, dan nama pemegang kartu.

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.

1.6. Pilihan paket tarif.
Pilih - Paket dasar (gratis)

1.7. Masuk ke konsol manajemen

1.8. Memilih lokasi pusat data

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

- Paris

- Frankfurt

- Stockholm

- 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

2.1.0.2. Meluncurkan Panduan Membuat Instans

2.1.0.3. Memilih Jenis Sistem Operasi Instance

2.1.1. Pilih Jenis Instance
Secara default, instance t2.micro dipilih, kita membutuhkannya, cukup klik tombol Berikutnya: Konfigurasikan Detance 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

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

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

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.

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

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

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

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

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

2.2.2. Konfigurasikan pembuatan IP eksternal
Pada langkah berikutnya, kita memerlukan opsi Amazon pool untuk diaktifkan (diaktifkan secara default), dan klik tombol Alokasikan

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

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

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.

2.2.6. Konfigurasikan Penugasan IP Eksternal
Pada langkah berikutnya, pilih instance kami dari daftar drop-down, dan klik tombol Associate

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.

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

Selanjutnya, pilih kunci yang sebelumnya kita simpan di langkah 2.1.7.1, dalam kasus kami, namanya adalah wireguard-awskey.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

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 .

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.

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.

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.

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 .

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.

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.

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 .

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.

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.

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:

Setelah berhasil mengimpor konfigurasi, Anda dapat mengaktifkan terowongan VPN. Tentang koneksi yang berhasil akan mengatakan simpanan kunci di panel sistem 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.

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.

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.

5.2.4. Menyimpan file konfigurasi lokal
Kami menyimpan file dengan ekstensi .conf (dalam hal ini, dengan nama london.conf
)

5.2.5. Impor file konfigurasi lokal
Selanjutnya, Anda perlu mengimpor file konfigurasi ke program TunSafe.

5.2.6. Buat koneksi VPN
Pilih file konfigurasi ini dan hubungkan dengan mengklik tombol Connect .

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

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.