Рассмотрим решение по построению VPN-соединения «точка-точка» для связи нескольких локаций с целью расширения ИТ-инфраструктуры.
В моем примере участвует две площадки: Россия и Франция.
(В примере используются реальные IP-адреса провайдеров для большей наглядности.)
FR.SW.DEVSERVERS.NETWORK - 45.32.144.83
RU.SW.DEVSERVERS.NETWORK - 195.209.51.5
Local subnet: 10.0.5.0/24
Remote subnet: 10.0.1.0/24
Шаг 1. Установка VyOS
Прежде всего установим VyOS на оборудование или виртуальные мощности, которые планируются использовать для сетевого маршрутизатора и выполним базовую настройку.
Шаг 2. Базовая настройка
Выполняем настройку удаленного маршрутизатора (FR.SW.DEVSERVERS.NETWORK)
В интерфейсе командной строки VyOS переходим в режим конфигурации configure
и выполняем базовую настройку (все доступы временные и созданы исключительно для статьи):
set system host-name fr.sw.devservers.network |
Выполняем настройку локального маршрутизатора (RU.SW.DEVSERVERS.NETWORK)
По аналогии с предыдущим пунктом выполняем базовую настройку локального маршрутизатора:
set system host-name ru.sw.devservers.network |
Шаг 3. Настройка IPSec, ESP и IKE групп
Группа IKE (Internet Key Exchange) позволяет предварительно определить набор из одного или нескольких предложений, которые будут использоваться в согласовании IKE Phase 1, после чего может быть настроена «ассоциация безопасности» ISAKMP (SA).
Для каждого предложения в группе определяется следующая информация:
- Шифр, который зашифровывает пакеты во время IKE Phase;
- Хеш-функция, которая аутентифицирует пакеты во время IKE Phase 1;
- Срок жизни ассоциации;
Протокол ESP (Encapsulating Security Payload) обеспечивает конфиденциальность данных. Кроме того, он позволяет идентифицировать отправителя данных, а также обеспечить целостность данных и защиту от воспроизведения информации. При работе с ESP для шифрования и расшифровки данных обе конечные системы применяют общий ключ.
Если одновременно применяются средства шифрования и идентификации данных, то отвечающая система вначале идентифицирует пакет, а если идентификация выполнена успешно, то расшифровывает пакет. Такой способ обработки пакетов снижает нагрузку на систему и уменьшает риск взлома защиты с помощью атаки типа DDoS.
Выполняем настройку ESP и IKE групп на обоих устройствах (FR.SW.DEVSERVERS.NETWORK && RU.SW.DEVSERVERS.NETWORK)
set vpn ipsec esp-group DevServerESP lifetime 1800 |
Шаг 4. Поднимаем VPN-соединение «точка-точка»
Для настройки соединения потребуется указать параметры:
- IP-адрес удаленного узла.
- Режим проверки подлинности, который будет использоваться для аутентификации друг друга (PSK).
- Группа ESP, которая будет использоваться в соединении.
- Группа IKE, которая будет использоваться в соединении.
- IP-адрес локального устройства для использования в туннеле.
- Связывающая сеть (CIDR) или хост для каждого конца туннеля (изолированная сеть на оборудовании).
Выполняем настройку удаленного устройства (FR.SW.DEVSERVERS.NETWORK)
set vpn ipsec site-to-site peer 195.209.51.5 local-address 45.32.144.83 |
Выполняем настройку локального устройства (RU.SW.DEVSERVERS.NETWORK)
Обратите внимание, что параметры зеркально отражены по сравнению с предыдущей настройкой.
set vpn ipsec site-to-site peer 45.32.144.83 local-address 195.209.51.5 |
Шаг 5. Настройка политики маршрутизации
VyOS поддерживает политику маршрутизации (Policy Routing), позволяя назначать трафик другой таблице маршрутизации. Трафик можно сопоставить с использованием стандартного соответствия (адрес источника, адрес назначения, протокол, порт источника, порт назначения).
MSS Clamping обычно используется для трафика на основе IPSec, чтобы гарантировать, что трафик не превышает MTU пути, из-за дополнительных накладных расходов, которые представляет IPSec.
Выполняем настройку удаленного устройства (FR.SW.DEVSERVERS.NETWORK)
set policy route TCP-MSS1386-ETH0 rule 1 destination address 10.0.5.0/24 |
Выполняем настройку локального устройства (RU.SW.DEVSERVERS.NETWORK)
set policy route TCP-MSS1386-ETH0 rule 1 destination address 10.0.1.0/24 |
Подтверждаем все внесенные изменения commit
и сохраняем настройки save
.
И проверяем статус настроенного туннеля.
Шаг 6. Настройка VPN для клиентов
Подробная инструкция с видеоуроком по настройке L2TP/IPSec доступна на моём блоге.
Выполняем настройку VPN на удаленном устройстве (FR.SW.DEVSERVERS.NETWORK)
set vpn ipsec nat-traversal enable |
Подтверждаем внесенные изменения commit
и сохраняем настройки save
.
Troubleshooting
Сеть 10.0.5.0/24 без доступа в интернет
Для того, чтобы дать доступ в интернет для устройств из сети 10.0.5.0/24
необходимо немного изменить конфигурацию VPN-туннеля.
Выполняем настройку удаленного устройства (FR.SW.DEVSERVERS.NETWORK)
set nat source rule 5 outbound-interface eth0 |
Выполняем настройку удаленного устройства (FR.SW.DEVSERVERS.NETWORK)
set vpn ipsec site-to-site peer 195.209.51.5 tunnel 0 local prefix 0.0.0.0/0 |
Выполняем настройку локального устройства (RU.SW.DEVSERVERS.NETWORK)
set vpn ipsec site-to-site peer 45.32.144.83 tunnel 0 local prefix 10.0.5.0/24 |
Проверяем:
$ monitor interfaces ethernet eth0 traffic filter "host 8.8.8.8" |