نفق IPSec بين Strongswan خلف NAT و VMWare NSX Edge

لعدد من الأسباب، كان من الضروري إنشاء اتصال VPN بين الشبكة في VMWare Cloud Director وجهاز Ubuntu منفصل في السحابة. لا تتظاهر المذكرة بأنها وصف كامل، فهي مجرد دليل إرشادي صغير.

نفق IPSec بين Strongswan خلف NAT و VMWare NSX Edge

المقالة الوحيدة لعام 2015 حول هذا الموضوع تم العثور عليها على الشبكة "موقع إلى موقع IPSEC VPN بين NSX Edge وLinux strongSwan".

لسوء الحظ، لم يكن من الممكن استخدامه مباشرة، لأنه. كنت أرغب في تشفير أكثر موثوقية، وليس شهادة موقعة ذاتيًا، ولن يعمل التكوين الموصوف خلف NAT.

لذلك، كان علي أن أجلس وأتعمق في الوثائق.

كأساس، أخذت التكوين الذي كنت أستخدمه لفترة طويلة، والذي يسمح لك بالاتصال من أي نظام تشغيل تقريبًا، وأضفت ببساطة قطعة إليه تسمح لك بالاتصال بـ NSX Edge.

نظرًا لأن التثبيت والتكوين الكامل لخادم Strongswan يقع خارج نطاق الملاحظة، فاسمح لي بالإشارة إلى ذلك أشياء جيدة حول هذا الموضوع.

لذلك، دعونا نذهب مباشرة إلى الإعدادات.

سيبدو مخطط الاتصال الخاص بنا كما يلي:

نفق IPSec بين Strongswan خلف NAT و 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!

الإعداد بواسطة 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

لقطات
نفق IPSec بين Strongswan خلف NAT و VMWare NSX Edge
نفق IPSec بين Strongswan خلف NAT و VMWare NSX Edge

الإعداد بواسطة 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!"

بعد ذلك، ما عليك سوى إعادة قراءة التكوين، وبدء الاتصال والتحقق من إنشائه:

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

آمل أن تكون هذه الملاحظة الصغيرة مفيدة وتوفر على شخص ما بضع ساعات.

المصدر: www.habr.com

إضافة تعليق