NAT 後面的 Strongswan 和 VMWare NSX Edge 之間的 IPSec 隧道

由於多種原因,有必要在 VMWare Cloud Director 中的網路與雲端中單獨的 Ubuntu 電腦之間組織 VPN 連線。 該註釋並不假裝是完整的描述,它只是一個小操作指南。

NAT 後面的 Strongswan 和 VMWare NSX Edge 之間的 IPSec 隧道

2015 年有關該主題的唯一一篇文章是在互聯網上找到的“NSX Edge 和 Linux StrongSwan 之間的站點到站點 IPSEC VPN“。

不幸的是,無法直接使用它,因為... 我想要更可靠的加密,而不是自簽名證書,並且所描述的配置在 NAT 後面不起作用。

因此,我不得不坐下來深入研究文件。

作為基礎,我採用了一個我已經使用了很長時間的配置,它允許我從幾乎任何作業系統進行連接,並且只需向其中添加一個部分以允許我連接到 NSX Edge。

由於安裝和完全配置 Strongswan 伺服器超出了本說明的範圍,讓我參考 關於這個主題的好材料.

那麼,讓我們直接進入設定。

我們的連結圖如下所示:

NAT 後面的 Strongswan 和 VMWare NSX Edge 之間的 IPSec 隧道

со стороны 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

截圖
NAT 後面的 Strongswan 和 VMWare NSX Edge 之間的 IPSec 隧道
NAT 後面的 Strongswan 和 VMWare NSX Edge 之間的 IPSec 隧道

Strongswan 的設定:

ipsec設定檔

# /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 秘密

# /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

添加評論