
Jaringan pribadi virtual digunakan untuk membuat jaringan pribadi dari koneksi internet publik untuk melindungi identitas Anda. VPN menggunakan terowongan terenkripsi untuk mengirim dan menerima data dengan aman.
strongSwan adalah salah satu perangkat lunak VPN paling terkenal yang mendukung berbagai sistem operasi termasuk, Linux, OS X, FreeBSD, Windows, Android, dan iOS. Ini menggunakan protokol IKEv1 dan IKEv2 untuk pembuatan koneksi yang aman. Anda dapat memperluas fungsinya dengan plugin bawaan.
Dalam tutorial ini, kami akan menjelaskan petunjuk langkah demi langkah tentang cara mengatur Server VPN KEv2 dengan StrongSwan di Ubuntu 20.04.
Prasyarat
• Dua sistem yang menjalankan server Ubuntu 20.04
• Kata sandi root dikonfigurasi di kedua server
Instal StrongSwan
Secara default, StrongSwan tersedia di repositori default Ubuntu 20.04. Anda dapat menginstalnya dengan komponen lain yang diperlukan menggunakan perintah berikut:
apt-get install strongswan strongswan-pki libcharon-extra-plugins libcharon-extauth-plugins libstrongswan-extra-plugins -y
Setelah menginstal semua paket, Anda dapat melanjutkan untuk membuat sertifikat CA.
Buat Sertifikat untuk Server VPN
Selanjutnya, Anda perlu membuat sertifikat dan kunci untuk server VPN untuk memverifikasi keaslian server di sisi klien.
Pertama, buat kunci pribadi untuk root CA dengan perintah berikut:
ipsec pki --gen --size 4096 --type rsa --outform pem > /etc/ipsec.d/private/ca.key.pem
Selanjutnya, buat CA root dan tanda tangani menggunakan kunci di atas:
ipsec pki --self --in /etc/ipsec.d/private/ca.key.pem --type rsa --dn "CN=My VPN Server CA" --ca --lifetime 3650 --outform pem > /etc/ipsec.d/cacerts/ca.cert.pem
Selanjutnya, buat kunci pribadi untuk server VPN menggunakan perintah berikut:
ipsec pki --gen --size 4096 --type rsa --outform pem > /etc/ipsec.d/private/server.key.pem
Terakhir, buat sertifikat server menggunakan perintah berikut:
ipsec pki --pub --in /etc/ipsec.d/private/server.key.pem --type rsa | ipsec pki --issue --lifetime 2750 --cacert /etc/ipsec.d/cacerts/ca.cert.pem --cakey /etc/ipsec.d/private/ca.key.pem --dn "CN=vpn.domain.com" --san="vpn.domain.com" --flag serverAuth --flag ikeIntermediate --outform pem > /etc/ipsec.d/certs/server.cert.pem
Pada titik ini, semua sertifikat siap untuk server VPN.
Konfigurasikan VPN StrongSwan
File konfigurasi default strongswan adalah /etc/ipsec.conf. Kami dapat mencadangkan file konfigurasi utama dan membuat file baru:
mv /etc/ipsec.conf /etc/ipsec.conf-bak
Selanjutnya, buat file konfigurasi baru:
nano /etc/ipsec.conf
Tambahkan pengaturan konfigurasi dan koneksi 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
keyexchange=ikev2
fragmentation=yes
forceencaps=yes
dpdaction=clear
dpddelay=300s
rekey=no
left=%any
[email protected]
leftcert=server.cert.pem
leftsendcert=always
leftsubnet=0.0.0.0/0
right=%any
rightid=%any
rightauth=eap-mschapv2
rightsourceip=10.10.10.0/24
rightdns=8.8.8.8
rightsendcert=never
eap_identity=%identity
Simpan dan tutup file /etc/ipsec.conf.
Selanjutnya, Anda perlu menentukan kredensial pengguna EAP dan kunci privat RSA untuk autentikasi.
Anda dapat mengaturnya dengan mengedit file /etc/ipsec.secrets:
nano /etc/ipsec.secrets
Tambahkan baris berikut:
: RSA "server.key.pem"
vpnsecure : EAP "password"
Kemudian restart layanan StrongSwan sebagai berikut:
systemctl restart strongswan-starter
Untuk mengaktifkan StrongSwan untuk memulai boot sistem, ketik:
systemctl enable strongswan-starter
Verifikasi status server VPN, ketik:
systemctl status strongswan-starter
Aktifkan Penerusan Paket Kernel
Selanjutnya, Anda perlu mengkonfigurasi kernel untuk mengaktifkan penerusan paket dengan mengedit file /etc/sysctl.conf:
nano /etc/sysctl.conf
Batalkan komentar pada baris berikut:
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 muat ulang pengaturan baru menggunakan perintah berikut:
sysctl -p
Instal dan Konfigurasi Klien StrongSwan
Di bagian ini, kita akan menginstal klien StrongSwan pada mesin jarak jauh dan menghubungkan ke server VPN.
Pertama, instal semua paket yang diperlukan dengan perintah berikut:
apt-get install strongswan libcharon-extra-plugins -y
Setelah semua paket terinstal, hentikan layanan StrongSwan dengan perintah berikut:
systemctl stop strongswan-starter
Selanjutnya, Anda perlu menyalin file ca.cert.pem dari server VPN ke direktori /etc/ipsec.d/cacerts/. Anda dapat menyalinnya menggunakan perintah SCP seperti yang ditunjukkan di bawah ini:
scp [email protected]:/etc/ipsec.d/cacerts/ca.cert.pem /etc/ipsec.d/cacerts/
Untuk mengatur otentikasi klien VPN, gunakan file /etc/ipsec.secrets:
nano /etc/ipsec.secrets
Tambahkan baris berikut:
vpnsecure : EAP "password"
Kemudian edit file konfigurasi utama strongSwan:
nano /etc/ipsec.conf
Tambahkan baris berikut yang sesuai dengan domain Anda, kata sandi yang telah Anda tentukan di file /etc/ipsec.secrets.
conn ipsec-ikev2-vpn-client
auto=start
right=vpn.domain.com
rightid=vpn.domain.com
rightsubnet=0.0.0.0/0
rightauth=pubkey
leftsourceip=%config
leftid=vpnsecure
leftauth=eap-mschapv2
eap_identity=%identity
Sekarang mulai layanan VPN StrongSwan menggunakan perintah berikut:
systemctl start strongswan-starter
Selanjutnya, verifikasi status koneksi VPN menggunakan perintah berikut:
ipsec status
Anda akan mendapatkan output berikut:
Security Associations (1 up, 0 connecting):
ipsec-ikev2-vpn-client[1]: ESTABLISHED 28 seconds ago, 104.245.32.158[vpnsecure]...104.245.33.84[vpn.domain.com]
ipsec-ikev2-vpn-client{1}: INSTALLED, TUNNEL, reqid 1, ESP in UDP SPIs: ca6f451c_i ca9f9ff7_o
ipsec-ikev2-vpn-client{1}: 10.10.10.1/32 === 0.0.0.0/0
Output di atas menunjukkan bahwa koneksi VPN dibuat antara klien dan server, dan alamat IP 10.10.10.1 ditetapkan ke mesin klien.
Anda juga dapat memverifikasi alamat IP baru Anda dengan perintah berikut:
ip a
Anda akan mendapatkan output berikut:
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:00:68:f5:20:9e brd ff:ff:ff:ff:ff:ff
inet 104.245.32.158/25 brd 104.245.32.255 scope global eth0
valid_lft forever preferred_lft forever
inet 10.10.10.1/32 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::200:68ff:fef5:209e/64 scope link
valid_lft forever preferred_lft forever
Kesimpulan
Dalam panduan di atas, kami mempelajari cara mengatur server dan klien StrongSwan VPN di Ubuntu 20.04. Sekarang Anda dapat melindungi identitas Anda dan mengamankan aktivitas online Anda.