GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare e configurare strongSwan VPN su Ubuntu 18.04

Una VPN ti consente di accedere a Internet in modo sicuro e protetto su una rete Wi-Fi pubblica non affidabile. Puoi connetterti a server VPN remoti utilizzando la connessione crittografata e navigare sul Web in modo anonimo.

strongSwan è l'implementazione di rete privata virtuale basata su IPsec gratuita, open source e più utilizzata, che consente di creare un tunnel sicuro crittografato tra due o più reti remote.

strongSwan utilizza il protocollo IKEv2, che consente il tunneling IPSec diretto tra il server e il client. strongSwan è l'acronimo di Strong Secure WAN e supporta entrambe le versioni di scambio di chiavi automatiche in IPsec VPN, IKE V1 e V2.

In questo tutorial, ti mostreremo come installare e configurare strongSwan VPN su Ubuntu 18.04.

Prerequisiti

  • Un nuovo VPS Ubuntu 18.04 sulla piattaforma Atlantic.Net Cloud.
  • Una password di root configurata sul tuo server.

Fase 1:crea un server cloud Atlantic.Net

Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Ubuntu 18.04 come sistema operativo con almeno 1GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.

Dopo aver effettuato l'accesso al tuo server Ubuntu 18.04, esegui il comando seguente per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.

apt-get update -y

Passaggio 2:abilita l'inoltro dei pacchetti del kernel

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

nano /etc/sysctl.conf

Aggiungi le seguenti righe alla fine del file:

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, esegui il comando seguente per ricaricare le impostazioni:

sysctl -p

Fase 3 – Installa strongSwan

Per prima cosa, dovrai installare il demone strongSwan IPSec nel tuo sistema. Puoi installarlo semplicemente eseguendo il seguente comando:

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

Una volta completata l'installazione, puoi procedere al passaggio successivo.

Fase 4 – Configurazione di un'autorità di certificazione

Ora dovrai generare il certificato del server VPN e la chiave per il client VPN per verificare l'autenticità del server VPN.

Innanzitutto, genera una chiave privata per l'autofirma del certificato CA utilizzando un'utilità PKI:

ipsec pki --gen --size 4096 --type rsa --outform pem > ca.key.pem

Quindi, crea la tua autorità di certificazione radice e usa la chiave sopra per firmare il certificato radice:

ipsec pki --self --in ca.key.pem --type rsa --dn "CN=VPN Server CA" --ca --lifetime 3650 --outform pem > ca.cert.pem

Successivamente, dovrai creare un certificato e una chiave per il server VPN in modo che il client possa verificare l'autenticità del server utilizzando il certificato CA che abbiamo appena generato.

Innanzitutto, crea una chiave privata per il server VPN con il seguente comando:

ipsec pki --gen --size 4096 --type rsa --outform pem > server.key.pem

Quindi, genera il certificato del server eseguendo il comando seguente:

ipsec pki --pub --in server.key.pem --type rsa | ipsec pki --issue --lifetime 2750 --cacert ca.cert.pem --cakey ca.key.pem --dn "CN=vpn.example.com" --san="vpn.example.com" --flag serverAuth --flag ikeIntermediate --outform pem > server.cert.pem

Successivamente, dovrai copiare il certificato sopra nelle rispettive directory dei certificati IPSec come mostrato di seguito:

mv ca.cert.pem /etc/ipsec.d/cacerts/
mv server.cert.pem /etc/ipsec.d/certs/
mv ca.key.pem /etc/ipsec.d/private/
mv server.key.pem /etc/ipsec.d/private/

A questo punto, hai tutti i certificati pronti e puoi ora procedere al passaggio successivo.

Fase 5 – Configura strongSwan

strongSwan ha un file di configurazione predefinito che si trova in /etc/ipsec.conf. Si consiglia di rinominare il file di configurazione predefinito e creare un nuovo file.

Per rinominare il file di configurazione predefinito, eseguire il comando seguente:

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

Quindi, crea un nuovo file di configurazione come mostrato di seguito:

nano /etc/ipsec.conf

Aggiungi le seguenti righe:

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  # defines the type of connection, tunnel.
      keyexchange=ikev2
      fragmentation=yes
      forceencaps=yes
      dpdaction=clear
      dpddelay=300s
      rekey=no
      left=%any
      [email protected]    # if using IP, define it without the @ sign
      leftcert=server.cert.pem  # reads the VPN server cert in /etc/ipsec.d/certs
      leftsendcert=always
      leftsubnet=0.0.0.0/0
      right=%any
      rightid=%any
      rightauth=eap-mschapv2
      rightsourceip=192.168.0.0/24
      rightdns=8.8.8.8 DNS to be assigned to clients
      rightsendcert=never
      eap_identity=%identity  # defines the identity the client uses to reply to an EAP Identity request.

Salva e chiudi il file quando hai finito.

Dove:

configurazione configurazione : Specifica le informazioni di configurazione generali per IPSec che si applicano a tutte le connessioni.
charondebug : Definisce la quantità di output di debug di Caronte da registrare.
leftid : Specifica il nome di dominio o l'indirizzo IP del server.
leftcert : Specifica il nome del certificato del server.
leftsubnet : Specifica la sottorete privata dietro il partecipante sinistro.
rightsourceip : Pool di indirizzi IP da assegnare ai client.
rightdns : DNS da assegnare ai clienti.

Passaggio 6:configurazione dell'autenticazione

A questo punto, il tuo server VPN è configurato per accettare connessioni client. Successivamente, dovrai configurare le credenziali di autenticazione client-server per definire le chiavi private RSA per l'autenticazione e impostare le credenziali utente EAP.

nano /etc/ipsec.secrets

Aggiungi le seguenti righe:

: RSA "server.key.pem"
.vpnsecure : EAP "your-secure-password"

Salva e chiudi il file. Quindi, riavvia il servizio strongSwan e abilitalo all'avvio al riavvio:

systemctl restart strongswan
systemctl enable strongswan

Puoi anche verificare lo stato del servizio strongSwan usando il seguente comando:

systemctl status strongswan

Dovresti vedere il seguente output:

• strongswan.service - strongSwan IPsec IKEv1/IKEv2 daemon using ipsec.conf
   Loaded: loaded (/lib/systemd/system/strongswan.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2020-05-08 08:02:08 UTC; 8s ago
 Main PID: 29947 (starter)
    Tasks: 18 (limit: 2359)
   CGroup: /system.slice/strongswan.service
           ├─29947 /usr/lib/ipsec/starter --daemon charon --nofork
           └─29973 /usr/lib/ipsec/charon --debug-ike 2 --debug-knl 2 --debug-cfg 2 --debug-net 2 --debug-esp 2 --debug-dmn 2 --debug-mgr 2

May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   eap_identity=%identity
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   dpddelay=300
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   dpdtimeout=150
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   dpdaction=1
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   sha256_96=no
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   mediation=no
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   keyexchange=ikev2
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG] adding virtual IP address pool 192.168.0.0/24
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   loaded certificate "CN=vpn.example.com" from 'server.cert.pem'
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG] added configuration 'ipsec-ikev2-vpn'

Puoi anche verificare i certificati strongSwan usando il seguente comando:

ipsec listcerts

Dovresti ottenere il seguente output:

List of X.509 End Entity Certificates

  subject:  "CN=vpn.example.com"
  issuer:   "CN=VPN Server CA"
  validity:  not before May 08 07:59:18 2020, ok
             not after  Nov 18 07:59:18 2027, ok (expires in 2749 days)
  serial:    7b:f8:ab:dc:ca:64:dd:93
  altNames:  vpn.example.com
  flags:     serverAuth ikeIntermediate
  authkeyId: 12:60:f6:05:15:80:91:61:d6:e9:8f:72:a3:a5:a5:ff:a7:38:1a:32
  subjkeyId: bf:1d:b1:1b:51:a0:f7:63:33:e2:5f:4c:cb:73:4f:64:0f:b9:84:09
  pubkey:    RSA 4096 bits
  keyid:     e4:72:d0:97:20:ec:a5:79:f2:e0:bf:aa:0e:41:a8:ec:67:06:de:ee
  subjkey:   bf:1d:b1:1b:51:a0:f7:63:33:e2:5f:4c:cb:73:4f:64:0f:b9:84:09

A questo punto, il tuo server VPN strongSwan è installato e configurato. Ora puoi procedere con l'installazione e la configurazione del client VPN per la connessione al server VPN.

Fase 7 – Installa e configura il client strongSwan

Accedi al sistema client ed esegui il seguente comando per installare i pacchetti client strongSwan:

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

Una volta installato, disabilita il servizio strongSwan per avviarlo all'avvio:

systemctl disable strongswan

Quindi, copia il file ca.cert.pem dal server VPN al client VPN utilizzando il comando seguente:

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

Quindi, configura l'autenticazione del client VPN modificando il file /etc/ipsec.secrets:

nano /etc/ipsec.secrets

Aggiungi la seguente riga:

vpnsecure : EAP "your-secure-password"

Salva e chiudi il file. Quindi, modifica il file di configurazione predefinito di strongSwan:

nano /etc/ipsec.conf

Aggiungi le seguenti righe:

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

Salva e chiudi il file. Quindi, riavvia il servizio strongSwan con il seguente comando:

systemctl restart strongswan

Sul server strongSwan, controlla lo stato della connessione VPN utilizzando il seguente comando:

ipsec status

Dovresti vedere che l'IP 192.168.0.5 è assegnato al client VPN:

Security Associations (1 up, 0 connecting):
ipsec-ikev2-vpn-client[1]: ESTABLISHED 1 minutes ago, [vpnsecure]...192.168.0.1[vpn.example.com]
ipsec-ikev2-vpn-client{1}:  INSTALLED, TUNNEL, reqid 1, ESP in UDP SPIs: 74ab87d0db9ea3d5_i 684cb0dbe4d1a70d_r
ipsec-ikev2-vpn-client{1}:   192.168.0.5/32 === 0.0.0.0/0

Conclusione

Congratulazioni! Hai installato e configurato con successo server VPN e client strongSwan su Ubuntu 18.04. Ora stai attraversando in modo sicuro Internet proteggendo la tua identità, posizione e traffico da ficcanaso e censori:inizia oggi stesso sul tuo server Ubuntu ospitato da VPS da Atlantic.Net!

Scopri di più sui nostri servizi di hosting VPS e sui server privati ​​virtuali.


Linux
  1. Come installare e configurare Algo VPN Server su Ubuntu 20.04

  2. Come installare e configurare il server DHCP su Ubuntu 20.04

  3. Come installare e configurare il server Redis in Ubuntu

  4. Come installare e configurare Fail2ban su Ubuntu?

  5. Come installare e configurare Elasticsearch su Ubuntu 18.04

Come installare e configurare il server LAMP su Ubuntu

Come installare e configurare il server OpenLDAP su Ubuntu 16.04

Come installare e configurare VNC su Ubuntu Server 20.04

Come installare e configurare Parse Server su Ubuntu 20.04

Come installare e configurare un TeamSpeak Server su Ubuntu 18.04

Come installare e configurare un server Minecraft su Ubuntu 18.04