Tunel IPSec între Strongswan în spatele NAT și VMWare NSX Edge

Din mai multe motive, a fost necesar să se organizeze o conexiune VPN între rețea în VMWare Cloud Director și o mașină separată Ubuntu în cloud. Nota nu pretinde a fi o descriere completă, este doar un mic tutorial.

Tunel IPSec între Strongswan în spatele NAT și VMWare NSX Edge

Singurul articol pe această temă din 2015 a fost găsit pe Internet „VPN IPSEC de la site la site între NSX Edge și Linux strongSwan".

Din păcate, nu a fost posibilă utilizarea directă, deoarece... Am vrut o criptare mai fiabilă, nu un certificat autosemnat, iar configurația descrisă nu ar fi funcționat în spatele NAT.

Prin urmare, a trebuit să mă așez și să mă adâncesc în documentație.

Ca bază, am luat o configurație pe care o foloseam de mult timp, care îmi permite să mă conectez de la aproape orice sistem de operare și pur și simplu i-am adăugat o piesă care îmi permite să mă conectez la NSX Edge.

Deoarece instalarea și configurarea completă a serverului Strongswan depășește domeniul de aplicare al acestei note, permiteți-mi să mă refer la material bun pe acest subiect.

Deci, să trecem direct la setări.

Diagrama noastră de conectare va arăta astfel:

Tunel IPSec între Strongswan în spatele NAT și 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!

Configurare din 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

Capturi de ecran
Tunel IPSec între Strongswan în spatele NAT și VMWare NSX Edge
Tunel IPSec între Strongswan în spatele NAT și VMWare NSX Edge

Configurare de la 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!"

după aceea, recitiți configurația, porniți conexiunea și verificați dacă este stabilită:

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

Sper că această mică notă este de ajutor și economisește pe cineva câteva ore.

Sursa: www.habr.com

Adauga un comentariu