Tuneli IPSec midis Strongswan pas NAT dhe VMWare NSX Edge

Për një sërë arsyesh, ishte e nevojshme të organizohej një lidhje VPN midis rrjetit në VMWare Cloud Director dhe një makinerie të veçantë Ubuntu në cloud. Shënimi nuk pretendon të jetë një përshkrim i plotë, është vetëm një mënyrë e vogël.

Tuneli IPSec midis Strongswan pas NAT dhe VMWare NSX Edge

Artikulli i vetëm për këtë temë nga viti 2015 u gjet në internet "Site në faqe IPSEC VPN midis NSX Edge dhe Linux strongSwan'.

Fatkeqësisht, nuk ishte e mundur të përdoret drejtpërdrejt, sepse ... Doja një kriptim më të besueshëm, jo ​​një certifikatë të vetë-nënshkruar dhe konfigurimi i përshkruar nuk do të kishte funksionuar pas NAT.

Prandaj, më duhej të ulem dhe të thellohesha në dokumentacionin.

Si bazë, mora një konfigurim që kisha përdorur për një kohë të gjatë, i cili më lejon të lidhem nga pothuajse çdo OS, dhe thjesht shtova një pjesë në të që më lejon të lidhem me NSX Edge.

Meqenëse instalimi dhe konfigurimi i plotë i serverit Strongswan është përtej qëllimit të këtij shënimi, më lejoni t'i referohem material i mirë për këtë temë.

Pra, le të kalojmë drejtpërdrejt te cilësimet.

Diagrami ynë i lidhjes do të duket si ky:

Tuneli IPSec midis Strongswan pas NAT dhe 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!

Konfigurimi nga NSX Edge:

Текст

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

Fotografitë
Tuneli IPSec midis Strongswan pas NAT dhe VMWare NSX Edge
Tuneli IPSec midis Strongswan pas NAT dhe VMWare NSX Edge

Konfigurimi nga 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.sekret

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

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

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

pas kësaj, thjesht rilexoni konfigurimin, filloni lidhjen dhe kontrolloni nëse është vendosur:

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

Shpresoj që ky shënim i vogël të jetë i dobishëm dhe t'i kursejë dikujt disa orë.

Burimi: www.habr.com

Shto një koment