В инструкции описан процесс настройки Site-to-Site VPN на основе программного маршрутизатора vyos. Будет продемонстрировано объединение частной и внешней сетей серверов.
Что это такое?
Site-to-site VPN (Virtual Private Network) - способ реализации технологии OpenVPN. VPN-соединение между сетями позволяет офисам в нескольких фиксированных местах устанавливать безопасные соединения друг с другом через общедоступную сеть, такую как Интернет. VPN-соединение между сторонами расширяет сеть компании, делая компьютерные ресурсы из одного места доступными для сотрудников в других местах. Примером компании, которая нуждается в VPN-связи между сайтами, является растущая корпорация с десятками филиалов по всему миру.
Генерация ключей
Сгенерируйте ключ для vpn на vyos, который появится в директории /config/auth:
generate openvpn key <filename>
Копию сгенерированного файла необходимо также поместить на удаленный маршрутизатор, это можно выполнить с помощью утилиты scp.
Например:
generate openvpn key my-key.key
Настройка маршрутизаторов
Подключите сервер vyos к частной сети.
Перейдите в режим конфигурации vyos:
config
Примечание: в обычном режиме приглашение командной строки заканчивается символом $ (доллар), а в режиме конфигурации символом # (решетка).
Далее используются следующие обозначения и значения:
- xxx.xxx.xxx.xxx - внешний ip-адрес сервера-маршрутизатора локальной инфраструктуры, например 185.158.152.144
- yyy.yyy.yyy.yyy - внешний ip-адрес сервера-маршрутизатора удаленной инфраструктуры, например 188.227.75.105
- 172.16.4.1 - oppenvpn ip-адрес сервера-маршрутизатора локальной инфраструктуры, должен быть выбран из диапазона 172.16.0.0 — 172.31.255.255
- 172.16.4.2 - oppenvpn ip-адрес сервера-маршрутизатора удаленной инфраструктуры, должен быть выбран из диапазона 172.16.0.0 — 172.31.255.255
- 10001 - номер порта, может быть произвольным
Выполните следующие команды на сервере локальной инфраструктуры:
Выполните данные команды на удаленном сервере-маршрутизаторе:
Примечание: при необходимости поменяйте путь до файла с ключом, маску подсети, порты и ip-адреса для vpn.
Для проверки vpn сети выполните передачу пакетов с удаленного сервера на локальный:
ping 172.16.4.1
При правильной настройке вы увидите ICMP-ответы.
Настройка FireWall
Теперь, когда частные сети видят друг друга, необходимо настроить OSPF для распространения маршрутов с одного маршрутизатора vyos на другой. Для этого, сначала выполним настройку некоторых политик для доступа только определенных диапазов ip. Правила необходимо ввести на обоих маршрутизаторах:
Примечание: OSPF (Open Shortest Path First) - протокол динамической маршрутизации, основанный на технологии отслеживания состояния канала и использующий для нахождения кратчайшего пути алгоритм Дейкстры.
Включим карту маршрутов для созданных правил и удалим остальные:
Настраиваем OSPF:
Проверка
Для проверки настройки Site-to-site vpn выполните передачу пакетов с удаленного сервера одной сети на локальный сервер другой сети: