IPSec tunelis tarp Strongswan už NAT ir VMWare NSX Edge

Dėl daugelio priežasčių reikėjo organizuoti VPN ryšį tarp tinklo VMWare Cloud Director ir atskiro Ubuntu įrenginio debesyje. Užrašas nepretenduoja į išsamų aprašymą, tai tik mažas patarimas.

IPSec tunelis tarp Strongswan už NAT ir VMWare NSX Edge

Internete rastas vienintelis straipsnis šia tema nuo 2015 m.Svetainė į svetainę IPSEC VPN tarp NSX Edge ir Linux strongSwan".

Deja, tiesiogiai juo pasinaudoti nebuvo galima, nes... Norėjau patikimesnio šifravimo, o ne savarankiškai pasirašyto sertifikato, o aprašyta konfigūracija nebūtų veikusi už NAT.

Todėl teko sėsti ir gilintis į dokumentaciją.

Kaip pagrindą paėmiau ilgą laiką naudojamą konfigūraciją, leidžiančią prisijungti beveik iš bet kurios OS, ir tiesiog pridėjau prie jos dalį, leidžiančią prisijungti prie NSX Edge.

Kadangi Strongswan serverio įdiegimas ir visiškas konfigūravimas nepatenka į šios pastabos taikymo sritį, leiskite man pasikalbėti gera medžiaga šia tema.

Taigi, pereikime tiesiai prie nustatymų.

Mūsų ryšio schema atrodys taip:

IPSec tunelis tarp Strongswan už NAT ir 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!

Konfigūracija iš NSX Edge:

Tekstas

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

Ekrano nuotraukos
IPSec tunelis tarp Strongswan už NAT ir VMWare NSX Edge
IPSec tunelis tarp Strongswan už NAT ir VMWare NSX Edge

Sąranka iš 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.slaptas

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

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

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

po to tiesiog dar kartą perskaitykite konfigūraciją, paleiskite ryšį ir patikrinkite, ar jis užmegztas:

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

Tikiuosi, kad šis mažas užrašas bus naudingas ir kažkam sutaupys porą valandų.

Šaltinis: www.habr.com

Добавить комментарий