GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nastavit IKEv2 VPN pomocí Strongswan a Lets encrypt na CentOS 7

Strongswan je open source multiplatformní implementace IPSec. Je to řešení VPN založené na IPSec, které se zaměřuje na silné mechanismy ověřování. Strongswan nabízí podporu pro protokoly výměny klíčů IKEv1 a IKEv2, autentizaci založenou na certifikátech X.509 nebo předem sdílených klíčích a bezpečné ověřování uživatelů IKEv2 EAP.

V tomto tutoriálu vám ukážu, jak nainstalovat server IPSec VPN pomocí Strongswan. Vytvoříme VPN server IKEv2 s ověřováním 'EAP-MSCHAPv2' a budeme používat certifikáty Letsencrypt na serveru CentOS 7.

Předpoklady

  • Server CentOS 7
  • Oprávnění uživatele root

Co uděláme?

  1. Nainstalujte Strongswan na CentOS 7
  2. Vygenerujte SSL Letsencrypt
  3. Nakonfigurujte Strongswan
  4. Povolte bránu firewall NAT
  5. Povolte přesměrování portů
  6. Testování

Krok 1 – Instalace Strongswan na CentOS 7

V tomto prvním kroku nainstalujeme implementační software strongswan IPsec a všechny potřebné balíčky z úložiště EPEL.

Nainstalujte úložiště EPEL a nainstalujte balíček strongswan pomocí příkazů yum níže.

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

Počkejte, až se balíček strongswan nainstaluje.

Krok 2 – Vygenerování certifikátu SSL pomocí Let's encrypt

Vytvoříme IKEv2 VPN server s názvem domény 'ikev2.hakase-labs.io' a použijeme certifikáty vygenerované z letsencrypt.

V tomto kroku nainstalujeme nástroj letsencrypt 'certbot' a vygenerujeme certifikáty pro název domény serveru 'ikev2.hakase-labs.io'.

Nainstalujte nástroj letsencrypt 'certbot'.

yum -y install certbot

Po instalaci certbota musíme otevřít HTTP a HTTPS port serveru pomocí firewall-cmd.

Přidejte služby HTTP a HTTPS do seznamu služeb brány firewall spuštěním příkazů firewall-cmd níže.

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

Nyní můžeme generovat nové soubory certifikátů SSL pomocí nástroje letsencrypt certbot.

Spusťte níže uvedený příkaz certbot.

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

Certifikáty Letsencrypt pro název domény vpn 'ikev2.hakase-labs.io' byly vygenerovány a jsou umístěny v adresáři '/etc/letsencrypt/live'.

Dále musíme zkopírovat soubory certifikátu 'fullchain.pem', 'privkey.pem' a 'chain.pem' do adresáře '/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/

Všechny letsencrypt certifikáty pro Strongswan VPN s názvem 'ikev2.hakase-labs.io' byly vygenerovány a zkopírovány do adresáře '/etc/strongswan/ipsec.d'.

tree /etc/strongswan/ipsec.d/

Krok 3 – Konfigurace Strongswan

Přejděte do adresáře '/etc/strongswan' a zálohujte výchozí konfigurační soubor 'ipsec.conf'.

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

Vytvořte nový 'ipsec.conf' pomocí editoru vim.

vim ipsec.conf

A vložte následující konfiguraci.

#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

Uložte a ukončete.

Podrobnosti konfigurace:

  • Vytvořte nové připojení IPSec VPN tunel s názvem 'hakase-vpn'.
  • Určete šifrovací sady IKEv2 a ESP pro ověřování.
  • Konfigurace „levého“ serveru s názvem domény „ikev2.hakase-labs.io“ a pomocí certifikátu letsencrypt „fullchain.pem“ umístěného v adresáři „/etc/strongswan/ipsec.d/certs“.
  • „Správní“ klienti/vzdálené nastavení s autentizační metodou EAP „eap-mschapv2“, přiřazení rozsahu virtuálních IP adres „10.15.1.0/24“ všem připojeným klientům a pomocí veřejných DNS Cloudflare a google.
  • li>

Dále musíme upravit soubor 'ipsec.secrets', abychom definovali soukromý klíč serveru RSA a přihlašovací údaje pro uživatelské heslo EAP.

Upravte soubor 'ipsec.secrets'.

vim ipsec.secrets

Vložte konfiguraci níže.

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

Uložte a ukončete.

Podrobnosti konfigurace:

  • Uveďte soukromý klíč serveru RSA pomocí certifikátu letsencrypt 'privkey.pem' umístěného v adresáři '/etc/strongswan/ipsec.d/private'.
  • Definujte přihlašovací údaje uživatele EAP ve formátu 'user :EAP "heslo"'.

Konfigurace strongswan IPSec byla dokončena. Spusťte službu strongswan a povolte její spuštění při každém spuštění systému.

systemctl start strongswan
systemctl enable strongswan

Krok 4 – Povolení NAT v Firewallu

V tomto kroku povolíme maskování NAT a přidáme protokoly IPSec Authentication Header (AH) a Encapsulating Security Payload (ESP) na Firewallu pomocí konfigurace 'rich-rule'.

Přidejte do brány firewall 'AH' a 'ESP' pro autentizační a šifrovací protokoly.

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'

Přidejte porty a službu ipsec UDP.

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"

Nyní povolte maskování režimu NAT a znovu načtěte konfigurační pravidla brány firewall.

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

Režim NAT na firewallu byl povolen, zkontrolujte pomocí příkazu níže.

firewall-cmd --list-all

Následuje výsledek.

Krok 5 – Povolte přesměrování portů

Abychom povolili přesměrování portů, musíme upravit soubor 'sysctl.conf'.

Upravte soubor '/etc/sysctl.conf' pomocí editoru vim.

vim /etc/sysctl.conf

Zde vložte následující konfiguraci.

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

Uložte a ukončete, nyní znovu načtěte pomocí příkazu sysctl níže.

sysctl -p

Přesměrování portů bylo povoleno. Nyní restartujte službu strongswan.

systemctl restart strongswan

Krok 6 – Testování Strongswan IPSec VPN

V tomto případě provedeme test na telefonu MacOS X a Android.

V systému MacOS

– Otevřete „Předvolby systému“ a klikněte na nabídku „Síť“.

Kliknutím na tlačítko „+“ vytvoříte nové připojení VPN.

    • Rozhraní:'VPN'
    • Typ VPN:'IKEv2'
    • Název služby:'IKEv2-vpn

– Do polí „Adresa serveru“ a „Vzdálené ID“ zadejte název domény VPN „ikev2.hakase-labs.io“.
- Klikněte na „Nastavení ověřování“.
- Ověření pomocí „Uživatelského jména“ .
- Zadejte uživatelské jméno „tensai“ s heslem „[email protected]“
- Klikněte na „OK“ a klikněte na „Použít“.


Na klientovi bylo vytvořeno nové připojení IKEv2 VPN. Nyní klikněte na tlačítko připojit.


A klient byl připojen k serveru strongswan VPN a má interní/soukromou IP adresu 10.15.1.1.

V systému Android

- Stáhněte si a nainstalujte nativní aplikaci pro Android strongswan z Google-Play.
- Přidejte nový profil VPN
- Zadejte název domény serveru 'ikev2.hakase-labs.io' a použijte uživatelské jméno a heslo IKEv2 EAP ověření.

Následující je výsledek, když se připojíme k serveru VPN.

VPN server založený na IKEv2 IPSec byl vytvořen pomocí Strongswan a Letsencrypt na serveru CentOS 7.


Cent OS
  1. Jak nastavit IKEv2 VPN pomocí Strongswan a Lets Encrypt na CentOS 8

  2. Jak nainstalovat a nastavit DRBD na CentOS

  3. Jak nastavit a nainstalovat Oracle Weblogic v CentOS 7

  1. Jak nainstalovat Shopware s NGINX a Lets Encrypt na CentOS 7

  2. Jak nainstalovat WonderCMS s Nginx a nechat šifrovat SSL na CentOS 7

  3. Jak nainstalovat Pico CMS s Nginx a Lets Encrypt na CentOS 7

  1. Jak nainstalovat WordPress s Nginx a nechat šifrovat SSL na CentOS 8

  2. Nainstalujte a nakonfigurujte Drupal 8 pomocí Nginx a Lets Encrypt na CentOS 8

  3. Jak nainstalovat DokuWiki s Nginx a šifrovat SSL na CentOS 8