Af flere grunde var det nødvendigt at etablere en VPN-forbindelse mellem netværket i VMWare Cloud Director og en separat Ubuntu-maskine i skyen. Notatet gør ikke krav på at være en fuldstændig beskrivelse, det er blot en lille howto.

I netværket fandtes der kun en artikel fra 2015 om emnet «».
Desværre kunne den ikke bruges direkte, da jeg ønskede stærkere kryptering end et selvsigneret certifikat, og konfigurationen ville ikke fungere bag NAT.
Derfor måtte jeg sætte mig ned og dykke ned i dokumentationen.
Som udgangspunkt tog jeg en konfiguration, som jeg har brugt i lang tid, der tillader tilslutning fra næsten enhver OS, og tilføjede blot et stykke, som gør det muligt at tilslutte til NSX Edge.
Da installation og fuldstændig konfiguration af Strongswan-serveren ligger uden for rammerne af notatet, tillader jeg mig at henvise til .
Så lad os gå direkte til indstillingerne.
Forbindelsesskemaet vil se sådan ud:

fra VMWare den offentlige adresse 33.33.33.33 og det interne netværk 192.168.1.0/24
fra Linux den offentlige adresse 22.22.22.22 og det interne netværk 10.10.10.0/24
du skal også konfigurere Let's encrypt certifikatet til adressen vpn.linux.ext
PSK fra begge sider: ChangeMeNow!Konfiguration fra NSX Edge:
Text
Enabled: yes
Enable perfect forward secrecy (PFS): yes
Name: VPN_strongswan (hvilket som helst af dit valg)
Local Id: 33.33.33.33
Local Endpoint: 33.33.33.33
Local Subnets: 192.168.1.0/24
Peer Id: vpn.linux.ext
Peer Endpoint: 22.22.22.22
Peer Subnets: 10.10.10.0/24
Encryption Algorithm: AES256
Authentication: PSK
Pre-Shared Key: ChangeMeNow!
Diffie-Hellman Group: 14 (2048 bit — en acceptabel kompromis mellem hastighed og sikkerhed. Men hvis du ønsker det, kan du vælge en større)
Digest Algorithm: SHA256
IKE Option: IKEv2
IKE Responder Only: no
Session Type: Policy Based Session Screenshots


Konfiguration fra Strongswan:
ipsec.conf
# /etc/ipsec.conf
config setup
conn %default
dpdaction=clear
dpddelay=35s
dpdtimeout=300s
fragmentation=yes
rekey=no
ike=aes256gcm16-aes256gcm12-aes128gcm16-aes128gcm12-sha256-sha1-modp2048-modp4096-modp1024,aes256-aes128-sha256-sha1-modp2048-modp4096-modp1024,3des-sha1-modp1024!
esp=aes128gcm12-aes128gcm16-aes256gcm12-aes256gcm16-modp2048-modp4096-modp1024,aes128-aes256-sha1-sha256-modp2048-modp4096-modp1024,aes128-sha1-modp2048,aes128-sha1-modp1024,3des-sha1-modp1024,aes128-aes256-sha1-sha256,aes128-sha1,3des-sha1!
left=%any
leftsubnet=10.10.10.0/24
leftcert=certificate.pem
leftfirewall=yes
leftsendcert=always
right=%any
rightsourceip=192.168.1.0/24
rightdns=77.88.8.8,8.8.4.4
eap_identity=%identity
# IKEv2
conn IPSec-IKEv2
keyexchange=ikev2
auto=add
# BlackBerry, Windows, Android
conn IPSec-IKEv2-EAP
also="IPSec-IKEv2"
rightauth=eap-mschapv2
# macOS, iOS
conn IKEv2-MSCHAPv2-Apple
also="IPSec-IKEv2"
rightauth=eap-mschapv2
leftid=vpn.linux.ext
# Android IPsec Hybrid RSA
conn IKEv1-Xauth
keyexchange=ikev1
rightauth=xauth
auto=add
# VMWare IPSec VPN
conn linux-nsx-psk
authby=secret
auto=start
leftid=vpn.linux.ext
left=10.10.10.10
leftsubnet=10.10.10.0/24
rightid=33.33.33.33
right=33.33.33.33
rightsubnet=192.168.1.0/24
ikelifetime=28800
keyexchange=ikev2
lifebytes=0
lifepackets=0
lifetime=1hipsec.secret
# /etc/ipsec.secrets
: RSA privkey.pem
# Create VPN users accounts
# ВНИМАНИЕ! После логина сначала пробел, потом двоеточие.
user1 : EAP "stongPass1"
user2 : EAP "stongPass2"
%any 33.33.33.33 : PSK "ChangeMeNow!"Efter dette er det tilstrækkeligt at genlæse konfigurationen, starte forbindelsen og kontrollere, at den er etableret:
ipsec update
ipsec rereadsecrets
ipsec up linux-nsx-psk
ipsec status Jeg håber, at dette lille notat vil være nyttigt og spare nogen et par timer.
Kilde: habr.com
