Самостоятельная организация сетевой связности с помощью IPsec-шлюзов средствами Yandex Cloud
Вы можете самостоятельно реализовать защищенное соединение между облачной инфраструктурой и условным корпоративным ЦОД с помощью IPsec-шлюзов по схеме из подраздела. Для этого:
- Подготовьте облако к работе.
- Настройте облачную площадку.
- Настройте удаленную площадку.
- Проверьте работу IPsec-соединения и связность между удаленными и облачными ресурсами.
Если созданные ресурсы вам больше не нужны, удалите их.
Подготовьте облако к работе
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVEилиTRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
Необходимые платные ресурсы
В стоимость развертывания инфраструктуры для данного решения на базе IPsec-шлюзов входят:
- Плата за постоянно запущенные виртуальные машины (см. тарифы Yandex Compute Cloud).
- Плата за использование статического внешнего IP-адреса (см. тарифы Yandex Virtual Private Cloud).
Создайте пару ключей SSH
Чтобы подключаться к виртуальной машине по SSH, нужна пара ключей: открытый ключ размещается на ВМ, а закрытый ключ хранится у пользователя. Такой способ более безопасен, чем подключение по логину и паролю.
Примечание
В публичных образах Linux, предоставляемых Yandex Cloud, возможность подключения по протоколу SSH с использованием логина и пароля по умолчанию отключена.
Чтобы создать пару ключей:
-
Откройте терминал.
-
Создайте новый ключ с помощью команды
ssh-keygen:ssh-keygen -t ed25519 -C "<опциональный_комментарий>"Вы можете передать в параметре
-Cпустую строку, чтобы не добавлять комментарий, или не указывать параметр-Cвообще — в таком случае будет добавлен комментарий по умолчанию.После выполнения команды вам будет предложено указать имя и путь к файлам с ключами, а также ввести пароль для закрытого ключа. Если задать только имя, пара ключей будет создана в текущей директории. Открытый ключ будет сохранен в файле с расширением
.pub, закрытый ключ — в файле без расширения.По умолчанию команда предлагает сохранить ключ под именем
id_ed25519в директории/home/<имя_пользователя>/.ssh. Если в этой директории уже есть SSH-ключ с именемid_ed25519, вы можете случайно перезаписать его и потерять доступ к ресурсам, в которых он используется. Поэтому рекомендуется использовать уникальные имена для всех SSH-ключей.
Если у вас еще не установлен OpenSSH
-
Запустите
cmd.exeилиpowershell.exe(предварительно обновите PowerShell). -
Создайте новый ключ с помощью команды
ssh-keygen:ssh-keygen -t ed25519 -C "<опциональный_комментарий>"Вы можете передать в параметре
-Cпустую строку, чтобы не добавлять комментарий, или не указывать параметр-Cвообще — в таком случае будет добавлен комментарий по умолчанию.После выполнения команды вам будет предложено указать имя и путь к файлам с ключами, а также ввести пароль для закрытого ключа. Если задать только имя, пара ключей будет создана в текущей директории. Открытый ключ будет сохранен в файле с расширением
.pub, закрытый ключ — в файле без расширения.По умолчанию команда предлагает сохранить ключ под именем
id_ed25519в папкуC:\Users\<имя_пользователя>/.ssh. Если в этой директории уже есть SSH-ключ с именемid_ed25519, вы можете случайно перезаписать его и потерять доступ к ресурсам, в которых он используется. Поэтому рекомендуется использовать уникальные имена для всех SSH-ключей.
Создайте ключи с помощью приложения PuTTY:
-
Скачайте
и установите PuTTY. -
Добавьте папку с PuTTY в переменную
PATH:- Нажмите кнопку Пуск и в строке поиска Windows введите Изменение системных переменных среды.
- Справа снизу нажмите кнопку Переменные среды....
- В открывшемся окне найдите параметр
PATHи нажмите Изменить. - Добавьте путь к папке в список.
- Нажмите кнопку ОК.
-
Запустите приложение PuTTYgen.
-
В качестве типа генерируемой пары выберите EdDSA. Нажмите Generate и поводите курсором в поле выше до тех пор, пока не закончится создание ключа.

-
В поле Key passphrase введите надежный пароль. Повторно введите его в поле ниже.
-
Нажмите кнопку Save private key и сохраните закрытый ключ. Никому не сообщайте ключевую фразу от него.
-
Нажмите кнопку Save public key и сохраните открытый ключ в файле
<имя_ключа>.pub.
Настройте облачную площадку
На этом этапе вы зарезервируете два статических IP-адреса для IPsec-шлюзов, а также создадите и настроите инфраструктуру облачной площадки Yandex Cloud: IPsec-шлюз, две виртуальные машины, сеть с двумя подсетями.
Создайте и настройте облачную сеть
Зарезервируйте публичные IP-адреса для шлюзов
Зарезервируйте два статических публичных IP-адреса в зоне доступности ru-central1-b:
- Адрес основного IPsec-шлюза
cloud-gw— в дальнейшем будет обозначаться<x1.x1.x1.x1>. - Адрес удаленного IPsec-шлюза
remote-gw— в дальнейшем будет обозначаться<x2.x2.x2.x2>.
Создайте сеть и подсети на облачной площадке
-
Создайте сеть с именем
cloud-net. При создании сети отключите опцию Создать подсети. -
В сети
cloud-netвручную создайте подсети со следующими параметрами:-
Для подключения основного IPsec-шлюза
cloud-gw:- Имя —
ipsec-subnet. - Зона доступности —
ru-central1-b. - CIDR —
172.16.0.0/24.
- Имя —
-
Для подключения виртуальной машины
vm-d:- Имя —
subnet-d. - Зона доступности —
ru-central1-d. - CIDR —
172.16.1.0/24.
- Имя —
-
Для подключения виртуальной машины
vm-b:- Имя —
subnet-b. - Зона доступности —
ru-central1-b. - CIDR —
172.16.2.0/24.
- Имя —
-
Создайте и настройте группу безопасности для основного IPsec-шлюза
-
В сети
cloud-netсоздайте группу безопасности с именемcloud-net-sg. -
В группе безопасности
cloud-net-sgсоздайте правила в соответствии с таблицей:Направление
трафикаОписание Диапазон портов Протокол Источник /
НазначениеCIDR блоки Исходящий anyВесьЛюбойCIDR0.0.0.0/0Входящий icmpВесьICMPCIDR0.0.0.0/0Входящий ssh22TCPCIDR0.0.0.0/0Входящий ipsec-udp-500500UDPCIDR<x2.x2.x2.x2>/32Входящий ipsec-udp-45004500UDPCIDR<x2.x2.x2.x2>/32Входящий subnet-dВесьЛюбойCIDR172.16.1.0/24Входящий subnet-bВесьЛюбойCIDR172.16.2.0/24
Настройте статическую маршрутизацию для основного IPsec-шлюза
-
В консоли управления
перейдите в каталог, в котором создана сетьcloud-net. -
Выберите сервис Virtual Private Cloud.
-
Выберите сеть
cloud-net. -
Перейдите на вкладку Таблицы маршрутизации и нажмите Создать.
-
В поле Имя укажите
cloud-net-rt. -
В блоке Статические маршруты нажмите Добавить маршрут.
- В открывшемся окне в поле Префикс назначения укажите
10.10.0.0/16. - В поле IP-адрес укажите внутренний IP-адрес основного IPsec-шлюза —
172.16.0.10. - Нажмите Добавить.
- В открывшемся окне в поле Префикс назначения укажите
-
Нажмите Создать таблицу маршрутизации.
-
Привяжите таблицу маршрутизации
cloud-net-rtк подсетямsubnet-dиsubnet-b:- Перейдите на вкладку Обзор.
- В строке подсети
subnet-dнажмите и выберите Привязать таблицу маршрутизации. - В открывшемся окне выберите таблицу маршрутизации
cloud-net-rtи нажмите Привязать. - Повторите два предыдущих шага для подсети
subnet-b, чтобы привязать к ней таблицу маршрутизацииcloud-net-rt.
Создайте и настройте виртуальные машины на облачной площадке
Создайте ВМ с основным IPsec-шлюзом на облачной площадке
-
На странице каталога в консоли управления
нажмите кнопку Создать ресурс и выберитеВиртуальная машина. -
Выберите вариант Расширенная настройка.
-
В блоке Образ загрузочного диска в поле Поиск продукта введите
IPSec-инстанси выберите публичный образ IPSec-инстанс. -
В блоке Расположение выберите зону доступности
ru-central1-b, где находится подсеть, к которой будет подключен основной IPsec-шлюз. -
В блоке Сетевые настройки:
-
В поле Подсеть выберите подсеть
ipsec-subnet. -
В поле Публичный IP-адрес выберите
Список. -
В открывшемся поле IP-адрес выберите публичный IP-адрес
<x1.x1.x1.x1>, который вы ранее зарезервировали. -
В поле Группы безопасности выберите ранее созданную группу безопасности
cloud-net-sg. -
Разверните блок Дополнительно:
- В поле Внутренний IPv4 адрес выберите
Вручную. - В появившемся поле для ввода укажите
172.16.0.10.
- В поле Внутренний IPv4 адрес выберите
-
-
В блоке Доступ выберите вариант SSH-ключ и укажите данные для доступа на ВМ:
-
В поле Логин укажите
ipsec. -
В поле SSH-ключ:
- Нажмите кнопку Добавить ключ.
- Задайте имя SSH-ключа.
- Загрузите или вставьте содержимое созданного ранее публичного SSH-ключа для доступа к ВМ.
- Нажмите кнопку Добавить.
SSH-ключ будет добавлен в ваш профиль пользователя организации. Если в организации отключена возможность добавления пользователями SSH-ключей в свои профили, добавленный открытый SSH-ключ будет сохранен только в профиле пользователя внутри создаваемого ресурса.
-
-
В блоке Общая информация задайте имя ВМ:
cloud-gw. -
Нажмите кнопку Создать ВМ.
Дождитесь, когда ВМ перейдет в статус Running.
Настройте основной IPsec-шлюз
Для настройки шлюза используйте IP-адреса, имя пользователя и ключ SSH, которые вы указывали при создании виртуальной машины cloud-gw.
-
Подключитесь к виртуальной машине по SSH:
ssh ipsec@<x1.x1.x1.x1> -
Задайте параметры даты и времени для ВМ:
sudo timedatectl set-timezone Europe/Moscow sudo timedatectl set-ntp True timedatectl -
Для оптимальной работы протокола ICMP отключите функциональность
ICMP Redirectsна IPsec-шлюзе:sudo su -c "echo 'net.ipv4.conf.eth0.send_redirects=0' >> /etc/sysctl.conf" sudo su -c "echo 'net.ipv4.conf.default.send_redirects=0' >> /etc/sysctl.conf"Подробнее об этом читайте в документации strongSwan
. -
Создайте резервную копию файла конфигурации
swanctl.conf:sudo mv /etc/swanctl/swanctl.conf /etc/swanctl/swanctl.orig -
Создайте конфигурацию для основного IPsec-шлюза в файле
/etc/swanctl/swanctl.conf:sudo nano /etc/swanctl/swanctl.confВ открывшемся файле укажите:
connections { cloud-ipsec { local_addrs = 172.16.0.10 remote_addrs = <x2.x2.x2.x2> local { auth = psk } remote { auth = psk } version = 2 # IKEv2 mobike = no proposals = aes128gcm16-prfsha256-ecp256, default dpd_delay = 10s children { cloud-ipsec { # List of local IPv4 subnets local_ts = 172.16.1.0/24, 172.16.2.0/24 # List of remote IPv4 subnets remote_ts = 10.10.0.0/16 start_action = trap esp_proposals = aes128gcm16 dpd_action = clear } } } } # Pre-shared key (PSK) for IPsec connection secrets { ike-cloud-ipsec { secret = <пароль_ipsec> } }Где:
cloud-ipsec— имя IPsec-соединения.remote_addrs— публичный IP-адрес<x2.x2.x2.x2>удаленного IPsec-шлюза.proposals— Internet Key Exchange Version 2 (IKEv2) . Список шифров (ciphers), которые могут использоваться для шифрования канала управления IPsec-соединением.esp_proposals— Encapsulating Security Payload . Список шифров (ciphers), которые могут использоваться для шифрования передаваемых данных.secret— Pre-Shared Key . Ключ (пароль)<пароль_ipsec>, который будет использоваться для установки IPsec-соединения.
Примечание
В файле конфигурации
swanctl.confвы можете указать дополнительные параметры в соответствии с документацией strongSwan .Например, для увеличения скорости передачи данных через IPsec-соединение используйте оптимизированные алгоритмы шифрования
в режиме IKEv2 . Поддержка этих алгоритмов должна быть реализована на платформе удаленного IPsec-шлюза, если это не strongSwan. -
Загрузите конфигурацию в strongSwan:
sudo swanctl --load-all -
Перезапустите strongSwan:
sudo systemctl restart strongswan -
Проверьте состояние strongSwan:
sudo swanctl -L -
(Опционально) Посмотрите логи strongSwan:
sudo journalctl -u strongswan --no-pager sudo journalctl -u strongswan -n 20 sudo journalctl -u strongswan -f -
Закройте соединение с
cloud-gw:exit
Разверните тестовые ВМ на облачной площадке
-
Создайте тестовую ВМ
vm-dсо следующими параметрами:- Операционная система — Ubuntu 22.04 LTS.
- Зона доступности —
ru-central1-d. - Подсеть —
subnet-d. - Публичный IP-адрес —
Без адреса. - Внутренний IPv4-адрес —
172.16.1.5. - Логин —
ipsec. - SSH-ключ — публичный SSH-ключ для доступа к ВМ.
- Имя —
vm-d.
-
Создайте тестовую ВМ
vm-bсо следующими параметрами:- Операционная система —
Ubuntu 22.04 LTS. - Зона доступности —
ru-central1-b. - Подсеть —
subnet-b. - Публичный IP-адрес —
Без адреса. - Внутренний IPv4-адрес —
172.16.2.5. - Логин —
ipsec. - SSH-ключ — публичный SSH-ключ для доступа к ВМ.
- Имя —
vm-b.
- Операционная система —
Настройте удаленную площадку
На этом этапе вы создадите и настроите инфраструктуру удаленной площадки условного корпоративного ЦОД. В нее войдут IPsec-шлюз, виртуальная машина, сеть и подсеть.
Создайте и настройте удаленную сеть
Создайте сеть и подсеть на удаленной площадке
-
Создайте сеть с именем
remote-net. При создании сети отключите опцию Создать подсети. -
В сети
remote-netвручную создайте подсеть для подключения удаленного IPsec-шлюзаremote-gwи ВМvm-1со следующими параметрами:- Имя —
subnet-1. - Зона доступности —
ru-central1-b. - CIDR —
10.10.0.0/16.
- Имя —
Создайте и настройте группу безопасности для удаленного IPsec-шлюза
-
В сети
remote-netсоздайте группу безопасности с именемremote-net-sg. -
В группе безопасности
remote-net-sgсоздайте правила в соответствии с таблицей:Направление
трафикаОписание Диапазон портов Протокол Источник /
НазначениеCIDR блоки Исходящий anyВесьЛюбойCIDR0.0.0.0/0Входящий icmpВесьICMPCIDR0.0.0.0/0Входящий ssh22TCPCIDR0.0.0.0/0Входящий ipsec-udp-500500UDPCIDR<x1.x1.x1.x1>/32Входящий ipsec-udp-45004500UDPCIDR<x1.x1.x1.x1>/32Входящий subnet-1ВесьЛюбойCIDR10.10.0.0/16
Настройте статическую маршрутизацию для удаленного IPsec-шлюза
-
В консоли управления
перейдите в каталог, в котором создана сетьremote-net. -
Выберите сервис Virtual Private Cloud.
-
Выберите сеть
remote-net. -
Перейдите на вкладку Таблицы маршрутизации и нажмите Создать.
-
В поле Имя укажите
remote-net-rt. -
В блоке Статические маршруты нажмите Добавить маршрут.
- В открывшемся окне в поле Префикс назначения укажите
172.16.1.0/24. - В поле IP-адрес укажите внутренний IP-адрес основного IPsec-шлюза —
10.10.20.20. - Нажмите Добавить.
- В открывшемся окне в поле Префикс назначения укажите
-
Повторите предыдущий шаг, чтобы добавить второе правило с параметрами:
- Префикс назначения —
172.16.2.0/24. - IP-адрес —
10.10.20.20.
- Префикс назначения —
-
Нажмите Создать таблицу маршрутизации.
-
Привяжите таблицу маршрутизации
remote-net-rtк подсетиsubnet-1:- Перейдите на вкладку Обзор.
- В строке подсети
subnet-1нажмите значок и выберите пункт Привязать таблицу маршрутизации. - В открывшемся окне выберите таблицу
remote-net-rtи нажмите Привязать.
Создайте и настройте виртуальные машины на удаленной площадке
Создайте ВМ с удаленным IPsec-шлюзом
Создайте ВМ, которая будет выступать в роли удаленного IPsec-шлюза.
-
На странице каталога в консоли управления
нажмите кнопку Создать ресурс и выберитеВиртуальная машина. -
Выберите вариант Расширенная настройка.
-
В блоке Образ загрузочного диска в поле Поиск продукта введите
IPSec-инстанси выберите публичный образ IPSec-инстанс. -
В блоке Расположение выберите зону доступности
ru-central1-b— зону доступности, где находится подсеть, к которой будет подключен удаленный IPsec-шлюз. -
В блоке Сетевые настройки:
-
В поле Подсеть выберите
subnet-1. -
В поле Публичный IP-адрес выберите
Список. -
В открывшемся поле IP-адрес выберите публичный IP-адрес
<x2.x2.x2.x2>, который был зарезервирован ранее. -
В поле Группы безопасности выберите ранее созданную группу безопасности
remote-net-sg. -
Разверните блок Дополнительно:
- В поле Внутренний IPv4 адрес выберите
Вручную. - В появившемся поле для ввода укажите
10.10.20.20.
- В поле Внутренний IPv4 адрес выберите
-
-
В блоке Доступ выберите вариант SSH-ключ и укажите данные для доступа на ВМ:
-
В поле Логин укажите
ipsec. -
В поле SSH-ключ выберите SSH-ключ, сохраненный в вашем профиле пользователя организации после создания ВМ с основным IPsec-шлюзом.
Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:
- Нажмите кнопку Добавить ключ.
- Задайте имя SSH-ключа.
- Загрузите или вставьте содержимое созданного ранее публичного SSH-ключа для доступа к ВМ.
- Нажмите кнопку Добавить.
SSH-ключ будет добавлен в ваш профиль пользователя организации. Если в организации отключена возможность добавления пользователями SSH-ключей в свои профили, добавленный открытый SSH-ключ будет сохранен только в профиле пользователя внутри создаваемого ресурса.
-
-
В блоке Общая информация задайте имя ВМ:
remote-gw. Требования к имени:- длина — от 2 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
Нажмите кнопку Создать ВМ.
Дождитесь, когда ВМ перейдет в статус Running.
Настройте удаленный IPsec-шлюз
Для настройки шлюза используйте IP-адреса, имя пользователя и ключ SSH, которые вы указывали при создании ВМ remote-gw.
-
Подключитесь к виртуальной машине по SSH:
ssh ipsec@<x2.x2.x2.x2> -
Задайте параметры даты и времени для ВМ:
sudo timedatectl set-timezone Europe/Moscow sudo timedatectl set-ntp True timedatectl -
Для оптимальной работы протокола ICMP отключите функциональность
ICMP Redirectsна IPsec-шлюзе:sudo su -c "echo 'net.ipv4.conf.eth0.send_redirects=0' >> /etc/sysctl.conf" sudo su -c "echo 'net.ipv4.conf.default.send_redirects=0' >> /etc/sysctl.conf"Подробнее об этом читайте в документации strongSwan
. -
Создайте резервную копию файла конфигурации
swanctl.conf:sudo mv /etc/swanctl/swanctl.conf /etc/swanctl/swanctl.orig -
Создайте конфигурацию для удаленного IPsec-шлюза в файле
/etc/swanctl/swanctl.conf:sudo nano /etc/swanctl/swanctl.confВ открывшемся файле укажите:
connections { cloud-ipsec { local_addrs = 10.10.20.20 remote_addrs = <x1.x1.x1.x1> local { auth = psk } remote { auth = psk } version = 2 # IKEv2 mobike = no proposals = aes128gcm16-prfsha256-ecp256, default dpd_delay = 10s children { cloud-ipsec { # List of local IPv4 subnets local_ts = 10.10.0.0/16 # List of remote IPv4 subnets remote_ts = 172.16.1.0/24, 172.16.2.0/24 start_action = trap esp_proposals = aes128gcm16 dpd_action = clear } } } } # Pre-shared key (PSK) for IPsec connection secrets { ike-cloud-ipsec { secret = <пароль_ipsec> } }Где:
cloud-ipsec— имя IPsec-соединения.remote_addrs— публичный IP-адрес<x1.x1.x1.x1>основного IPsec-шлюза.proposals— Internet Key Exchange Version 2 (IKEv2) . Список шифров (ciphers), которые могут использоваться для шифрования канала управления IPsec-соединением.esp_proposals— Encapsulating Security Payload . Список шифров (ciphers), которые могут использоваться для шифрования передаваемых данных.secret— Pre-Shared Key . Ключ (пароль)<пароль_ipsec>, который будет использоваться для установки IPsec-соединения.
Примечание
В файле конфигурации
swanctl.confвы можете указать дополнительные параметры в соответствии с документацией strongSwan .Например, для увеличения скорости передачи данных через IPsec-соединение используйте оптимизированные алгоритмы шифрования
в режиме IKEv2 . Поддержка этих алгоритмов должна быть реализована на платформе удаленного IPsec-шлюза, если это не strongSwan. -
Загрузите конфигурацию в strongSwan:
sudo swanctl --load-all -
Перезапустите strongSwan:
sudo systemctl restart strongswan -
Проверьте состояние strongSwan:
sudo swanctl -L -
(Опционально) Посмотрите логи strongSwan:
sudo journalctl -u strongswan --no-pager sudo journalctl -u strongswan -n 20 sudo journalctl -u strongswan -f -
Закройте соединение с
remote-gw:exit
Разверните тестовую ВМ на удаленной площадке
Создайте тестовую ВМ со следующими параметрами:
- Операционная система —
Ubuntu 22.04 LTS. - Зона доступности —
ru-central1-b. - Подсеть —
subnet-1. - Публичный IP-адрес —
Без адреса. - Внутренний IPv4-адрес —
10.10.10.10. - Логин —
ipsec. - SSH-ключ — публичный SSH-ключ для доступа к ВМ.
- Имя —
vm-1.
Проверьте работу IPsec-соединения и связность между удаленными и облачными ресурсами
Установите IPsec-соединение между шлюзами и проверьте его работу
IPsec-шлюзы на основной и удаленной площадках настроены на установление IPsec-соединения между собой при получении любым из них трафика, предназначенного для подсети на другой стороне IPsec-соединения (за другим шлюзом).
Примечание
На создание туннеля между шлюзами может потребоваться время. Если при активации IPsec-соединения команда ping не выдает нужного результата, подождите несколько минут, затем попробуйте выполнить команду снова.
Для активации IPsec-соединения между шлюзами:
-
Отправьте несколько пакетов ICMP со стороны удаленной площадки, например, от ВМ
vm-1к ВМvm-dс помощью командыping:ssh -J ipsec@<x2.x2.x2.x2> ipsec@10.10.10.10 ping -c4 172.16.1.5Результат:
PING 172.16.1.5 (172.16.1.5) 56(84) bytes of data. 64 bytes from 172.16.1.5: icmp_seq=1 ttl=58 time=4.92 ms 64 bytes from 172.16.1.5: icmp_seq=2 ttl=58 time=4.33 ms 64 bytes from 172.16.1.5: icmp_seq=3 ttl=58 time=4.31 ms 64 bytes from 172.16.1.5: icmp_seq=4 ttl=58 time=4.38 ms --- 172.16.1.5 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3005ms rtt min/avg/max/mdev = 4.306/4.483/4.916/0.251 ms -
Активируйте IPsec-соединение со стороны облачной площадки — отправьте пакеты ICMP от ВМ
vm-bк ВМvm-1:ssh -J ipsec@<x1.x1.x1.x1> ipsec@172.16.2.5 ping -c4 10.10.10.10Результат:
PING 10.10.10.10 (10.10.10.10) 56(84) bytes of data. 64 bytes from 10.10.10.10: icmp_seq=1 ttl=58 time=4.92 ms 64 bytes from 10.10.10.10: icmp_seq=2 ttl=58 time=4.33 ms 64 bytes from 10.10.10.10: icmp_seq=3 ttl=58 time=4.31 ms 64 bytes from 10.10.10.10: icmp_seq=4 ttl=58 time=4.38 ms --- 10.10.10.10 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3005ms rtt min/avg/max/mdev = 4.306/4.483/4.916/0.251 ms
Проверьте связность между ВМ
-
Подключитесь к основному IPsec-шлюзу
cloud-gw:ssh ipsec@<x1.x1.x1.x1>-
Проверьте состояние strongSwan:
sudo swanctl -LРезультат:
cloud-to-remote-site: IKEv1/2, reauthentication every 3060s, no rekeying, dpd delay 30s local: %any remote: <x2.x2.x2.x2> local pre-shared key authentication: id: <x1.x1.x1.x1> remote pre-shared key authentication: id: <x2.x2.x2.x2> cloud-to-remote-site: TUNNEL, rekeying every 28260s, dpd action is restart local: 172.16.1.0/24 remote: 10.10.0.0/16 cloud-ipsec: IKEv2, no reauthentication, rekeying every 14400s, dpd delay 10s local: 172.16.0.10 remote: <x2.x2.x2.x2> local pre-shared key authentication: remote pre-shared key authentication: cloud-ipsec: TUNNEL, rekeying every 3600s, dpd action is clear local: 172.16.1.0/24 172.16.2.0/24 remote: 10.10.0.0/16 -
Проверьте активные IPsec-соединения:
sudo swanctl -lРезультат:
cloud-ipsec: #6, ESTABLISHED, IKEv2, 80e6fa659b4f6307_i* 9f63a85191df1e48_r local '172.16.0.10' @ 172.16.0.10[4500] remote '10.10.20.20' @ <x2.x2.x2.x2>[4500] AES_GCM_16-128/PRF_HMAC_SHA2_256/ECP_256 established 9716s ago, rekeying in 4107s cloud-ipsec: #19, reqid 1, INSTALLED, TUNNEL-in-UDP, ESP:AES_GCM_16-128 installed 682s ago, rekeying in 2735s, expires in 3278s in cf9668bb, 0 bytes, 0 packets out c3a00b2c, 0 bytes, 0 packets local 172.16.1.0/24 172.16.2.0/24 remote 10.10.0.0/16Состояние соединения
ESTABLISHEDозначает, что IPsec-соединение установилось и работает. -
Закройте соединение с
cloud-gw:exit
-
-
Подключитесь к удаленному IPsec-шлюзу
remote-gw:ssh ipsec@<x2.x2.x2.x2>-
Проверьте состояние strongSwan:
sudo swanctl -LРезультат:
remote-site-to-cloud: IKEv1/2, reauthentication every 3060s, no rekeying, dpd delay 30s local: %any remote: <x1.x1.x1.x1> local pre-shared key authentication: id: <x2.x2.x2.x2> remote pre-shared key authentication: id: <x1.x1.x1.x1> remote-site-to-cloud: TUNNEL, rekeying every 28260s, dpd action is restart local: 10.10.0.0/16 remote: 172.16.1.0/24 cloud-ipsec: IKEv2, no reauthentication, rekeying every 14400s, dpd delay 10s local: 10.10.20.20 remote: <x1.x1.x1.x1> local pre-shared key authentication: remote pre-shared key authentication: cloud-ipsec: TUNNEL, rekeying every 3600s, dpd action is clear local: 10.10.0.0/16 remote: 172.16.1.0/24 172.16.2.0/24 -
Проверьте активные IPsec-соединения:
sudo swanctl -lРезультат:
cloud-ipsec: #6, ESTABLISHED, IKEv2, 80e6fa659b4f6307_i 9f63a85191df1e48_r* local '10.10.20.20' @ 10.10.20.20[4500] remote '172.16.0.10' @ <x1.x1.x1.x1>[4500] AES_GCM_16-128/PRF_HMAC_SHA2_256/ECP_256 established 9833s ago, rekeying in 3346s cloud-ipsec: #19, reqid 1, INSTALLED, TUNNEL-in-UDP, ESP:AES_GCM_16-128 installed 799s ago, rekeying in 2620s, expires in 3161s in c3a00b2c, 0 bytes, 0 packets out cf9668bb, 0 bytes, 0 packets local 10.10.0.0/16 remote 172.16.1.0/24 172.16.2.0/24Состояние соединения
ESTABLISHEDозначает, что IPsec-соединение установилось и работает. -
Закройте соединение с
remote-gw:exit
-
-
Подключитесь к ВМ
vm-d:ssh -J ipsec@<x1.x1.x1.x1> ipsec@172.16.1.5-
Задайте параметры даты и времени для ВМ:
sudo timedatectl set-timezone Europe/Moscow sudo timedatectl set-ntp True timedatectl -
Проверьте IP-связность между
vm-dиvm-1:ping -c4 10.10.10.10Результат:
PING 10.10.10.10 (10.10.10.10) 56(84) bytes of data. 64 bytes from 10.10.10.10: icmp_seq=1 ttl=58 time=4.92 ms 64 bytes from 10.10.10.10: icmp_seq=2 ttl=58 time=4.33 ms 64 bytes from 10.10.10.10: icmp_seq=3 ttl=58 time=4.31 ms 64 bytes from 10.10.10.10: icmp_seq=4 ttl=58 time=4.38 ms --- 10.10.10.10 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3005ms rtt min/avg/max/mdev = 4.306/4.483/4.916/0.251 ms -
Закройте соединение с
vm-d:exit
-
-
Подключитесь к ВМ
vm-b:ssh -J ipsec@<x1.x1.x1.x1> ipsec@172.16.2.5-
Задайте параметры даты и времени для ВМ:
sudo timedatectl set-timezone Europe/Moscow sudo timedatectl set-ntp True timedatectl -
Проверьте IP-связность между
vm-bиvm-1:ping -c4 10.10.10.10Результат:
PING 10.10.10.10 (10.10.10.10) 56(84) bytes of data. 64 bytes from 10.10.10.10: icmp_seq=1 ttl=58 time=4.92 ms 64 bytes from 10.10.10.10: icmp_seq=2 ttl=58 time=4.33 ms 64 bytes from 10.10.10.10: icmp_seq=3 ttl=58 time=4.31 ms 64 bytes from 10.10.10.10: icmp_seq=4 ttl=58 time=4.38 ms --- 10.10.10.10 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3005ms rtt min/avg/max/mdev = 4.306/4.483/4.916/0.251 ms -
Закройте соединение с
vm-b:exit
-
-
Подключитесь к ВМ
vm-1:ssh -J ipsec@<x2.x2.x2.x2> ipsec@10.10.10.10-
Задайте параметры даты и времени для ВМ:
sudo timedatectl set-timezone Europe/Moscow sudo timedatectl set-ntp True timedatectl -
Проверьте IP-связность между
vm-1иvm-d:ping -c4 172.16.1.5Результат:
PING 172.16.1.5 (172.16.1.5) 56(84) bytes of data. 64 bytes from 172.16.1.5: icmp_seq=1 ttl=58 time=4.92 ms 64 bytes from 172.16.1.5: icmp_seq=2 ttl=58 time=4.33 ms 64 bytes from 172.16.1.5: icmp_seq=3 ttl=58 time=4.31 ms 64 bytes from 172.16.1.5: icmp_seq=4 ttl=58 time=4.38 ms --- 172.16.1.5 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3005ms rtt min/avg/max/mdev = 4.306/4.483/4.916/0.251 ms -
Проверьте IP-связность между
vm-1иvm-b:ping -c4 172.16.2.5Результат:
PING 172.16.2.5 (172.16.2.5) 56(84) bytes of data. 64 bytes from 172.16.2.5: icmp_seq=1 ttl=58 time=4.92 ms 64 bytes from 172.16.2.5: icmp_seq=2 ttl=58 time=4.33 ms 64 bytes from 172.16.2.5: icmp_seq=3 ttl=58 time=4.31 ms 64 bytes from 172.16.2.5: icmp_seq=4 ttl=58 time=4.38 ms --- 172.16.2.5 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3005ms rtt min/avg/max/mdev = 4.306/4.483/4.916/0.251 ms -
Закройте соединение с
vm-1:exit
-
Как удалить созданные ресурсы
Чтобы перестать платить за созданные ресурсы: