IPSec-tunnel mellem Strongswan bag NAT og VMWare NSX Edge

Af en række årsager var det nødvendigt at organisere en VPN-forbindelse mellem netværket i VMWare Cloud Director og en separat Ubuntu-maskine i skyen. Notatet foregiver ikke at være en fuldstændig beskrivelse, det er blot en lille howto.

IPSec-tunnel mellem Strongswan bag NAT og VMWare NSX Edge

Den eneste artikel om dette emne fra 2015 blev fundet på internettet "Site to Site IPSEC VPN mellem NSX Edge og Linux strongSwan'.

Desværre var det ikke muligt at bruge det direkte, fordi... Jeg ønskede mere pålidelig kryptering, ikke et selvsigneret certifikat, og den beskrevne konfiguration ville ikke have fungeret bag NAT.

Derfor måtte jeg sætte mig ned og dykke ned i dokumentationen.

Som grundlag tog jeg en konfiguration, som jeg havde brugt i lang tid, som giver mig mulighed for at oprette forbindelse fra næsten ethvert OS, og tilføjede simpelthen et stykke til det, der tillader mig at oprette forbindelse til NSX Edge.

Da installation og fuldstændig konfiguration af Strongswan-serveren ligger uden for rammerne af denne note, lad mig henvise til godt materiale om dette emne.

Så lad os gå direkte til indstillingerne.

Vores forbindelsesdiagram vil se sådan ud:

IPSec-tunnel mellem Strongswan bag NAT og 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 fra 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

Skærmbilleder
IPSec-tunnel mellem Strongswan bag NAT og VMWare NSX Edge
IPSec-tunnel mellem Strongswan bag NAT og VMWare NSX Edge

Opsætning 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!"

derefter skal du bare 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 denne lille note er nyttig og sparer nogen et par timer.

Kilde: www.habr.com

Tilføj en kommentar