ViPNet Coordinator VA в Yandex Cloud
Вы можете установить ViPNet Coordinator VA
ViPNet Coordinator VA устанавливается на ВМ с четырьмя сетевыми интерфейсами. Один интерфейс получает публичный IP-адрес, на нем работает туннель до шлюза на удаленной площадке. Остальным интерфейсам можно выдать внутренние адреса и подключить к разным подсетям одной зоны доступности.
При работе в облаке у ViPNet Coordinator VA недоступны следующие функции:
- Экспорт и импорт ключей и настроек в формате
vbe
. - Кластер горячего резервирования.
- Агрегирование интерфейсов.
- DHCP-сервер.
- VLAN.
- L2OverIP.
- Экспорт системного журнала и журнала регистрации IP-пакетов на USB-носитель или по протоколу TFTP.
- Добавление резервного набора персональных ключей.
- Локальное обновление ПО.
- Импорт сертификата с помощью USB-носителя.
- Аутентификация с помощью устройства.
Чтобы развернуть ViPNet Coordinator VA в Yandex Cloud:
- Ознакомьтесь с описанием решения.
- Подготовьте облако к работе.
- Подготовьте окружение.
- Создайте образы дисков ViPNet Coordinator VA.
- Создайте ВМ с ViPNet Coordinator VA в облаке.
- Настройте ViPNet Coordinator VA.
Если созданные ресурсы вам больше не нужны, удалите их.
Описание решения
VPN-туннель работает между двумя решениями ViPNet: Coordinator VA — на стороне облачной инфраструктуры, и Coordinator HW — на стороне площадки on-premises.
Конфигурация облака:
-
ViPNet Coordinator VA:
Интерфейс Внутренний адрес Публичный адрес Подсеть Примечание eth0
10.1.0.8 Автоматически
public-subnet
Публичный адрес транслируется во внутренний по One-to-One NAT eth1
10.1.1.8 Без адреса
segment1-subnet
- eth2
10.1.2.8 Без адреса
segment2-subnet
- eth3
10.1.3.8 Без адреса
segment3-subnet
- -
Весь трафик до ресурсов удаленной площадки идет на внутренние интерфейсы ViPNet Coordinator VA по статическим маршрутам:
Подсеть Префикс назначения Next hop segment1-subnet
192.168.200.0/24 10.1.1.8 segment2-subnet
192.168.200.0/24 10.1.2.8 segment3-subnet
192.168.200.0/24 10.1.3.8
На стороне удаленной площадки:
-
ViPNet Coordinator HW:
Интерфейс Адрес Подсеть eth0
Публичный адрес - eth1
192.168.200.5 192.168.200.0/24 -
Трафик до ресурсов облака идет на внутренний интерфейс ViPNet Coordinator HW по статическому маршруту:
Подсеть Префикс назначения Next hop 192.168.200.0/24 10.1.1.0/24, 10.1.2.0/24, 10.1.3.0/24 192.168.200.5
Перед началом работы
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его и привяжите к нему облако.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
Чтобы создать ВМ с несколькими сетевыми интерфейсами, запросите в технической поддержкеMULTI_INTERFACE_INSTANCES_ALPHA
на облако.
Необходимые платные ресурсы
В стоимость инфраструктуры входит:
- Плата за вычислительные ресурсы, диски и образы ВМ (см. тарифы Yandex Compute Cloud).
- Плата за хранение данных в бакете и операции с ними (см. тарифы Yandex Object Storage).
- Плата за публичный IP-адрес и исходящий трафик (см. тарифы Yandex Virtual Private Cloud).
Подготовьте окружение
Установите ПО на локальной машине
Создайте облачную сеть
Если у вас еще нет облачной сети, создайте ее в каталоге для ViPNet Coordinator VA, например, в каталоге vipnet-folder
:
- В консоли управления
перейдите в каталогvipnet-folder
. - В списке сервисов выберите Virtual Private Cloud.
- Нажмите Создать сеть.
- Задайте имя сети, например,
vipnet-network
. - Отключите опцию Создать подсети.
- Нажмите Создать сеть.
Чтобы создать облачную сеть выполните команду:
yc vpc network create --name vipnet-network --folder-id <идентификатор_каталога_vipnet-folder>
Где:
name
— имя облачной сети.folder-id
— идентификатор каталога, в котором будет создана сеть.
Создайте подсети
Создайте подсеть public-subnet
для внешнего интерфейса ViPNet Coordinator VA:
- В консоли управления
перейдите в каталогvipnet-folder
. - В списке сервисов выберите Virtual Private Cloud.
- Выберите облачную сеть
vipnet-network
. - Нажмите Добавить подсеть.
- Укажите имя подсети, например,
public-subnet
. - Выберите зону доступности, например,
ru-central1-a
. - Введите CIDR подсети, например,
10.1.0.0/24
. - Нажмите Создать подсеть.
Аналогично создайте подсети для vipnet-network
или другой сети:
segment1-subnet
, CIDR –10.1.1.0/24
;segment2-subnet
, CIDR –10.1.2.0/24
;segment3-subnet
, CIDR –10.1.3.0/24
.
Примечание
Все подсети должны находиться в одной зоне доступности.
-
Создайте подсеть
public-subnet
:yc vpc subnet create \ --name public-subnet \ --folder-id <идентификатор_каталога_vipnet-folder> \ --network-name vipnet-network \ --zone <зона_доступности> \ --range 10.1.0.0/24
Где:
name
— имя подсети.folder-id
— идентификатор каталога, в котором размещена облачная сеть.network-name
— имя облачной сети.zone
— зона доступности, например,ru-central1-a
.range
— CIDR подсети.
-
Аналогично создайте подсети для облачных ресурсов:
segment1-subnet
, CIDR –10.1.1.0/24
;segment2-subnet
, CIDR –10.1.2.0/24
;segment3-subnet
, CIDR –10.1.3.0/24
.
Примечание
Все подсети должны находится в одной зоне доступности.
Создайте таблицы маршрутизации
Создайте таблицы маршрутизации segment1-rt
, segment2-rt
, segment3-rt
:
- В консоли управления
перейдите в каталогvipnet-folder
. - В списке сервисов выберите Virtual Private Cloud.
- Выберите облачную сеть
vipnet-network
. - На панели слева выберите
Таблицы маршрутизации. - Нажмите Создать.
- Укажите Имя —
segment1-rt
. - Нажмите Добавить маршрут и укажите:
- Префикс назначения —
192.168.200.0/24
; - Next hop —
IP-адрес
; - IP-адрес —
10.1.1.8
.
- Префикс назначения —
- Нажмите Добавить.
- Нажмите Создать таблицу маршрутизации.
Аналогично создайте таблицы segment2-rt
, segment3-rt
, указав IP-адреса 10.1.2.8
и 10.1.3.8
, соответственно.
Привяжите таблицы маршрутизации к подсетям:
- В консоли управления
перейдите в каталогvipnet-folder
. - В списке сервисов выберите Virtual Private Cloud.
- Выберите облачную сеть
vipnet-network
. - На панели слева выберите
Таблицы маршрутизации. - Выберите подсеть
segment1-subnet
и нажмите → Привязать таблицу маршрутизации. - Выберите таблицу
segment1-rt
. - Нажмите кнопку Привязать.
Аналогично привяжите таблицы segment2-rt
и segment3-rt
к подсетям segment2-subnet
и segment3-subnet
, соответственно.
Создайте образы дисков для ВМ с ViPNet Coordinator VA
Создайте ВМ с ViPNet Coordinator VA на локальной машине
ВМ создается из подготовленного для Compute Cloud образа диска. Требования к образу:
- Ключи установлены в системе.
- Тип аутентификации ключей —
по паролю
. - Формат образа —
qcow2
.
Загрузите образ ViPNet Coordinator VA
-
Запросите образ ViPNet Coordinator VA на сайте ИнфоТеКС
:- В блоке Материалы для загрузки на вкладке ПО выберите демоверсию ViPNet Coordinator VA (для развертывания в среде VMWare ESX, Oracle VM).
- На открывшейся странице укажите ваши данные.
- Подтвердите согласие с политикой обработки персональных данных и нажмите ОТПРАВИТЬ ЗАЯВКУ.
-
Дождитесь письма со ссылкой на загрузку ViPNet Coordinator VA, информацией о размере файла и контрольной сумме по алгоритму MD5. Ссылка будет действительна в течение 5 дней с момента заполнения формы на сайте.
-
Загрузите архив с ViPNet Coordinator VA и проверьте его целостность:
Linux / macOSPowerShell-
Создайте каталог
vipnet
и загрузите в него архив:mkdir vipnet cd vipnet curl --remote-name <ссылка_на_загрузку_ViPNet_Coordinator_VA>
-
Узнайте имя архива:
ls -la
Результат:
-rw-r--r-- 1 user 457853789 Aug 21 12:28 va_vipnet_base_x86_64_4.5.1-5668.ova.zip
-
Узнайте контрольную сумму архива по алгоритму MD5:
md5 <имя_архива>
Результат:
MD5 (va_vipnet_base_x86_64_4.5.1-5668.ova.zip) = 42c0f1401aa77fc5366e7eff8cc8ed4a
Сравните контрольную сумму с той, что была указана в письме. Если значения не совпадают, повторите загрузку.
-
Распакуйте архив:
unzip <имя_файла>
Результат:
Archive: va_vipnet_base_x86_64_4.5.1-5668.ova.zip inflating: va_vipnet_base_x86_64_4.5.1-5668.ova
-
Создайте каталог
vipnet
и загрузите в него архив:mkdir vipnet cd vipnet curl.exe --remote-name <ссылка_на_загрузку_ViPNet_Coordinator_VA>
-
Узнайте имя архива:
Get-ChildItem
Результат:
Mode LastWriteTime Length Name ---- ------------- ------ ---- ------ 8/24/2022 2:07 PM 457853789 va_vipnet_base_x86_64_4.5.1-5668.ova.zip
-
Узнайте контрольную сумму архива по алгоритму MD5:
Get-FileHash <имя_архива> -Algorithm MD5
Результат:
Algorithm Hash Path --------- ---- ---- MD5 42C0F1401AA77FC5366E7EFF8CC8ED4A C:\Users\User1\vipnet\va_vipnet_base_x86_64_4.5.1-5668.ova.zip
Сравните контрольную сумму с той, что была указана в письме. Если значения не совпадают, повторите загрузку.
-
Распакуйте архив:
Expand-Archive <имя_архива>
-
Подготовьте USB-диск с ключами
В руководстве используются демоверсии ключей.
-
Подключите USB-диск к компьютеру и отформатируйте его средствами операционной системы. Файловая система USB-диска — FAT32.
-
Загрузите на USB-диск файл с ключами:
curl --remote-name https://files.infotecs.ru/_dl/sess/vipnet_demokeys/vipnet_demokeys.zip unzip vipnet_demokeys.zip cp Coordinator\ 4\ MOBILE/Coordinator\ 4\ MOBILE/abn_0004.dst <путь_к_корневой_директории_USB-диска>
-
Проверьте, что ключи записались на USB-диск:
ls <путь_к_корневой_директории_USB-диска>
Результат:
abn_0004.dst
-
Средствами операционной системы отключите USB-диск от компьютера, но не извлекайте его из USB-порта.
-
Подключите USB-диск к компьютеру и отформатируйте его средствами операционной системы. Файловая система USB-диска — FAT32.
-
Загрузите на USB-диск файл с ключами:
curl.exe --remote-name https://files.infotecs.ru/_dl/sess/vipnet_demokeys/vipnet_demokeys.zip Expand-Archive vipnet_demokeys.zip Copy-Item -Path "<путь_к_директории_vipnet>\vipnet_demokeys\Coordinator 4 MOBILE\Coordinator 4 MOBILE\abn_0004.dst" -Destination <путь_к_корневой_директории_USB-диска>
-
Проверьте, что ключи записались на USB-диск:
Get-ChildItem <путь_к_корневой_директории_USB-диска>
Результат:
Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 1/26/2022 5:38 PM 27456 abn_0004.dst
-
Средствами операционной системы отключите USB-диск от компьютера, но не извлекайте его из USB-порта.
Создайте ВМ с ViPNet Coordinator VA в VirtualBox
- С помощью Oracle VM VirtualBox откройте файл с образом ViPNet Coordinator VA в формате
ova
. - В открывшемся окне нажмите Import и дождитесь завершения импорта настроек.
- Выберите ВМ с именем
vm
и нажмите Start.
Настройте ViPNet Coordinator VA на локальной машине
- В окне выбора способа загрузки ВМ выберите
VA
. - Дождитесь появления приглашения
va login:
в консоли ВМ. - Подключите USB-диск с ключами к ВМ: слева сверху откройте меню Devices → USB и выберите USB-диск с ключами.
- В поле
va login
введитеuser
. - В поле
Password
введитеuser
. - На запрос
Please select setup wizard operating mode
введите2
(full screen interface). - Примите лицензионное соглашение — выберите
Yes
и нажмитеNext
. - Выберите континент
Europe
, странуRussia
, временную зонуMSK+00
и нажмитеYes
. - При необходимости установите текущие дату и время.
- Выберите
usb
в качестве источника для загрузки информации о ключах. После чтения USB-диска будет показана информация о найденных файлах с ключевой информацией. НажмитеNext
. - Введите пароль
11111111
и нажмитеNext
. Данные из файла будут загружены в ВМ. - Настройте сетевые интерфейсы
eth0
иeth1
:Activate interface on boot
.Get IP-address automatically on boot (via DHCP)
.
- Настройте сетевые интерфейсы
eth2
иeth3
:Don't activate interface on boot
. - Настройте следующие параметры:
- В поле
Enable/Disable NTP server mode
выберитеDisable starting the DNS server on boot
. - В поле
Enter hostname
укажитеyc-vipnet-1
. - На вопрос
Do you want to specify custom virtual IP address range?
выберите ответLeave the default setting
. - На вопрос
Do you want to probe VPN-connection with some host in order to verify the configuration you've just made?
выберите ответNo
. - На вопрос
Do you want to start VPN services before leaving the installation wizard?
выберите ответNo
.
- В поле
- Нажмите
FINISH
и дождитесь перезагрузки ВМ. - Отключите USB-диск: слева сверху откройте меню Devices → USB и выберите USB-диск с ключами.
- Выключите ВМ: слева сверху откройте меню Machine → ACPI Shutdown.
- Дождитесь появления логотипа VirtualBox в окне консоли ВМ и закройте окно. Подтвердите выключение ВМ — нажмите Power off.
Конвертируйте образы дисков в qcow2
-
Перейдите в директорию, где хранятся файлы ВМ и узнайте имена файлов в формате
vdi
:cd <путь_к_директории_VirtualBox_VMs>/vm ls -ogh *.vdi
Результат:
-rw------- 1 272M Aug 21 15:22 va_vipnet_base_x86_64-disk1.vdi -rw------- 1 311M Aug 21 15:22 va_vipnet_base_x86_64-disk2.vdi
-
Преобразуйте диски в формат
qcow2
с помощью утилитыqemu-img
:qemu-img convert -f vdi -O qcow2 <имя_файла_VDI_с_диском_1> va_vipnet_base_x86_64-disk1.qcow2 qemu-img convert -f vdi -O qcow2 <имя_файла_VDI_с_диском_2> va_vipnet_base_x86_64-disk2.qcow2
-
Проверьте, что диски сохранились в формате
qcow2
:ls -ogh *.qcow2
Результат:
-rw-r--r-- 1 236M Aug 21 15:32 va_vipnet_base_x86_64-disk1.qcow2 -rw-r--r-- 1 246M Aug 21 15:32 va_vipnet_base_x86_64-disk2.qcow2
-
Перейдите в директорию, где хранятся файлы ВМ и узнайте имена файлов в формате
vdi
:cd <путь_к_директории_VirtualBox_VMs>/vm Get-ChildItem *.vdi
Результат:
Mode LastWriteTime Length Name ---- ------------- ------ ---- ------ 8/24/2022 10:42 PM 324009984 va_vipnet_base_x86_64-disk2.vdi ------ 8/24/2022 10:42 PM 286261248 va_vipnet_base_x86_64-disk1.vdi
-
Преобразуйте диски в формат
qcow2
с помощью утилитыqemu-img
:qemu-img.exe convert -f vdi -O qcow2 <имя_файла_VDI_с_диском_1> va_vipnet_base_x86_64-disk1.qcow2 qemu-img.exe convert -f vdi -O qcow2 <имя_файла_VDI_с_диском_2> va_vipnet_base_x86_64-disk2.qcow2
-
Проверьте, что диски сохранились в формате
qcow2
:Get-ChildItem -Name *.qcow2
Результат:
------ 8/24/2022 10:52 PM 324009984 va_vipnet_base_x86_64-disk2.qcow2 ------ 8/24/2022 10:52 PM 286261248 va_vipnet_base_x86_64-disk1.qcow2
Загрузите образы дисков в Object Storage
- Создайте бакет:
- В консоли управления
выберите каталог, в котором хотите создать бакет. - Выберите сервис Object Storage.
- Нажмите кнопку Создать бакет.
- Задайте параметры бакета:
- Имя —
my-vipnet-images
. - Макс. размер —
Без ограничения
. - Доступ на чтение объектов —
Ограниченный
. - Доступ к списку объектов —
Ограниченный
. - Доступ на чтение настроек —
Ограниченный
. - Класс хранилища —
Холодное
.
- Имя —
- Нажмите Создать бакет.
- В консоли управления
- Загрузите в бакет образы дисков в формате
qcow2
:- Выберите созданный бакет.
- Нажмите Загрузить.
- В появившемся окне выберите файлы и нажмите Открыть.
- Нажмите Загрузить.
- Обновите страницу.
- Получите ссылки на загруженные объекты:
- Нажмите на имя объекта.
- Нажмите Получить ссылку.
- Укажите Время жизни ссылки в часах или днях (максимум 7 дней).
- Нажмите Получить ссылку.
- Скопируйте полученные ссылки.
Создайте образы дисков в Compute Cloud
- В консоли управления
выберите каталогexample_folder
. - Выберите сервис Compute Cloud.
- На панели слева выберите
Образы. - Нажмите Загрузить образ.
- Введите имя образа —
vipnet-va-disk1
. - Вставьте ссылку на образ первого диска в Object Storage.
- Нажмите Загрузить.
- Повторите создание для второго образа
vipnet-va-disk2
.
Чтобы создать образы дисков в Compute Cloud, выполните следующие команды:
yc compute image create vipnet-va-disk1 --source-uri="<ссылка_на_образ_первого_диска>"
yc compute image create vipnet-va-disk2 --source-uri="<ссылка_на_образ_второго_диска>"
Создайте ВМ с ViPNet Coordinator VA в облаке
-
Задайте переменные для создания ВМ:
VM_NAME=vipnet-va ZONE_ID=ru-central1-a DISK1_NAME=vipnet-va-disk1 DISK2_NAME=vipnet-va-disk2 ETH0_SUBNET=public-subnet ETH1_SUBNET=segment1-subnet ETH2_SUBNET=segment2-subnet ETH3_SUBNET=segment3-subnet
-
Выполните команду для создания ВМ:
yc compute instance create \ --name=$VM_NAME \ --hostname=$VM_NAME \ --zone $ZONE_ID \ --create-boot-disk name=$DISK1_NAME,type=network-hdd,image-name=$DISK1_NAME\ --create-disk name=$DISK2_NAME,type=network-hdd,image-name=$DISK2_NAME,auto-delete=true\ --cores=2 \ --memory=4G \ --core-fraction=100 \ --network-interface subnet-name=$ETH0_SUBNET,ipv4-address=10.1.0.8,nat-ip-version=ipv4 \ --network-interface subnet-name=$ETH1_SUBNET,ipv4-address=10.1.1.8 \ --network-interface subnet-name=$ETH2_SUBNET,ipv4-address=10.1.2.8 \ --network-interface subnet-name=$ETH3_SUBNET,ipv4-address=10.1.3.8 \ --metadata serial-port-enable=1
Где:
name
— имя ВМ.hostname
— имя хоста ВМ.zone
— зона доступности, которая соответствует выбранной подсети для ВМ.create-boot-disk
— параметры загрузочного диска.create-disk
— параметры дополнительного диска.cores
— количество ядер (vCPU).memory
— объем памяти (RAM).core-fraction
— уровень производительности vCPU.network-interface
— параметры сетевого интерфейса.metadata
— метаданные ВМ.
Настройте ViPNet Coordinator VA
Подключитесь к ViPNet Coordinator VA по серийной консоли
Перейдите в серийную консоль созданной ВМ:
- В консоли управления
выберите каталогvipnet-folder
. - Перейдите в сервис Compute Cloud и выберите ВМ
vipnet-va
. - Перейдите на вкладку Серийная консоль.
- Введите логин
user
и пароль демоверсии11111111
.
После успешной аутентификации вы войдете в командную строку ViPNet Coordinator VA:
yc-vipnet-1> version
Product: ViPNet Coordinator VA
Platform: VA VIRTUALBOX
License: VA500
Software version: 4.5.1-5668
yc-vipnet-1>
Включите протокол SSH
-
Войдите в режим администратора:
yc-vipnet-1> enable Type the administrator password:
-
Введите пароль администратора для демоверсии
11111111
:yc-vipnet-1#
-
Включите протоколы ICMP и SSH:
firewall service-object add name @ICMP icmp firewall local add 1 rule LICMP src @any dst @any service @ICMP pass firewall local add 1 rule LSSH src @any dst @any service @SSH pass
-
Выйдите из режима администратора и из серийной консоли:
exit exit
Подключитесь к ViPNet Coordinator VA по SSH
-
Получите публичный адрес ViPNet Coordinator VA:
VIPNET_IP=$(yc compute instance get \ --name=$VM_NAME \ --format=json | jq -r '.network_interfaces[0].primary_v4_address.one_to_one_nat.address')
-
Запустите SSH-клиент:
ssh user@$VIPNET_IP
Как удалить созданные ресурсы
Чтобы перестать платить за созданные ресурсы: