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

Cara Mengatur IKEv2 VPN Menggunakan Strongswan dan Mari mengenkripsi di CentOS 7

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 VPN IPSec menggunakan Strongswan. Kami akan membuat server VPN IKEv2 dengan otentikasi 'EAP-MSCHAPv2' dan menggunakan sertifikat Letsencrypt di server CentOS 7.

Prasyarat

  • Server CentOS 7
  • Hak istimewa root

Apa yang akan kita lakukan?

  1. Instal Strongswan di CentOS 7
  2. Buat SSL Letsencrypt
  3. Konfigurasi Strongswan
  4. Aktifkan Firewall NAT
  5. Aktifkan Penerusan Port
  6. Pengujian

Langkah 1 - Instal Strongswan di CentOS 7

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

Instal repositori EPEL dan instal paket strongswan menggunakan perintah yum di bawah ini.

yum -y install epel-release
yum -y install strongswan

Tunggu hingga paket strongswan diinstal.

Langkah 2 - Buat Sertifikat SSL dengan Let's encrypt

Kami akan membuat server VPN IKEv2 menggunakan nama domain 'ikev2.hakase-labs.io' dan menggunakan sertifikat yang dihasilkan dari letsencrypt.

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

Instal alat letsencrypt 'certbot'.

yum -y install certbot

Setelah instalasi certbot, 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.

Jalankan perintah certbot di bawah ini.

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

Sertifikat Letsencrypt untuk nama domain vpn 'ikev2.hakase-labs.io' telah dibuat, dan terletak di direktori '/etc/letsencrypt/live'.

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

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

Semua sertifikat letsencrypt untuk VPN Strongswan bernama 'ikev2.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 vim editor.

vim ipsec.conf

Dan paste konfigurasi berikut.

#global configuration IPsec
#chron logger
config setup
    charondebug="ike 1, knl 1, cfg 0"
    uniqueids=no

#define new ipsec connection
conn hakase-vpn
    auto=add
    compress=no
    type=tunnel
    keyexchange=ikev2
    ike=aes128-sha1-modp1024,aes128-sha1-modp1536,aes128-sha1-modp2048,aes128-sha256-ecp256,aes128-sha256-modp1024,aes128-sha256-modp1536,aes128-sha256-modp2048,aes256-aes128-sha256-sha1-modp2048-modp4096-modp1024,aes256-sha1-modp1024,aes256-sha256-modp1024,aes256-sha256-modp1536,aes256-sha256-modp2048,aes256-sha256-modp4096,aes256-sha384-ecp384,aes256-sha384-modp1024,aes256-sha384-modp1536,aes256-sha384-modp2048,aes256-sha384-modp4096,aes256gcm16-aes256gcm12-aes128gcm16-aes128gcm12-sha256-sha1-modp2048-modp4096-modp1024,3des-sha1-modp1024!
    esp=aes128-aes256-sha1-sha256-modp2048-modp4096-modp1024,aes128-sha1,aes128-sha1-modp1024,aes128-sha1-modp1536,aes128-sha1-modp2048,aes128-sha256,aes128-sha256-ecp256,aes128-sha256-modp1024,aes128-sha256-modp1536,aes128-sha256-modp2048,aes128gcm12-aes128gcm16-aes256gcm12-aes256gcm16-modp2048-modp4096-modp1024,aes128gcm16,aes128gcm16-ecp256,aes256-sha1,aes256-sha256,aes256-sha256-modp1024,aes256-sha256-modp1536,aes256-sha256-modp2048,aes256-sha256-modp4096,aes256-sha384,aes256-sha384-ecp384,aes256-sha384-modp1024,aes256-sha384-modp1536,aes256-sha384-modp2048,aes256-sha384-modp4096,aes256gcm16,aes256gcm16-ecp384,3des-sha1!
    fragmentation=yes
    forceencaps=yes
    dpdaction=clear
    dpddelay=300s
    rekey=no
    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

Simpan dan keluar.

Detail konfigurasi:

  • Buat koneksi terowongan VPN IPSec baru bernama 'hakase-vpn'.
  • Tentukan rangkaian sandi IKEv2 dan ESP untuk autentikasi.
  • Konfigurasi server 'kiri' menggunakan nama domain 'ikev2.hakase-labs.io' dan menggunakan sertifikat letsencrypt 'fullchain.pem' yang terletak di direktori '/etc/strongswan/ipsec.d/certs'.
  • Penyiapan klien/jarak jauh yang 'benar' dengan metode autentikasi EAP 'eap-mschapv2', menetapkan rentang alamat IP virtual '10.15.1.0/24' untuk semua klien yang terhubung, dan menggunakan DNS Cloudflare publik dan google.

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.

Detail konfigurasi:

  • Tentukan kunci pribadi server RSA menggunakan sertifikat letsencrypt 'privkey.pem' yang terletak di direktori '/etc/strongswan/ipsec.d/private'.
  • Tentukan kredensial pengguna EAP dengan format 'user :EAP "password"'.

Konfigurasi IPSec strongswan telah selesai. Mulai layanan strongswan dan aktifkan untuk diluncurkan setiap kali sistem boot.

systemctl start strongswan
systemctl enable strongswan

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 7.


Cent OS
  1. Cara Mengatur IKEv2 VPN Menggunakan Strongswan dan Mari Enkripsi di CentOS 8

  2. Cara menginstal dan mengatur DRBD di CentOS

  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

  1. Cara Menginstal WordPress dengan Nginx dan Mengenkripsi SSL di CentOS 8

  2. Instal dan Konfigurasi Drupal 8 dengan Nginx dan Mari Enkripsi di CentOS 8

  3. Cara Menginstal DokuWiki dengan Nginx dan Mari mengenkripsi SSL di CentOS 8