GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come configurare IKEv2 VPN utilizzando Strongswan e Lets crittografare su CentOS 7

Strongswan è un'implementazione IPSec multipiattaforma open source. È una soluzione VPN basata su IPSec che si concentra su meccanismi di autenticazione avanzati. Strongswan offre supporto per i protocolli di scambio di chiavi IKEv1 e IKEv2, autenticazione basata su certificati X.509 o chiavi pre condivise e autenticazione utente EAP IKEv2 sicura.

In questo tutorial, ti mostrerò come installare un server VPN IPSec utilizzando Strongswan. Creeremo un server VPN IKEv2 con l'autenticazione "EAP-MSCHAPv2" e utilizzeremo i certificati Letsencrypt sul server CentOS 7.

Prerequisiti

  • Server CentOS 7
  • Privilegi di root

Cosa faremo?

  1. Installa Strongswan su CentOS 7
  2. Genera SSL Letsencrypt
  3. Configura Strongswan
  4. Abilita NAT Firewall
  5. Abilita il port forwarding
  6. Test

Passaggio 1:installa Strongswan su CentOS 7

In questo primo passaggio, installeremo il software di implementazione IPsec di strongswan e tutti i pacchetti necessari dal repository EPEL.

Installa il repository EPEL e installa il pacchetto strongswan usando i comandi yum di seguito.

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

Attendi l'installazione del pacchetto strongswan.

Passaggio 2 - Genera certificato SSL con Let's encrypt

Creeremo il server VPN IKEv2 utilizzando un nome di dominio 'ikev2.hakase-labs.io' e utilizzeremo i certificati generati daletsencrypt.

In questo passaggio, installeremo lo strumento letencrypt 'certbot' e genereremo certificati per il nome di dominio del server 'ikev2.hakase-labs.io'.

Installa lo strumento di crittografia 'certbot'.

yum -y install certbot

Dopo l'installazione di certbot, dobbiamo aprire la porta HTTP e HTTPS del server utilizzando firewall-cmd.

Aggiungi i servizi HTTP e HTTPS all'elenco dei servizi firewalld eseguendo i comandi firewall-cmd di seguito.

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

Ora possiamo generare nuovi file di certificati SSL utilizzando lo strumento letencrypt certbot.

Esegui il comando certbot di seguito.

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

I certificati Letsencrypt per il nome di dominio VPN 'ikev2.hakase-labs.io' sono stati generati e si trovano nella directory '/etc/letsencrypt/live'.

Successivamente, dobbiamo copiare i file del certificato 'fullchain.pem', 'privkey.pem' e 'chain.pem' nella directory '/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/

Tutti i certificati Letencrypt per la VPN Strongswan denominata 'ikev2.hakase-labs.io' sono stati generati e copiati nella directory '/etc/strongswan/ipsec.d'.

tree /etc/strongswan/ipsec.d/

Fase 3 - Configura Strongswan

Vai alla directory '/etc/strongswan' ed esegui il backup del file di configurazione predefinito 'ipsec.conf'.

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

Creane uno nuovo 'ipsec.conf' usando vim editor.

vim ipsec.conf

E incolla la seguente configurazione.

#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

Salva ed esci.

Dettagli di configurazione:

  • Crea una nuova connessione tunnel VPN IPSec denominata 'hakase-vpn'.
  • Specificare le suite di crittografia IKEv2 ed ESP per l'autenticazione.
  • La configurazione del server 'sinistra' utilizzando un nome di dominio 'ikev2.hakase-labs.io' e utilizzando il certificato letencrypt 'fullchain.pem' che si trova nella directory '/etc/strongswan/ipsec.d/certs'.
  • I client "corretti"/configurazione remota con il metodo di autenticazione EAP "eap-mschapv2", assegnare l'intervallo di indirizzi IP virtuali "10.15.1.0/24" a tutti i client connessi e utilizzare il DNS pubblico Cloudflare e google.

Successivamente, dobbiamo modificare il file "ipsec.secrets" per definire la chiave privata del server RSA e le credenziali della password dell'utente EAP.

Modifica il file 'ipsec.secrets'.

vim ipsec.secrets

Incolla la configurazione qui sotto.

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

Salva ed esci.

Dettagli di configurazione:

  • Specificare la chiave privata del server RSA utilizzando il certificatoletsencrypt 'privkey.pem' che si trova nella directory '/etc/strongswan/ipsec.d/private'.
  • Definisci le credenziali dell'utente EAP con il formato 'utente:EAP "password"'.

La configurazione IPSec di strongswan è stata completata. Avvia il servizio strongswan e abilitalo per l'avvio ogni volta all'avvio del sistema.

systemctl start strongswan
systemctl enable strongswan

Passaggio 4 - Abilita NAT in Firewalld

In questo passaggio, abiliteremo il masquerading NAT e aggiungeremo i protocolli IPSec Authentication Header (AH) e Encapsulating Security Payload (ESP) su Firewalld utilizzando la configurazione 'rich-rule'.

Aggiungi 'AH' e 'ESP' per i protocolli di autenticazione e crittografia al 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'

Aggiungi le porte e il servizio 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"

Ora abilita la modalità NAT masquerade e ricarica le regole di configurazione del firewalld.

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

La modalità NAT su firewalld è stata abilitata, verifica utilizzando il comando seguente.

firewall-cmd --list-all

Di seguito è il risultato.

Passaggio 5:abilitare il port forwarding

Per abilitare il port forwarding, dobbiamo modificare il file 'sysctl.conf'.

Modifica il file '/etc/sysctl.conf' usando l'editor vim.

vim /etc/sysctl.conf

Incolla lì la seguente configurazione.

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

Salva ed esci, ora ricarica usando il comando sysctl qui sotto.

sysctl -p

Il port forwarding è stato abilitato. Ora riavvia il servizio Strongswan.

systemctl restart strongswan

Passaggio 6:test della VPN IPSec Strongswan

In questo caso, faremo il test su MacOS X e telefono Android.

Su MacOS

- Apri le "Preferenze di Sistema" e fai clic sul menu "Rete".

Fai clic sul pulsante "+" per creare una nuova connessione VPN.

    • Interfaccia:'VPN'
    • Tipo VPN:'IKEv2'
    • Nome servizio:'IKEv2-vpn

- In "Indirizzo server" e "ID remoto", digita il nome di dominio VPN "ikev2.hakase-labs.io".
- Fai clic su "Impostazioni di autenticazione".
- Autenticazione tramite un "Nome utente" .
- Digita il nome utente 'tensai' con la password '[email protected]'
- Fai clic su 'OK' e fai clic su 'Applica'.


Nel client è stata creata una nuova connessione VPN IKEv2. Ora fai clic sul pulsante Connetti.


E il client è stato connesso al server VPN strongswan e ha un indirizzo IP interno/privato 10.15.1.1.

Su Android

- Scarica e installa l'applicazione Android nativa di strongswan da Google-Play.
- Aggiungi un nuovo profilo VPN
- Digita il nome di dominio del server "ikev2.hakase-labs.io" e utilizza il nome utente e la password EAP IKEv2 autenticazione.

Di seguito è il risultato quando ci connettiamo al server VPN.

Il server VPN basato su IPSec IKEv2 è stato creato utilizzando Strongswan e Letsencrypt sul server CentOS 7.


Cent OS
  1. Come configurare IKEv2 VPN utilizzando Strongswan e Lets Encrypt su CentOS 8

  2. Come installare e configurare DRBD su CentOS

  3. Come configurare e installare Oracle Weblogic in CentOS 7

  4. Come installare Shopware con NGINX e Lets Encrypt su CentOS 7

  5. Come installare WonderCMS con Nginx e Lets Encrypt SSL su CentOS 7

Come installare Shopware 6 con NGINX e Lets Encrypt su CentOS 8

Come installare PrestaShop con Apache e Lets Encrypt SSL su CentOS 8

Come installare e configurare Asterisk 13 (PBX) su Centos 7

Come installare e gestire i pacchetti su CentOS utilizzando RPM

Come installare Webmin su CentOS 8 e Rocky Linux 8

Come installare VPN PPTP su CentOS 6