IPSec инстанс
Образ с предустановленным решением strongSwan для Linux, настроенными правилами маршрутизации и трансляции адресов. Можно использовать для защищенного соединения через IPSec-туннель между ресурсами в локальном дата-центре и облаке. При этом используется только один публичный IP-адрес — тот, который присвоен виртуальной машине на базе образа IPSec-инстанс.
Перед развертыванием подготовьте:
- две отдельные сети VPC с подсетями в одной зоне доступности: внешнюю (
outside) и внутреннюю (inside); - статический публичный IPv4-адрес для внешнего интерфейса ВМ;
- таблицу маршрутизации в сети
inside; - параметры удаленного IPsec-шлюза: публичный IPv4-адрес, удаленные подсети, PSK, IKE- и ESP-предложения.
Создайте группу безопасности для внешнего интерфейса ВМ. Разрешите входящий UDP-трафик на порты 500 и 4500 от публичного адреса удаленного IPsec-шлюза. При необходимости разрешите SSH на TCP-порт 22 только с административных адресов. Если включаете HTTP health check, разрешите TCP-порт 8000 от источника проверок.
Создайте ВМ из образа IPsec Instance. Используйте не менее 2 vCPU, 512 МБ RAM и диск размером не менее 30 ГБ. Подключите сетевые интерфейсы строго в следующем порядке:
eth0— подсетьoutside, статический внутренний адрес, зарезервированный публичный IPv4-адрес и группа безопасности IPsec.eth1— подсетьinside, статический внутренний адрес без публичного IP.
Добавьте в метаданные ВМ ключ ipsec со значением в формате YAML:
policy_name: yc-ipsec
remote_ip: <remote-gateway-public-ip>
preshared_key: <strong-preshared-key>
remote_subnets:
- 10.10.11.0/24
- 10.10.12.0/24
ike_proposal: aes128gcm16-prfsha256-ecp256
esp_proposal: aes128gcm16
r_timeout: 3.0
r_tries: 3
r_base: 1.0
web_hc: false
periodic_routes_update: true
Параметры web_hc и periodic_routes_update необязательны и по умолчанию равны false:
web_hc: trueвключает endpointhttp://<vm-address>:8000/health;periodic_routes_update: trueвключает обновление маршрутов изremote_subnetsкаждые 15 минут.
Создайте в таблице маршрутизации сети inside маршруты для всех remote_subnets. В качестве next hop укажите внутренний адрес интерфейса eth1 IPsec Instance. Привяжите таблицу к подсетям, из которых требуется доступ к удаленной площадке.
После запуска ВМ дополнительная команда инициализации не требуется. Сервис ipsec-host-init.service автоматически считывает метаданные, создает конфигурацию strongSwan и добавляет маршруты через XFRM-интерфейс ipsec0. strongSwan запускается на ВМ как системный сервис, без Docker-контейнера.
Проверить состояние можно командами:
sudo systemctl status ipsec-host-init.service strongswan.service ipsec-dev.service
sudo /usr/local/sbin/swanctl --list-sas
sudo /usr/local/sbin/swanctl --list-conns
sudo journalctl -u ipsec-host-init.service -u strongswan.service --no-pager
sudo tail -n 100 /var/log/strongswan.log
ip -d link show ipsec0
ip route show dev ipsec0
После изменения параметров IPsec в метаданных примените новую конфигурацию:
sudo systemctl restart ipsec-host-init.service
Если изменился только список remote_subnets, маршруты можно обновить немедленно:
sudo /usr/local/bin/ipsec-update-routes.sh
Значения PSK, IKE/ESP-предложений и параметры удаленных сетей должны совпадать с конфигурацией удаленного IPsec-шлюза.
- Создание защищенного соединения между ресурсами в локальном дата-центре и облаке.
- Создание защищенного соединения между ресурсами, размещенными в облаках различных провайдеров.
Служба технической поддержки Yandex Cloud отвечает на запросы 24 часа в сутки, 7 дней в неделю. Доступные виды запросов и срок их обработки зависят от тарифного плана. Подключить платную поддержку можно в консоли управления. Подробнее о порядке оказания технической поддержки.