[Системное администрирование] IPSec туннель между Strongswan за NAT и VMWare NSX Edge
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
В силу ряда причин, потребовалось организовать 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
===========
Похожие новости:
- [Cisco, Сетевые технологии] VxLAN фабрика. Часть 3
- [Open source, Системное администрирование] Поддержка черных и белых списков для метрик на стороне агента в Zabbix 5.0
- [PostgreSQL, DevOps, Системное администрирование] У нас там Postgres, но я хз что с ним делать. (с)
- [Big Data, SQL, Высокая производительность, Системное администрирование, Хранилища данных] Возможности ClickHouse для продвинутых разработчиков. Алексей Миловидов (2018г)
- [Системное администрирование, Серверное администрирование, DevOps, Kubernetes] Хранение данных в кластере Kubernetes
- [DevOps, Kubernetes, Серверное администрирование, Системное администрирование] Google добавил поддержку Kubernetes в Confidential Computing (перевод)
- [Системное администрирование] Zabbix. Что делать, если принтер не делится информацией по SNMP?
- [Информационная безопасность, Системное администрирование, DevOps, Kubernetes] От Threat Modeling до безопасности AWS: 50+ open-source инструментов для выстраивания безопасности DevOps
- [IT-инфраструктура, Будущее здесь, Системное администрирование, Управление сообществом] Инфосистемы Джет продали в Беларусь оборудование для блокировки интернета
- [Системное администрирование, Разработка под Linux, DevOps, Разработка под Windows] Нужен ли еще один курс по Git?
Теги для поиска: #_sistemnoe_administrirovanie (Системное администрирование), #_vpn, #_ipsec, #_nsx_edge, #_sistemnoe_administrirovanie (
Системное администрирование
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 24-Ноя 09:17
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
В силу ряда причин, потребовалось организовать 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: ТекстSPLEnabled: 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.confSPL# /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.secretSPL# /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 =========== Похожие новости:
Системное администрирование ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 24-Ноя 09:17
Часовой пояс: UTC + 5