GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Mengatur IKEv2 VPN Menggunakan Strongswan dan Mari Enkripsi di CentOS 8

Strongswan adalah implementasi IPSec multiplatform open-source. Ini adalah solusi VPN berbasis IPSec yang berfokus pada mekanisme otentikasi yang kuat. Strongswan menawarkan dukungan untuk protokol pertukaran kunci IKEv1 dan IKEv2, otentikasi berdasarkan sertifikat X.509 atau kunci yang dibagikan sebelumnya, dan otentikasi pengguna IKEv2 EAP yang aman.

Dalam tutorial ini, saya akan menunjukkan cara menginstal server IPSec VPN menggunakan Strongswan. Kami akan membuat server VPN IKEv2 dengan otentikasi 'EAP-MSCHAPv2' dan menggunakan sertifikat Letsencrypt di server CentOS 8.

Prasyarat

  • Server CentOS 8
  • Hak istimewa root

Apa yang akan kita lakukan?

  • Instal Strongswan di CentOS 8
  • Buat SSL Letsencrypt
  • Konfigurasi Strongswan
  • Aktifkan Firewall NAT
  • Aktifkan Penerusan Port
  • Pengujian

Langkah 1 - Instal Strongswan di CentOS 8

Pada langkah pertama ini, kita akan menginstal perangkat lunak implementasi strongswan IPsec dan semua paket yang dibutuhkan dari repositori EPEL.

Sebelum menginstal paket strongswan, Anda harus menambahkan repositori EPEL ke sistem CentOS 8.

Tambahkan repositori EPEL untuk server CentOS 8.

sudo dnf install epel-release

Setelah itu, instal paket strongswan dari repositori EPEL menggunakan perintah dnf di bawah ini.

sudo dnf install strongswan

Tunggu hingga paket strongswan diinstal.

Langkah 2 - Buat Sertifikat SSL dengan Let's encrypt

Untuk panduan ini, kita akan membuat server VPN IKEv2 menggunakan nama domain 'vpn.hakase-labs.io' dan menggunakan sertifikat yang dihasilkan dari letsencrypt.

Pada langkah ini, kita akan menginstal alat letsencrypt 'certbot' secara manual dan membuat sertifikat untuk nama domain server 'vpn.hakase-labs.io'.

Unduh file biner certbot dari GitHub menggunakan perintah wget di bawah ini.

wget https://dl.eff.org/certbot-auto -O /usr/local/bin/certbot-auto

Setelah itu, buat menjadi executable dengan mengubah izin file.

chmod +x /usr/local/bin/certbot-auto

Dan alat certbot untuk menghasilkan sertifikat Letsencrypt telah diinstal.

Sebelum membuat sertifikat Letsencrypt, kita perlu membuka port HTTP dan HTTPS server menggunakan firewall-cmd.

Tambahkan layanan HTTP dan HTTPS ke daftar layanan firewalld dengan menjalankan perintah firewall-cmd di bawah ini.

firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload

Sekarang kita dapat membuat file sertifikat SSL baru menggunakan alat letsencrypt certbot-auto.

Ubah alamat email dan nama domain dengan milik Anda dan jalankan perintah 'certbot-auto' di bawah ini.

certbot-auto certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [email protected] -d vpn.hakase-labs.io

Setelah selesai, Anda akan mendapatkan hasil seperti di bawah ini.

Semua sertifikat nama domain Anda dibuat ke direktori '/etc/letsencrypt/live/domain.com'.

Selanjutnya, kita perlu menyalin file sertifikat 'fullchain.pem', 'privkey.pem', dan 'chain.pem' ke direktori '/etc/strongswan/ipsec.d/'.

cp /etc/letsencrypt/live/vpn.hakase-labs.io/fullchain.pem /etc/strongswan/ipsec.d/certs/
cp /etc/letsencrypt/live/vpn.hakase-labs.io/privkey.pem /etc/strongswan/ipsec.d/private/
cp /etc/letsencrypt/live/vpn.hakase-labs.io/chain.pem /etc/strongswan/ipsec.d/cacerts/

Semua sertifikat letsencrypt untuk VPN Strongswan bernama 'vpn.hakase-labs.io' telah dibuat dan disalin ke direktori '/etc/strongswan/ipsec.d'.

tree /etc/strongswan/ipsec.d/

Langkah 3 - Konfigurasikan Strongswan

Buka direktori '/etc/strongswan' dan buat cadangan file konfigurasi 'ipsec.conf' default.

cd /etc/strongswan/
mv ipsec.conf ipsec.conf.asli

Buat yang baru 'ipsec.conf' menggunakan editor vim.

vim ipsec.conf

Dan paste konfigurasi berikut.

config setup
    uniqueids=never # allow multiple connections per user
    charondebug="ike 2, knl 2, cfg 2, net 2, esp 2, dmn 2,  mgr 2"

conn %default
    fragmentation=yes
    closeaction=restart
    rekey=no
    dpdaction=clear
    keyexchange=ikev2
    compress=yes
    dpddelay=35s
    lifetime=3h
    ikelifetime=12h

    ike=aes256gcm16-prfsha512-ecp384!
    esp=aes256gcm16-ecp384!

    left=%any
    [email protected]
    leftcert=fullchain.pem
    leftsendcert=always
    leftsubnet=0.0.0.0/0

    right=%any
    rightid=%any
    rightauth=eap-mschapv2
    rightsourceip=10.15.1.0/24
    rightdns=1.1.1.1,8.8.8.8
    rightsendcert=never
    eap_identity=%identity

conn ikev2-pubkey
    auto=add

Simpan dan keluar.

Selanjutnya, kita perlu mengedit file 'ipsec.secrets' untuk menentukan kunci pribadi server RSA dan kredensial kata sandi pengguna EAP.

Edit file 'ipsec.secrets'.

vim ipsec.secrets

Tempelkan konfigurasi di bawah ini.

: RSA "privkey.pem"
hakase : EAP "[email protected]"
tensai : EAP "[email protected]"

Simpan dan keluar.

Dan konfigurasi IPSec strongswan telah selesai. Tambahkan layanan strongswan ke waktu boot startup dan kemudian mulai layanan.

systemctl enable strongswan
systemctl start strongswan

Layanan strongswan aktif dan berjalan di server CentOS 8, periksa menggunakan perintah berikut.

systemctl status strongswan
netstat -plntu

Dan Anda akan diperlihatkan hasilnya seperti di bawah ini.

Langkah 4 - Aktifkan NAT di Firewalld

Pada langkah ini, kita akan mengaktifkan penyamaran NAT dan menambahkan protokol IPSec Authentication Header (AH) dan Encapsulating Security Payload (ESP) di Firewalld menggunakan konfigurasi 'rich-rule'.

Tambahkan 'AH' dan 'ESP' untuk otentikasi dan protokol enkripsi ke firewalld.

firewall-cmd --zone=public --permanent --add-rich-rule='rule protocol value="esp" accept'
firewall-cmd --zone=public --permanent --add-rich-rule='rule protocol value="ah" accept'

Tambahkan port dan layanan UDP ipsec.

firewall-cmd --zone=public --permanent --add-port=500/udp
firewall-cmd --zone=public --permanent --add-port=4500/udp
firewall-cmd --zone=public --permanent --add-service="ipsec"

Sekarang aktifkan penyamaran mode NAT dan muat ulang aturan konfigurasi firewall.

firewall-cmd --zone=public --permanent --add-masquerade
firewall-cmd --reload

Mode NAT pada firewalld telah diaktifkan, periksa menggunakan perintah di bawah ini.

firewall-cmd --list-all

Berikut adalah hasilnya.

Langkah 5 - Aktifkan Penerusan Port

Untuk mengaktifkan penerusan port, kita perlu mengedit file 'sysctl.conf'.

Edit file '/etc/sysctl.conf' menggunakan editor vim.

vim /etc/sysctl.conf

Tempelkan konfigurasi berikut di sana.

net.ipv4.ip_forward = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0

Simpan dan keluar, sekarang muat ulang menggunakan perintah sysctl di bawah ini.

sysctl -p

Penerusan port telah diaktifkan. Sekarang restart layanan strongswan.

systemctl restart strongswan

Langkah 6 - Menguji VPN IPSec Strongswan

Dalam hal ini, kami akan melakukan pengujian pada MacOS X dan ponsel Android.

Di MacOS

- Buka 'System Preferences' dan klik menu 'Network'.

Klik tombol '+' untuk membuat koneksi VPN baru.

    • Antarmuka:'VPN'
    • Jenis VPN:'IKEv2'
    • Nama Layanan:'IKEv2-vpn

- Pada 'Server Address' dan 'Remote ID', ketikkan nama domain VPN 'ikev2.hakase-labs.io'.
- Klik 'Authentication Settings'.
- Authentication using a 'Username' .
- Ketik nama pengguna 'tensai' dengan sandi '[email protected]'
- Klik 'OK' dan klik 'Terapkan'.


Koneksi VPN IKEv2 baru telah dibuat pada klien. Sekarang klik tombol sambungkan.


Dan klien telah terhubung ke server VPN strongswan dan memiliki alamat IP internal/pribadi 10.15.1.1.

Di Android

- Unduh dan instal aplikasi android strongswan asli dari Google-Play.
- Tambahkan profil VPN baru
- Ketik nama domain server 'ikev2.hakase-labs.io' dan gunakan Nama Pengguna dan Kata Sandi IKEv2 EAP otentikasi.

Berikut adalah hasil saat kita terhubung ke server VPN.

Server VPN berbasis IKEv2 IPSec telah dibuat menggunakan Strongswan dan Letsencrypt pada server CentOS 8.


Cent OS
  1. Cara Mengatur IKEv2 VPN Menggunakan Strongswan dan Mari mengenkripsi di CentOS 7

  2. Cara menginstal dan mengatur DRBD di CentOS

  3. Cara Mengatur Firewall menggunakan FirewallD di CentOS 8

  1. Cara Setup Puppet Master dan Agent di CentOS 8

  2. Cara Setup Puppet Master dan Agent di CentOS 7

  3. Cara Mengatur dan Menginstal Oracle Weblogic di CentOS 7

  1. Cara Menginstal Shopware dengan NGINX dan Mengenkripsi di CentOS 7

  2. Cara Menginstal WonderCMS dengan Nginx dan Mengenkripsi SSL di CentOS 7

  3. Cara Instal Pico CMS dengan Nginx dan Lets Encrypt di CentOS 7