IPSec-tunnel tussen Strongswan achter NAT en VMWare NSX Edge

Om een ​​aantal redenen was het nodig om een ​​VPN-verbinding te organiseren tussen het netwerk in VMWare Cloud Director en een aparte Ubuntu-machine in de cloud. De notitie pretendeert niet een volledige beschrijving te zijn, het is slechts een kleine handleiding.

IPSec-tunnel tussen Strongswan achter NAT en VMWare NSX Edge

Het enige artikel over dit onderwerp uit 2015 is op internet gevonden “Site-to-site IPSEC VPN tussen NSX Edge en Linux strongSwan.

Helaas was het niet mogelijk om het direct te gebruiken, omdat... Ik wilde een betrouwbaardere codering, geen zelfondertekend certificaat, en de beschreven configuratie zou niet hebben gewerkt achter NAT.

Daarom moest ik gaan zitten en me verdiepen in de documentatie.

Als basis heb ik een configuratie genomen die ik al heel lang gebruik, waarmee ik vanaf vrijwel elk besturingssysteem verbinding kan maken, en er eenvoudigweg een stukje aan toevoegen waarmee ik verbinding kan maken met NSX Edge.

Omdat het installeren en volledig configureren van de Strongswan-server buiten het bestek van deze notitie valt, wil ik hier naar verwijzen goed materiaal over dit onderwerp.

Laten we dus direct naar de instellingen gaan.

Ons aansluitschema ziet er als volgt uit:

IPSec-tunnel tussen Strongswan achter NAT en VMWare NSX Edge

со стороны VMWare внешний адрес 33.33.33.33 и внутренняя сеть 192.168.1.0/24
со стороны Linux внешний адрес 22.22.22.22 и внутренняя сеть 10.10.10.0/24
также понадобится настроить Let's encrypt сертификат для адреса vpn.linux.ext
PSK с обеих сторон: ChangeMeNow!

Configuratie vanaf NSX Edge:

tekst

Enabled: yes
Enable perfect forward secrecy (PFS): yes
Name: VPN_strongswan (любое, по вашему выбору)
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 — приемлемый компромисс между скоростью и безопасностью. Но если хотите, можете поставить больше)
Digest Algorithm: SHA256
IKE Option: IKEv2
IKE Responder Only: no
Session Type: Policy Based Session

Schermafbeeldingen
IPSec-tunnel tussen Strongswan achter NAT en VMWare NSX Edge
IPSec-tunnel tussen Strongswan achter NAT en VMWare NSX Edge

Installatie vanuit 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.geheim

# /etc/ipsec.secrets
: RSA privkey.pem

# Create VPN users accounts
# ВНИМАНИЕ! После логина сначала пробел, потом двоеточие.

user1 : EAP "stongPass1"
user2 : EAP "stongPass2"
%any 33.33.33.33 : PSK "ChangeMeNow!"

lees daarna de configuratie opnieuw, start de verbinding en controleer of deze tot stand is gebracht:

ipsec update
ipsec rereadsecrets
ipsec up linux-nsx-psk
ipsec status

Ik hoop dat dit kleine briefje nuttig is en iemand een paar uur bespaart.

Bron: www.habr.com

Voeg een reactie