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 뒤에서 작동하지 않았을 것입니다.

그래서 나는 앉아서 문서를 조사해야했습니다.

기본적으로 저는 거의 모든 OS에서 연결할 수 있도록 오랫동안 사용해 왔던 구성을 선택하고 여기에 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.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.비밀

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

이 작은 메모가 도움이 되어 누군가의 시간을 절약해 주기를 바랍니다.

출처 : habr.com

코멘트를 추가