VPN memungkinkan Anda mengakses Internet dengan aman dan aman di jaringan Wi-Fi publik yang tidak tepercaya. Anda dapat terhubung ke server VPN jarak jauh menggunakan koneksi terenkripsi dan menjelajahi web secara anonim.
strongSwan gratis, open-source, dan implementasi jaringan pribadi virtual berbasis IPsec yang paling banyak digunakan, memungkinkan Anda membuat terowongan aman terenkripsi antara dua atau lebih jaringan jarak jauh.
strongSwan menggunakan protokol IKEv2, yang memungkinkan tunneling IPSec langsung antara server dan klien. strongSwan adalah singkatan dari Strong Secure WAN dan mendukung kedua versi pertukaran kunci otomatis di IPsec VPN, IKE V1 dan V2.
Dalam tutorial ini, kami akan menunjukkan cara menginstal dan mengkonfigurasi strongSwan VPN di Ubuntu 18.04.
Prasyarat
- VPS Ubuntu 18.04 baru di Platform Cloud Atlantic.Net.
- Kata sandi root yang dikonfigurasi di server Anda.
Langkah 1 – Buat Server Cloud Atlantic.Net
Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih Ubuntu 18.04 sebagai sistem operasi dengan setidaknya 1GB RAM. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.
Setelah Anda masuk ke server Ubuntu 18.04 Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.
apt-get update -y
Langkah 2 – Aktifkan Penerusan Paket Kernel
Pertama, Anda perlu mengonfigurasi kernel untuk mengaktifkan penerusan paket untuk IPv4. Anda dapat mengkonfigurasinya dengan mengedit file /etc/sysctl.conf:
nano /etc/sysctl.conf
Tambahkan baris berikut di akhir file:
net.ipv4.ip_forward = 1 net.ipv6.conf.all.forwarding = 1 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.all.send_redirects = 0
Simpan dan tutup file. Kemudian, jalankan perintah berikut untuk memuat ulang pengaturan:
sysctl -p
Langkah 3 – Instal strongSwan
Pertama, Anda perlu menginstal daemon strongSwan IPSec di sistem Anda. Anda dapat menginstalnya hanya dengan menjalankan perintah berikut:
apt-get install strongswan libcharon-extra-plugins strongswan-pki -y
Setelah penginstalan selesai, Anda dapat melanjutkan ke langkah berikutnya.
Langkah 4 – Menyiapkan Otoritas Sertifikat
Sekarang Anda perlu membuat sertifikat dan kunci server VPN untuk klien VPN guna memverifikasi keaslian server VPN.
Pertama, buat kunci pribadi untuk menandatangani sendiri sertifikat CA menggunakan utilitas PKI:
ipsec pki --gen --size 4096 --type rsa --outform pem > ca.key.pem
Selanjutnya, buat otoritas sertifikat root Anda dan gunakan kunci di atas untuk menandatangani sertifikat root:
ipsec pki --self --in ca.key.pem --type rsa --dn "CN=VPN Server CA" --ca --lifetime 3650 --outform pem > ca.cert.pem
Selanjutnya, Anda perlu membuat sertifikat dan kunci untuk server VPN agar klien dapat memverifikasi keaslian server menggunakan sertifikat CA yang baru saja kita buat.
Pertama, buat kunci pribadi untuk server VPN dengan perintah berikut:
ipsec pki --gen --size 4096 --type rsa --outform pem > server.key.pem
Selanjutnya, buat sertifikat server dengan menjalankan perintah berikut:
ipsec pki --pub --in server.key.pem --type rsa | ipsec pki --issue --lifetime 2750 --cacert ca.cert.pem --cakey ca.key.pem --dn "CN=vpn.example.com" --san="vpn.example.com" --flag serverAuth --flag ikeIntermediate --outform pem > server.cert.pem
Selanjutnya, Anda perlu menyalin sertifikat di atas di direktori sertifikat IPSec masing-masing seperti yang ditunjukkan di bawah ini:
mv ca.cert.pem /etc/ipsec.d/cacerts/ mv server.cert.pem /etc/ipsec.d/certs/ mv ca.key.pem /etc/ipsec.d/private/ mv server.key.pem /etc/ipsec.d/private/
Pada titik ini, Anda telah menyiapkan semua sertifikat, dan sekarang Anda dapat melanjutkan ke langkah berikutnya.
Langkah 5 – Konfigurasikan strongSwan
strongSwan memiliki file konfigurasi default yang terletak di /etc/ipsec.conf. Direkomendasikan untuk mengganti nama file konfigurasi default dan membuat file baru.
Untuk mengganti nama file konfigurasi default, jalankan perintah berikut:
mv /etc/ipsec.conf /etc/ipsec.conf.bak
Selanjutnya, buat file konfigurasi baru seperti gambar di bawah ini:
nano /etc/ipsec.conf
Tambahkan baris berikut:
config setup charondebug="ike 2, knl 2, cfg 2, net 2, esp 2, dmn 2, mgr 2" strictcrlpolicy=no uniqueids=yes cachecrls=no conn ipsec-ikev2-vpn auto=add compress=no type=tunnel # defines the type of connection, tunnel. keyexchange=ikev2 fragmentation=yes forceencaps=yes dpdaction=clear dpddelay=300s rekey=no left=%any [email protected] # if using IP, define it without the @ sign leftcert=server.cert.pem # reads the VPN server cert in /etc/ipsec.d/certs leftsendcert=always leftsubnet=0.0.0.0/0 right=%any rightid=%any rightauth=eap-mschapv2 rightsourceip=192.168.0.0/24 rightdns=8.8.8.8 DNS to be assigned to clients rightsendcert=never eap_identity=%identity # defines the identity the client uses to reply to an EAP Identity request.
Simpan dan tutup file setelah Anda selesai.
Di mana:
penyiapan konfigurasi : Menentukan informasi konfigurasi umum untuk IPSec yang berlaku untuk semua koneksi.
charondebug : Menentukan berapa banyak keluaran debug Charon yang harus dicatat.
leftid : Menentukan nama domain atau alamat IP server.
leftcert : Menentukan nama sertifikat server.
leftsubnet : Menentukan subnet pribadi di belakang peserta kiri.
rightsourceip : Kumpulan alamat IP yang akan ditetapkan ke klien.
rightdns : DNS untuk ditetapkan ke klien.
Langkah 6 – Konfigurasikan Otentikasi
Pada titik ini, server VPN Anda dikonfigurasi untuk menerima koneksi klien. Selanjutnya, Anda perlu mengonfigurasi kredensial autentikasi client-server untuk menentukan kunci privat RSA untuk autentikasi dan menyiapkan kredensial pengguna EAP.
nano /etc/ipsec.secrets
Tambahkan baris berikut:
: RSA "server.key.pem" .vpnsecure : EAP "your-secure-password"
Simpan dan tutup file. Kemudian, restart layanan strongSwan dan aktifkan untuk memulai saat reboot:
systemctl restart strongswan systemctl enable strongswan
Anda juga dapat memverifikasi status layanan strongSwan menggunakan perintah berikut:
systemctl status strongswan
Anda akan melihat output berikut:
• strongswan.service - strongSwan IPsec IKEv1/IKEv2 daemon using ipsec.conf Loaded: loaded (/lib/systemd/system/strongswan.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2020-05-08 08:02:08 UTC; 8s ago Main PID: 29947 (starter) Tasks: 18 (limit: 2359) CGroup: /system.slice/strongswan.service ├─29947 /usr/lib/ipsec/starter --daemon charon --nofork └─29973 /usr/lib/ipsec/charon --debug-ike 2 --debug-knl 2 --debug-cfg 2 --debug-net 2 --debug-esp 2 --debug-dmn 2 --debug-mgr 2 May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG] eap_identity=%identity May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG] dpddelay=300 May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG] dpdtimeout=150 May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG] dpdaction=1 May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG] sha256_96=no May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG] mediation=no May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG] keyexchange=ikev2 May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG] adding virtual IP address pool 192.168.0.0/24 May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG] loaded certificate "CN=vpn.example.com" from 'server.cert.pem' May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG] added configuration 'ipsec-ikev2-vpn'
Anda juga dapat memverifikasi sertifikat strongSwan menggunakan perintah berikut:
ipsec listcerts
Anda akan mendapatkan output berikut:
List of X.509 End Entity Certificates subject: "CN=vpn.example.com" issuer: "CN=VPN Server CA" validity: not before May 08 07:59:18 2020, ok not after Nov 18 07:59:18 2027, ok (expires in 2749 days) serial: 7b:f8:ab:dc:ca:64:dd:93 altNames: vpn.example.com flags: serverAuth ikeIntermediate authkeyId: 12:60:f6:05:15:80:91:61:d6:e9:8f:72:a3:a5:a5:ff:a7:38:1a:32 subjkeyId: bf:1d:b1:1b:51:a0:f7:63:33:e2:5f:4c:cb:73:4f:64:0f:b9:84:09 pubkey: RSA 4096 bits keyid: e4:72:d0:97:20:ec:a5:79:f2:e0:bf:aa:0e:41:a8:ec:67:06:de:ee subjkey: bf:1d:b1:1b:51:a0:f7:63:33:e2:5f:4c:cb:73:4f:64:0f:b9:84:09
Pada titik ini, server VPN StrongSwan Anda telah diinstal dan dikonfigurasi. Sekarang Anda dapat melanjutkan untuk menginstal dan mengonfigurasi klien VPN untuk menghubungkan server VPN.
Langkah 7 – Instal dan Konfigurasikan Klien strongSwan
Masuk ke sistem klien dan jalankan perintah berikut untuk menginstal paket klien strongSwan:
apt-get install strongswan libcharon-extra-plugins -y
Setelah terinstal, nonaktifkan layanan strongSwan untuk memulai saat boot:
systemctl disable strongswan
Selanjutnya, salin file ca.cert.pem dari server VPN ke klien VPN menggunakan perintah berikut:
scp [email protected]:/etc/ipsec.d/cacerts/ca.cert.pem /etc/ipsec.d/cacerts/
Selanjutnya, konfigurasikan otentikasi klien VPN dengan mengedit file /etc/ipsec.secrets:
nano /etc/ipsec.secrets
Tambahkan baris berikut:
vpnsecure : EAP "your-secure-password"
Simpan dan tutup file. Kemudian, edit file konfigurasi default strongSwan:
nano /etc/ipsec.conf
Tambahkan baris berikut:
conn ipsec-ikev2-vpn-client auto=start right=vpn.example.com rightid=vpn.example.com rightsubnet=0.0.0.0/0 rightauth=pubkey leftsourceip=%config leftid=vpnsecure leftauth=eap-mschapv2 eap_identity=%identity
Simpan dan tutup file. Kemudian, restart layanan strongSwan dengan perintah berikut:
systemctl restart strongswan
Di server strongSwan, periksa status koneksi VPN menggunakan perintah berikut:
ipsec status
Anda akan melihat bahwa IP 192.168.0.5 ditetapkan ke klien VPN:
Security Associations (1 up, 0 connecting): ipsec-ikev2-vpn-client[1]: ESTABLISHED 1 minutes ago, [vpnsecure]...192.168.0.1[vpn.example.com] ipsec-ikev2-vpn-client{1}: INSTALLED, TUNNEL, reqid 1, ESP in UDP SPIs: 74ab87d0db9ea3d5_i 684cb0dbe4d1a70d_r ipsec-ikev2-vpn-client{1}: 192.168.0.5/32 === 0.0.0.0/0
Kesimpulan
Selamat! Anda telah berhasil menginstal dan mengonfigurasi Server dan Klien VPN strongSwan di Ubuntu 18.04. Anda sekarang dengan aman melintasi internet untuk melindungi identitas, lokasi, dan lalu lintas Anda dari pengintai dan sensor – mulai server Ubuntu yang dihosting VPS Anda dari Atlantic.Net hari ini!
Pelajari lebih lanjut tentang layanan hosting VPS dan server pribadi Virtual kami.