[Системное администрирование] IPSec туннель между Strongswan за NAT и VMWare NSX Edge

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
16-Сен-2020 19:41

В силу ряда причин, потребовалось организовать VPN-соединение между сетью в VMWare Cloud Director и отдельной машиной Ubuntu в облаке. Заметка не претендует на полноценное описание, это просто небольшое howto.

В сети нашлась единственная статья 2015 года на эту тему «Site to Site IPSEC VPN between NSX Edge and Linux strongSwan».
К сожалению, напрямую её использовать не получилось, т.к. хотелось шифрования понадёжнее, не самоподписанного сертификата, да и за NAT-ом описываемый конфиг не заработал бы.
Поэтому, пришлось сесть и покопаться в документации.
За основу я взял давно используемый мной конфиг, позволяющий подключаться практически из любой ОС и просто добавил к нему кусок, позволяющий подключиться к NSX Edge.
Поскольку установка и полноценная настройка сервера Strongswan выходят за рамки заметки, позволю себе сослаться на неплохой материал на эту тему.
Итак, перейдём непосредственно к настройкам.
Схема соединения у нас будет выглядеть вот так:

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

Текст

SPL
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

Скриншоты

SPL


Настройка со стороны Strongswan:

ipsec.conf

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

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

Похожие новости: Теги для поиска: #_sistemnoe_administrirovanie (Системное администрирование), #_vpn, #_ipsec, #_nsx_edge, #_sistemnoe_administrirovanie (
Системное администрирование
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 24-Ноя 11:49
Часовой пояс: UTC + 5