IPSec tunnel sa pagitan ng Strongswan sa likod ng NAT at VMWare NSX Edge

Para sa ilang kadahilanan, kinailangan na ayusin ang isang koneksyon sa VPN sa pagitan ng network sa VMWare Cloud Director at isang hiwalay na makina ng Ubuntu sa cloud. Ang tala ay hindi nagpapanggap na isang buong paglalarawan, ito ay isang maliit na howto.

IPSec tunnel sa pagitan ng Strongswan sa likod ng NAT at VMWare NSX Edge

Ang tanging artikulo sa paksang ito mula 2015 ay natagpuan sa Internet "Site to Site IPSEC VPN sa pagitan ng NSX Edge at Linux strongSwan'.

Sa kasamaang palad, hindi ito maaaring gamitin nang direkta, dahil... Gusto ko ng mas maaasahang encryption, hindi isang self-signed certificate, at ang inilarawang config ay hindi gagana sa likod ng NAT.

Samakatuwid, kinailangan kong umupo at suriin ang dokumentasyon.

Bilang batayan, kumuha ako ng config na matagal ko nang ginagamit, na nagpapahintulot sa akin na kumonekta mula sa halos anumang OS, at nagdagdag lamang ng isang piraso dito na nagpapahintulot sa akin na kumonekta sa NSX Edge.

Dahil ang pag-install at ganap na pag-configure ng Strongswan server ay lampas sa saklaw ng talang ito, hayaan mo akong sumangguni sa magandang materyal sa paksang ito.

Kaya, lumipat tayo nang direkta sa mga setting.

Ang aming diagram ng koneksyon ay magiging ganito:

IPSec tunnel sa pagitan ng Strongswan sa likod ng NAT at 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!

Configuration mula sa NSX Edge:

Teksto

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

Screenshot
IPSec tunnel sa pagitan ng Strongswan sa likod ng NAT at VMWare NSX Edge
IPSec tunnel sa pagitan ng Strongswan sa likod ng NAT at VMWare NSX Edge

Setup mula sa 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.lihim

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

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

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

pagkatapos nito, basahin muli ang config, simulan ang koneksyon at suriin na ito ay itinatag:

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

Umaasa ako na ang maliit na tala na ito ay kapaki-pakinabang at nakakatipid ng isang tao ng ilang oras.

Pinagmulan: www.habr.com

Magdagdag ng komento