IPSec tunnel mellem Strongswan bag NAT og VMWare NSX Edge

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.

IPSec tunnel mellem Strongswan bag NAT og VMWare NSX Edge

I netværket fandtes der kun en artikel fra 2015 om emnet «Site to Site IPSEC VPN mellem NSX Edge og Linux strongSwan».

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 et glimrende materiale om emnet.

Så lad os gå direkte til indstillingerne.

Forbindelsesskemaet vil se sådan ud:

IPSec tunnel mellem Strongswan bag NAT og VMWare NSX Edge

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
IPSec tunnel mellem Strongswan bag NAT og VMWare NSX Edge
IPSec tunnel mellem Strongswan bag NAT og VMWare NSX Edge

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=1h

ipsec.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

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster