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.