GNU/Linux >> Belajar Linux >  >> Linux

Cara Menginstal dan Mengonfigurasi StrongSwan VPN di Ubuntu 18.04

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.


Linux
  1. Cara Menginstal dan Mengkonfigurasi Server VPN Algo di Ubuntu 20.04

  2. Cara Menginstal Dan Mengkonfigurasi Server Redis Di Ubuntu

  3. Cara Menginstal dan Mengkonfigurasi MariaDB Galera Cluster di Ubuntu 18.04

  1. Cara Menginstal dan Mengkonfigurasi Server DHCP di Ubuntu 20.04

  2. Cara Menginstal dan Mengonfigurasi Server OpenVPN di Ubuntu 20.04

  3. Bagaimana Cara Menginstal dan Mengonfigurasi Fail2ban di Ubuntu?

  1. Cara Menginstal dan Mengonfigurasi Server NFS di Ubuntu 20.04

  2. Cara Menginstal dan Mengkonfigurasi VNC di Ubuntu 20.04

  3. Cara menginstal dan mengkonfigurasi Elasticsearch di Ubuntu 18.04