Av flera skäl behövdes det organiseras en VPN-anslutning mellan nätverket i VMWare Cloud Director och en separat Ubuntu-maskin i molnet. Anteckningen gör anspråk på att vara en fullständig beskrivning, det är bara en liten how-to.

I nätverket hittades den enda artikeln från 2015 om detta ämne "».
Tyvärr gick det inte att använda den direkt, eftersom vi ville ha en mer pålitlig kryptering än ett självsignerat certifikat, och dessutom skulle den beskrevna konfigurationen inte fungera bakom NAT.
Därför var jag tvungen att sätta mig ner och gräva i dokumentationen.
Jag använde en konfiguration som jag har använt länge, vilket gör det möjligt att ansluta från nästan vilket operativsystem som helst, och lade bara till en del som gör att vi kan ansluta till NSX Edge.
Eftersom installation och fullständig konfiguration av Strongswan-servern går utanför ramen för denna anteckning, tillåter jag mig att hänvisa till .
Så låt oss gå direkt till inställningarna.
Schema för anslutningen ser ut så här:

från VMWare extern adress 33.33.33.33 och intern nätverk 192.168.1.0/24
från Linux extern adress 22.22.22.22 och intern nätverk 10.10.10.0/24
vi behöver också konfigurera Let's encrypt-certifikat för adressen vpn.linux.ext
PSK på båda sidor: ChangeMeNow!Inställning från NSX Edge:
Text
Enabled: ja
Enable perfect forward secrecy (PFS): ja
Name: VPN_strongswan (valfritt, enligt ditt val)
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
Krypteringsalgoritm: AES256
Autentisering: PSK
Pre-Shared Key: ChangeMeNow!
Diffie-Hellman Group: 14 (2048 bit — ett acceptabelt kompromiss mellan hastighet och säkerhet. Men om du vill kan du sätta högre)
Digest Algorithm: SHA256
IKE Option: IKEv2
IKE Responder Only: nej
Session Type: Policy Based Session Skärmdumpar


Inställning från 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 detta är det tillräckligt att läsa igenom konfigurationen, starta anslutningen och kontrollera att den är etablerad:
ipsec update
ipsec rereadsecrets
ipsec up linux-nsx-psk
ipsec status Jag hoppas att denna lilla anteckning visar sig vara användbar och sparar någon ett par timmar.
Källa: habr.com
