GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Installa e configura StrongSwan VPN su Ubuntu 20.04

Una rete privata virtuale viene utilizzata per creare una rete privata da una connessione Internet pubblica per proteggere la tua identità. La VPN utilizza un tunnel crittografato per inviare e ricevere i dati in modo sicuro.

strongSwan è uno dei software VPN più famosi che supporta diversi sistemi operativi tra cui Linux, OS X, FreeBSD, Windows, Android e iOS. Utilizza il protocollo IKEv1 e IKEv2 per stabilire una connessione sicura. Puoi estenderne le funzionalità con i plug-in integrati.

In questo tutorial, spiegheremo passo dopo passo le istruzioni su come configurare un server VPN KEv2 con StrongSwan su Ubuntu 20.04.

Prerequisito

• Due sistemi che eseguono il server Ubuntu 20.04
• Una password di root è configurata su entrambi i server

Installa StrongSwan

Per impostazione predefinita, StrongSwan è disponibile nel repository predefinito di Ubuntu 20.04. Puoi installarlo con altri componenti richiesti usando il seguente comando:

apt-get install strongswan strongswan-pki libcharon-extra-plugins libcharon-extauth-plugins libstrongswan-extra-plugins -y

Dopo aver installato tutti i pacchetti, puoi procedere alla generazione di un certificato CA.

Genera un certificato per il server VPN

Successivamente, dovrai generare un certificato e una chiave per il server VPN per verificare l'autenticità del server sul lato client.

Innanzitutto, crea una chiave privata per la CA radice con il comando seguente:

ipsec pki --gen --size 4096 --type rsa --outform pem > /etc/ipsec.d/private/ca.key.pem

Quindi, crea una CA radice e firmala utilizzando la chiave sopra:

ipsec pki --self --in /etc/ipsec.d/private/ca.key.pem --type rsa --dn "CN=My VPN Server CA" --ca --lifetime 3650 --outform pem > /etc/ipsec.d/cacerts/ca.cert.pem

Quindi, crea una chiave privata per il server VPN utilizzando il comando seguente:

ipsec pki --gen --size 4096 --type rsa --outform pem > /etc/ipsec.d/private/server.key.pem

Infine, genera il certificato del server utilizzando il seguente comando:

ipsec pki --pub --in /etc/ipsec.d/private/server.key.pem --type rsa | ipsec pki --issue --lifetime 2750 --cacert /etc/ipsec.d/cacerts/ca.cert.pem --cakey /etc/ipsec.d/private/ca.key.pem --dn "CN=vpn.domain.com" --san="vpn.domain.com" --flag serverAuth --flag ikeIntermediate --outform pem > /etc/ipsec.d/certs/server.cert.pem

A questo punto, tutti i certificati sono pronti per il server VPN.

Configura VPN StrongSwan

Il file di configurazione predefinito di strongswan è /etc/ipsec.conf. Possiamo eseguire il backup del file di configurazione principale e creare un nuovo file:

mv /etc/ipsec.conf /etc/ipsec.conf-bak

Quindi, crea un nuovo file di configurazione:

nano /etc/ipsec.conf

Aggiungi le seguenti impostazioni di configurazione e connessione:

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
      keyexchange=ikev2
      fragmentation=yes
      forceencaps=yes
      dpdaction=clear
      dpddelay=300s
      rekey=no
      left=%any
      [email protected]
      leftcert=server.cert.pem
      leftsendcert=always 
      leftsubnet=0.0.0.0/0
      right=%any
      rightid=%any
      rightauth=eap-mschapv2
      rightsourceip=10.10.10.0/24
      rightdns=8.8.8.8
      rightsendcert=never
      eap_identity=%identity

Salva e chiudi il file /etc/ipsec.conf.

Successivamente, dovrai definire le credenziali utente EAP e le chiavi private RSA per l'autenticazione.

Puoi configurarlo modificando il file /etc/ipsec.secrets:

nano /etc/ipsec.secrets

Aggiungi la seguente riga:

: RSA "server.key.pem"
vpnsecure : EAP "password"

Quindi riavvia il servizio StrongSwan come segue:

systemctl restart strongswan-starter

Per consentire a StrongSwan di avviarsi all'avvio del sistema, digita:

systemctl enable strongswan-starter

Verifica lo stato del server VPN, digita:

systemctl status strongswan-starter

Abilita l'inoltro dei pacchetti del kernel

Successivamente, dovrai configurare il kernel per abilitare l'inoltro dei pacchetti modificando il file /etc/sysctl.conf:

nano /etc/sysctl.conf

Decommenta le seguenti righe:

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

Salva e chiudi il file, quindi ricarica le nuove impostazioni utilizzando il seguente comando:

sysctl -p

Installa e configura il client StrongSwan

In questa sezione installeremo il client StrongSwan sulla macchina remota e ci connetteremo al server VPN.

Innanzitutto, installa tutti i pacchetti richiesti con il seguente comando:

apt-get install strongswan libcharon-extra-plugins -y

Una volta installati tutti i pacchetti, interrompere il servizio StrongSwan con il seguente comando:

systemctl stop strongswan-starter

Successivamente, dovrai copiare il file ca.cert.pem dal server VPN nella directory /etc/ipsec.d/cacerts/. Puoi copiarlo usando il comando SCP come mostrato di seguito:

scp [email protected]:/etc/ipsec.d/cacerts/ca.cert.pem /etc/ipsec.d/cacerts/

Per configurare l'autenticazione del client VPN, usa il file /etc/ipsec.secrets:

nano /etc/ipsec.secrets

Aggiungi la seguente riga:

vpnsecure : EAP "password"

Quindi modifica il file di configurazione principale di strongSwan:

nano /etc/ipsec.conf

Aggiungi le seguenti righe che corrispondono al tuo dominio, password che hai specificato nel file /etc/ipsec.secrets.

conn ipsec-ikev2-vpn-client
    auto=start
    right=vpn.domain.com
    rightid=vpn.domain.com
    rightsubnet=0.0.0.0/0
    rightauth=pubkey
    leftsourceip=%config
    leftid=vpnsecure
    leftauth=eap-mschapv2
    eap_identity=%identity

Ora avvia il servizio VPN StrongSwan usando il seguente comando:

systemctl start strongswan-starter

Successivamente, verifica lo stato della connessione VPN utilizzando il seguente comando:

ipsec status

Dovresti ottenere il seguente output:

Security Associations (1 up, 0 connecting):
ipsec-ikev2-vpn-client[1]: ESTABLISHED 28 seconds ago, 104.245.32.158[vpnsecure]...104.245.33.84[vpn.domain.com]
ipsec-ikev2-vpn-client{1}: INSTALLED, TUNNEL, reqid 1, ESP in UDP SPIs: ca6f451c_i ca9f9ff7_o
ipsec-ikev2-vpn-client{1}: 10.10.10.1/32 === 0.0.0.0/0

L'output sopra indica che è stata stabilita una connessione VPN tra client e server e l'indirizzo IP 10.10.10.1 assegnato alla macchina client.

Puoi anche verificare il tuo nuovo indirizzo IP con il seguente comando:

ip a

Dovresti ottenere il seguente output:

eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:00:68:f5:20:9e brd ff:ff:ff:ff:ff:ff
inet 104.245.32.158/25 brd 104.245.32.255 scope global eth0
valid_lft forever preferred_lft forever
inet 10.10.10.1/32 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::200:68ff:fef5:209e/64 scope link
valid_lft forever preferred_lft forever

Conclusione

Nella guida sopra, abbiamo imparato come configurare un server VPN StrongSwan e un client su Ubuntu 20.04. Ora puoi proteggere la tua identità e proteggere le tue attività online.


Ubuntu
  1. Come installare e configurare Redis su Ubuntu 18.04

  2. Come installare e configurare Redmine su Ubuntu 18.04

  3. Installa e configura PHP OPcache su Ubuntu 20.04

  4. Come installare e configurare Algo VPN Server su Ubuntu 20.04

  5. Come installare e configurare strongSwan VPN su Ubuntu 18.04

Installa e configura Git su Ubuntu 16.04

Installa e configura il server VNC su Ubuntu 16.04

Installa e configura VNC su Ubuntu 20.04

Come installare e configurare Git su Ubuntu 20.04

Installa e configura Fail2ban su Ubuntu 20.04

Come installare e configurare OpenVAS 9 su Ubuntu