IPSec-tunnel mellan Strongswan bakom NAT och VMWare NSX Edge

Av flera skäl var det nödvändigt att organisera en VPN-anslutning mellan nätverket i VMWare Cloud Director och en separat Ubuntu-maskin i molnet. Anteckningen låtsas inte vara en fullständig beskrivning, det är bara en liten howto.

IPSec-tunnel mellan Strongswan bakom NAT och VMWare NSX Edge

Den enda artikeln om detta ämne från 2015 hittades på Internet "Site to Site IPSEC VPN mellan NSX Edge och Linux strongSwan".

Tyvärr gick det inte att använda det direkt, eftersom... Jag ville ha mer tillförlitlig kryptering, inte ett självsignerat certifikat, och den beskrivna konfigurationen skulle inte ha fungerat bakom NAT.

Därför fick jag sätta mig ner och fördjupa mig i dokumentationen.

Som grund tog jag en konfiguration som jag hade använt länge, som gör att jag kan ansluta från nästan vilket operativsystem som helst, och jag lade helt enkelt till en del som gör att jag kan ansluta till NSX Edge.

Eftersom installation och fullständig konfiguration av Strongswan-servern ligger utanför ramen för denna anteckning, låt mig hänvisa till bra material om detta ämne.

Så låt oss gå direkt till inställningarna.

Vårt anslutningsdiagram kommer att se ut så här:

IPSec-tunnel mellan Strongswan bakom NAT och 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!

Konfiguration från NSX Edge:

Text

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

Skärmdumpar
IPSec-tunnel mellan Strongswan bakom NAT och VMWare NSX Edge
IPSec-tunnel mellan Strongswan bakom NAT och VMWare NSX Edge

Installation 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=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 det, läs bara konfigurationen igen, starta anslutningen och kontrollera att den är etablerad:

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

Jag hoppas att den här lilla anteckningen är till hjälp och sparar någon ett par timmar.

Källa: will.com

Lägg en kommentar