Настройка site-to-site VPN сети с помощью VyOS

В инструкции описан процесс настройки Site-to-Site VPN на основе программного маршрутизатора vyos. Будет продемонстрировано объединение частной и внешней сетей серверов.

 

Схема Site-to-Site VPN

 

Что это такое?

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 - номер порта, может быть произвольным

Выполните следующие команды на сервере локальной инфраструктуры:

set interfaces openvpn vtun1 local-address 172.16.4.1
set interfaces openvpn vtun1 local-host xxx.xxx.xxx.xxx
set interfaces openvpn vtun1 local-port 10001
set interfaces openvpn vtun1 mode site-to-site
set interfaces openvpn vtun1 protocol udp
set interfaces openvpn vtun1 remote-address 172.16.4.2
set interfaces openvpn vtun1 remote-host yyy.yyy.yyy.yyy
set interfaces openvpn vtun1 remote-port 10001
set interfaces openvpn vtun1 shared-secret-key-file /config/auth/my-key.key

Выполните данные команды на удаленном сервере-маршрутизаторе:

set interfaces openvpn vtun1 local-address 172.16.4.2
set interfaces openvpn vtun1 local-host yyy.yyy.yyy.yyy
set interfaces openvpn vtun1 local-port 10001
set interfaces openvpn vtun1 mode site-to-site
set interfaces openvpn vtun1 protocol udp
set interfaces openvpn vtun1 remote-address 172.16.4.1
set interfaces openvpn vtun1 remote-host xxx.xxx.xxx.xxx
set interfaces openvpn vtun1 remote-port 10001
set interfaces openvpn vtun1 shared-secret-key-file /config/auth/my-key.key

Примечание: при необходимости поменяйте путь до файла с ключом, маску подсети, порты и ip-адреса для vpn.

Для проверки vpn сети выполните передачу пакетов с удаленного сервера на локальный:

ping 172.16.4.1

При правильной настройке вы увидите ICMP-ответы.

Настройка FireWall

Теперь, когда частные сети видят друг друга, необходимо настроить OSPF для распространения маршрутов с одного маршрутизатора vyos на другой. Для этого, сначала выполним настройку некоторых политик для доступа только определенных диапазов ip. Правила необходимо ввести на обоих маршрутизаторах:

set policy prefix-list RFC1918PREFIXES rule 1 action permit
set policy prefix-list RFC1918PREFIXES rule 1 le 32
set policy prefix-list RFC1918PREFIXES rule 1 prefix 10.0.0.0/8
set policy prefix-list RFC1918PREFIXES rule 2 action permit
set policy prefix-list RFC1918PREFIXES rule 2 le 32
set policy prefix-list RFC1918PREFIXES rule 2 prefix 172.16.0.0/12
set policy prefix-list RFC1918PREFIXES rule 3 action permit
set policy prefix-list RFC1918PREFIXES rule 3 le 32
set policy prefix-list RFC1918PREFIXES rule 3 prefix 192.168.0.0/16

Примечание: OSPF (Open Shortest Path First) - протокол динамической маршрутизации, основанный на технологии отслеживания состояния канала и использующий для нахождения кратчайшего пути алгоритм Дейкстры.

Включим карту маршрутов для созданных правил и удалим остальные:

set policy route-map ONLYRFC1918PREFIXES rule 10 action permit
set policy route-map ONLYRFC1918PREFIXES rule 10 match ip address prefix-list RFC1918PREFIXES
set policy route-map ONLYRFC1918PREFIXES rule 90 action deny

Настраиваем OSPF:

set firewall all-ping '1enable'
set protocols ospf area 172.16.0.0 authentication md5
set protocols ospf area 172.16.0.0 network 172.16.4.0/30
set protocols ospf redistribute connected metric-type 2
set protocols ospf redistribute connected route-map ONLYRFC1918PREFIXES

Проверка

Для проверки настройки Site-to-site vpn выполните передачу пакетов с удаленного сервера одной сети на локальный сервер другой сети:

 

Схема Site-to-Site VPN



 

Средняя оценка: 5,0, всего оценок: 1