VDI үшін IPsec
VK Cloud базасында VPN-туннельді ұйымдастыру үшін маршрутизатордың артында орналасқан бір немесе бірнеше бар ішкі желіні көрсету қажет. Бұл VDI үшін VPN-қосылымды баптауға мүмкіндік бермейді, өйткені VDI-ге арналған ішкі желілер алдын ала анықталған адрестік кеңістікте динамикалық түрде құрылады. VDI ортасымен сәтті интеграциялау үшін VPN-туннельді IaaS ВМ (виртуалды машина) базасындағы арнайы VPN-серверді пайдаланып ұйымдастыруға болады. Бұл VDI баптауларында көрсетілген CIDR-ге дейін қорғалған байланыс орнатуға мүмкіндік береді.
Виртуалды жұмыс үстелдерімен қорғалған қосылымды баптауды көрсету үшін:
- LDAP ортасы мен VK Cloud ішіндегі VDI ортасы арасында VPN-туннель құрылады.
- LDAP жағында VPN-шешім ретінде VK Cloud құрамына кіріктірілген VPN сервисі пайдаланылады. Нақты сценарийде сіз IPsec Site-2-Site технологиясы бойынша VPN-қосылым құру мүмкіндігі бар кез келген жабдықты немесе БҚ-ны пайдалана аласыз.
- VDI жағында VPN-шешім ретінде Debian 11 ОС негізіндегі ВМ және қосымша strongSwan пакеттері пайдаланылады.
- Debian 11 базасындағы VPN-шлюзді VDI желілері қалыптасатын VK Cloud маршрутизаторымен байланыстыратын транзиттік желі құрылады.
- VDI-ді имитациялау үшін ВМ бар желі қосылады. Желілік байланысты тексеру үшін ВМ LDAP-серверді ping арқылы тексереді.
-
OpenStack клиенті ссылка көз жеткізіңіз және жобада аутентификациядан өтіңіз.
-
LDAP ортасын жасаңыз:
-
VK Cloud ішінде интернетке қолжетімді виртуалды желіні таңдаңыз немесе жасаңыз. Сыртқы желіге қосылған бар маршрутизаторды пайдаланыңыз немесе жаңасын ссылка.
Келесі ақпаратты жазып алыңыз:
- ішкі желінің IP-мекенжайы;
- маршрутизатордың IP-мекенжайы мен атауы.
-
Таңдалған желіде Windows Server 2019 ОС-пен LINK_NOT_DEFINED(../../../../computing/iaas/instructions/vm/vm-create).
ВМ атауы мен IP-мекенжайын жазып алыңыз.
-
-
VDI ортасын жасаңыз:
-
VK Cloud ішінде интернетке қолжетімді, транзиттік желі функциясын орындайтын виртуалды желіні таңдаңыз немесе жасаңыз. Сыртқы желіге қосылған бар маршрутизаторды пайдаланыңыз немесе жаңасын ссылка.
Келесі ақпаратты жазып алыңыз:
- ішкі желінің IP-мекенжайы;
- маршрутизатордың IP-мекенжайы мен атауы.
-
VDI-ді имитациялайтын желі үшін CIDR-ді алдын ала бөліңіз. CIDR VDI ортасын баптау үшін пайдаланылады.
Ішкі желінің IP-мекенжайын (CIDR) жазып алыңыз.
-
-
LINK_NOT_DEFINED(../../../../computing/iaas/instructions/vm/vm-create). Бұл әрі қарайғы баптау кезінде Floating IP-мекенжайын қолданбауға мүмкіндік береді.
ВМ параметрлері:
- ОС: Debian 11;
- Ұсынылатын ВМ түрі:
STD3-2-4.
ВМ атауы мен IP-мекенжайын жазып алыңыз.
-
Debian ВМ-дағы ОС-ны жаңартыңыз:
-
SSH арқылы
Debian-IPsec-Gateвиртуалды машинасына LINK_NOT_DEFINED(../../../../computing/iaas/instructions/vm/vm-connect/vm-connect-nix) және root-пайдаланушы құқықтарын алыңыз (sudo bashпәрмені). -
Әрі қарайғы баптау алдында ОС-ны жаңартыңыз:
apt update && apt upgrade -y -
rebootпәрмені арқылы ВМ-ды қайта жүктеңіз.
-
-
Әрі қарай жұмыс істеу үшін қажет барлық мәлімет жиналғанына көз жеткізіңіз.
Төменде мысал ретінде келесі деректер пайдаланылады:
-
AD/LDAP ортасы:
- ішкі желінің IP-мекенжайы:
10.10.2.0/24; - маршрутизатордың атауы мен IP-мекенжайы:
priv-router,146.185.241.42; - AD/LDAP-сервердің атауы мен IP-мекенжайы:
LDAP,10.10.2.14.
- ішкі желінің IP-мекенжайы:
-
VDI ортасы:
- ішкі желінің IP-мекенжайы:
10.56.0.0/24; - VDI үшін ішкі желінің IP-мекенжайы:
10.55.4.0/22; - маршрутизатордың атауы мен IP-мекенжайы:
vdi-router,146.185.241.242.
- ішкі желінің IP-мекенжайы:
-
Сыртқы желідегі виртуалды машинаның атауы мен IP-мекенжайы:
Debian-IPsec-Gate,212.233.72.226.
-
Желілерді алдын ала дайындау схемасы:
Жеке кабинетте LINK_NOT_DEFINED(../../../../networks/vnet/instructions/vpn):
-
Настройка IKE қадамында бастапқы IPsec-қосылым үшін алгоритмдерді көрсетіңіз:
- IKE-политика:
Новая IKE политика; - Имя политики:
d11-gate-ike; - Время жизни ключа:
28800; - Алгоритм авторизации:
sha256; - Алгоритм шифрования:
aes-256; - Версия IKE:
v2; - Группа Диффи-Хеллмана:
group14.
- IKE-политика:
-
Настройка IPsec қадамында түйіндер арасындағы пайдалы трафикті қорғау үшін алгоритмдерді көрсетіңіз:
- IPsec-политика:
Новая IPsec политика; - Имя политики:
d11-gate-ike; - Время жизни ключа:
28800; - Алгоритм авторизации:
sha256; - Алгоритм шифрования:
aes-256; - Версия IKE:
v2; - Группа Диффи-Хеллмана:
group14.
- IPsec-политика:
-
Создание Endpoint Groups қадамында VPN арқылы қорғалатын трафик өтетін желілерді көрсетіңіз:
- Маршрутизатор:
priv-router; - Local Endpoint:
Новая endpoint-группа; - Имя:
d11-tunnel-local-acl; - Подсети:
priv_subnet_demo (10.10.2.0/24); - Remote Endpoint:
Новая endpoint-группа; - Имя группы:
d11-tunnel-remote-acl; - Адрес подсети:
10.55.4.0/22.
- Маршрутизатор:
-
Настройка туннеля қадамында IPsec-қосылым орнатылатын қашықтағы шлюздің мекенжайын және аутентификацияға арналған кілтті (PSK) көрсетіңіз:
- Настройки:
Расширенные; - Имя туннеля:
d11-ipsec-tun; - Публичный IPv4 адрес пира (Peer IP):
212.233.72.226; - Ключ совместного использования (PSK): Сгенерировать түймесін басыңыз немесе өз кілтіңізді енгізіңіз;
- Идентификатор маршрутизатора пира для аутентификации (Peer ID):
212.233.72.226; - Состояние инициатора:
bi-directional; - При обнаружении недоступности пира:
restart; - Интервал обнаружения недоступности пира: 15 секунд;
- Время для обнаружения недоступности пира: 60 секунд.
- Настройки:
VDI ортасы жағында VPN-туннельді баптау үшін Debian серверіне 10.56.0.4 мекенжайын байлап, vdi-transit-vsubnet ішкі желісіне қосымша желілік интерфейс қосыңыз:
-
Жеке кабинетте Облачные вычисления → Виртуальные машины бөліміне өтіңіз.
-
Debian-IPsec-GateВМ-ын таңдап, Сети қойындысына өтіңіз. -
Добавить подключение түймесін басыңыз.
-
Қосылымның келесі баптауларын көрсетіңіз:
- Имя:
vdi-transit; - Сеть подключения:
vdi-transit-vsubnet; - DNS-имя:
debian-ipsec-gate; - Задать IP-адрес: опцияны қосыңыз;
- IP-адрес:
10.56.0.4; - Настройки Firewall: барлық ережені жойыңыз.
- Имя:
-
Сохранить түймесін басыңыз.
-
SSH арқылы
Debian-IPsec-Gateвиртуалды машинасына LINK_NOT_DEFINED(../../../../computing/iaas/instructions/vm/vm-connect/vm-connect-nix) және root-пайдаланушы құқықтарын алыңыз (sudo bashпәрмені). -
Келесі пәрменнің көмегімен
eth1файлын жасаңыз:vim /etc/network/interfaces.d/eth1 -
Жасалған файлға келесі жолдарды қосыңыз:
auto eth1iface eth1 inet staticaddress 10.56.0.4/24mtu 1500post-up ip route add 10.55.4.0/22 via 10.56.0.1 || truepre-down ip route del 10.55.4.0/22 via 10.56.0.1 || true -
Жаңа желілік баптауларды қолдану үшін пәрменді орындаңыз:
systemctl restart networking -
eth1интерфейсінің IP-мекенжайы дұрыс бапталғанын тексеріңіз:ip a | grep 10.56Егер жауап ретінде мына жол қайтса, интерфейс дұрыс бапталған:
inet 10.56.0.4/24 brd 10.56.0.7 scope global eth1 -
10.55.4.0/22желісіне маршрут дұрыс бапталғанын тексеріңіз:ip r | grep 10.55Егер жауап ретінде мына жол қайтса, болашақ VDI желісіне маршрут дұрыс және автоматты түрде қосылған:
10.55.4.0/22 via 10.56.0.1 dev eth1
VPN-шлюз порты кез келген трафикті жібере алуы үшін ондағы IP-адрес Source Guard қорғанысын өшіріңіз:
-
Жаңа терминал сессиясын ашып, пәрменді орындаңыз:
openstack port list --server Debian-IPsec-GateЖауапта
Debian-IPsec-Gateпорттарының тізімі қайтарылады. Транзиттік желі жағына бағытталған портты табыңыз:+--------------------------------------+-------------+-------------------+-------------------------------------------------------------------------------+--------+| ID | Name | MAC Address | Fixed IP Addresses | Status |+--------------------------------------+-------------+-------------------+-------------------------------------------------------------------------------+--------+| 4d75dafe-d562-462a-afe9-31ede945a196 | | fa:16:3e:34:e1:3a | ip_address='212.233.72.226', subnet_id='9ec13002-fb52-4e00-ac69-84d86a75d807' | ACTIVE || f00c7678-47c0-4d88-9be2-b5592de9112f | vdi-transit | fa:16:3e:fe:e2:26 | ip_address='10.56.0.4', subnet_id='2f50371c-4e91-4f05-aff1-33bef1388fdf' | ACTIVE |+--------------------------------------+-------------+-------------------+-------------------------------------------------------------------------------+--------+ -
Port Security-ді өшіріңіз:
openstack port set --disable-port-security f00c7678-47c0-4d88-9be2-b5592de9112f
Виртуалды машина транзиттік желіден VPN-туннельге трафикті бағдарлай алуы үшін IP Forwarding-ті қосыңыз:
-
Қосылған
Debian-IPsec-GateВМ-мен терминал сессиясын ашыңыз. -
Пәрменді орындаңыз:
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf -
ОС-ны қайта жүктемей баптауларды қолдану үшін пәрменді орындаңыз:
sysctl -p -
Баптаулардың қолданылғанын тексеріңіз:
cat /proc/sys/net/ipv4/ip_forwardЕгер жауапта
1қайтса, пакеттерді қайта жіберу қосылған.
-
Пәрменді орындаңыз:
apt install vim strongswan strongswan-swanctl iptables iptables-persistent netfilter-persistent conntrack bmon -yiptables-persistentпакеті iptables ережелерінің белсенді кестесінің конфигурациясын файлға жазу және ОС қайта іске қосылғанда трафикті өңдеу үшін ережелер тізімін жүктеу мақсатында пайдаланылады. -
strongswanжәнеnetfilterсервистерінің автоматты іске қосылуын қосыңыз:systemctl enable strongswan-startersystemctl start strongswan-startersystemctl enable netfilter-persistent
-
VPN-қосылымын баптау үшін swanctl конфигурациялық файлын жасаңыз:
vim /etc/swanctl/conf.d/vkcloud.conf -
swanctlфайлына келесі жолдарды қосыңыз:connections {vkcloud-ikev2 {remote_addrs = 146.185.241.42local_addrs = 212.233.72.226version = 2proposals = aes256-sha256-modp2048dpd_delay = 15sdpd_timeout = 60rekey_time = 28800slocal-1 {auth = pskid = 212.233.72.226}remote-1 {auth = pskid = 146.185.241.42}children {vkcloud-sa {mode = tunnellocal_ts = 10.55.4.0/22remote_ts = 10.10.2.0/24esp_proposals = aes256-sha256-modp2048dpd_action = restartrekey_time = 14400sstart_action = start}}}}secrets {ike-vkcloud {id = 146.185.241.42secret = <PSK_Secret>}}Мұнда
<PSK_Secret>— бұрын жасалған ортақ пайдалану кілті (PSK). -
ОС қайта жүктелген кезде VPN-қосылымын іске қосуды автоматтандырыңыз:
-
Пәрменді орындаңыз:
vim /etc/strongswan.d/charon.conf -
# Section containing a list of scriptsжолын тауып, оған swanctl конфигурациясын оқу пәрменін қосыңыз:start-scripts {swanctl = /usr/sbin/swanctl --load-all}
-
-
Конфигурацияның жаңа параметрлерін қолдану және VPN-қосылымын іске қосу үшін пәрменді орындаңыз:
swanctl --load-all -
VPN-қосылым конфигурациясының жүктелуін тексеріңіз:
swanctl --list-connsКүтілетін жауап:
vkcloud-ikev2: IKEv2, no reauthentication, rekeying every 28800s, dpd delay 15slocal: 212.233.72.226remote: 146.185.241.42local pre-shared key authentication:id: 212.233.72.226remote pre-shared key authentication:id: 146.185.241.42vkcloud-sa: TUNNEL, rekeying every 14400s, dpd action is restartlocal: 10.55.4.0/22remote: 10.10.2.0/24 -
IKE/SA туннельдерінің орнатылғанын тексеріңіз:
swanctl --list-sasКүтілетін жауап:
vkcloud-ikev2: #1, ESTABLISHED, IKEv2, e462fc2edaae6649_i* e9f38c18ddd4f0ef_rlocal '212.233.72.226' @ 212.233.72.226[4500]remote '146.185.241.42' @ 146.185.241.42[4500]AES_CBC-256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048established 3053s ago, rekeying in 23290s, reauth in 22543svkcloud-sa: #1, reqid 1, INSTALLED, TUNNEL, ESP:AES_CBC-256/HMAC_SHA2_256_128installed 3053s ago, rekeying in 10951s, expires in 12787sin ca12c3fa, 0 bytes, 0 packetsout cce2ec61, 0 bytes, 0 packetslocal 10.55.4.0/22remote 10.10.2.0/24
VPN-туннель арқылы трафик дұрыс өтуі үшін iptables тізбектеріне бірқатар баптауды қосыңыз:
-
IPsec VPN-туннелінің дұрыс жұмыс істеуі үшін мақсатты трафикті (from Source to Destination) алып тастау ережесін жасаңыз. Ережені NAT Postrouting тізбегінде интернетке трафик шыққанда PAT-трансляциясын орнататын ережеден бұрын орналастырыңыз.
NAT кестесіне ережені қосыңыз:
iptables -t nat -A POSTROUTING -s 10.55.4.0/22 -d 10.10.2.0/24 -j ACCEPT -
Деректер пакеттерінің фрагментациясын болдырмау үшін TCP MSS-ті оңтайландырыңыз. Ол үшін FORWARD тізбектеріне ереже қосыңыз. MSS (Maximum Segment Size) мәні әр туннель мен интернет-қосылымның жеке сипаттамаларына қарай таңдалады.
MANGLE кестесіне ережелерді қосыңыз:
iptables -t mangle -A FORWARD -s 10.10.2.0/24 -d 10.55.4.0/22 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1321:65495 -j TCPMSS --set-mss 1320iptables -t mangle -A FORWARD -s 10.55.4.0/22 -d 10.10.2.0/24 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1321:65495 -j TCPMSS --set-mss 1320 -
Баптауларды сақтаңыз:
service netfilter-persistent save
-
Жеке кабинетте Виртуальные сети → Маршрутизаторы бөліміне өтіңіз.
-
vdi-routerмаршрутизаторын таңдап, Статические маршруты қойындысына өтіңіз. -
Добавить статический маршрут түймесін басыңыз.
-
Маршрут параметрлерін көрсетіңіз:
- Сеть назначения (CIDR):
10.10.2.0/24; - Промежуточный узел (Next HOP):
10.56.0.4.
- Сеть назначения (CIDR):
-
Добавить маршрут түймесін басыңыз.
-
CIDR
10.55.4.0/22жәнеvdi-routerмаршрутизаторы бар виртуалды желіні жасаңыз. Бұл желі VDI желісін имитациялайды және желілік байланысты тексеру үшін қажет. VDI жайылған кезде мұндай желі автоматты түрде жасалады. -
10.55.4.0/22желісінде тестілік LINK_NOT_DEFINED(../../../../computing/iaas/instructions/vm/vm-create) және оған SSH арқылы қосылыңыз. -
LDAP-серверге ping жіберіңіз:
ping 10.10.2.14IP-мекенжай ping-ке жауап беруі керек.
Желілер мен сол желілер ішіндегі машиналар арасындағы құрылған өзара әрекеттесу схемасы:
Егер жасалған ресурстар сізге енді қажет болмаса, оларды жойыңыз:
- Виртуалды машиналарды жойыңыз.
- ссылка.
- ссылка.
- ВМ орналасқан ссылка және ссылка.