Skip to main content

Руководство пользователя

Соединение трёх локальных сетей через WireGuard VPN

В нашем примере рассмотрим, как установить Wireguard-соединение между тремя роутерами Keenetic, чтобы хосты в их локальных сегментах могли обмениваться между собой данными. Такую схему подключения называют Site-To-Site VPN (например, межофисное соединение для связи с целью расширения сетевой инфраструктуры).

  1. Необходимо убедиться, что внешний WAN IP-адрес одного из роутеров доступен с другого. В случае, если VPN-туннель нужно построить через Интернет, это означает что у одного из роутеров должен быть предоставлен провайдером публичный "белый" IPv4-адрес.

  2. Установите компонент системы Wireguard VPN. Сделать это можно в веб-конфигураторе на странице Общие настройки системы в разделе Обновления и компоненты, нажав на Изменить набор компонентов.

    wireguard1-en.png

    Установить компонент Wireguard VPN нужно на трёх роутерах Keenetic. После этого настройки Wireguard VPN появятся в веб-конфигураторе на странице Другие подключения.

    Рассмотрим графическую схему сети:

    wg-scheme-en.png
    • Роутеру Keenetic А1 провайдер выдал публичный WAN IP-адрес. На этот адрес, будут устанавливать подключения Роутер B2 и Роутер C3. Иными словами, интерфейс Wireguard на роутере А1 будет выполнять роль сервера, к которому подключаются роутеры-клиенты удаленных офисов B2 и C3.

    • В локальной сети роутера Keenetic А1 два локальных сегмента — A1 и A2. К ним нужно обеспечить доступ из локальной сети роутера B2. В обратном направлении, в локальную сеть C3, доступ также должен быть обеспечен из этих двух сегментов.

    • Локальная сеть за роутером Keenetic C3 должна иметь в сети Keenetic А1 доступ только к сегменту A1.

    • Хосты в удаленных сетях B2 и C3 также должны иметь возможность обмениваться трафиком.

    В нашем примере в качестве публичного WAN IP-адреса, выданного интернет-провайдером на роутер А1, мы используем частный IP-адрес 192.168.201.14. В общем случае, коммутационная среда, в которую подключены все три роутера (черные линии на схеме) — не обязательно глобальная сеть, это может быть и локальная сеть провайдера.

    Будем считать, что роутер A1 выполняет роль сервера и находится в головном офисе, тогда как две удаленные сети — филиалы B2 и C3. На роутере Keenetic А1 подсеть сегмента A1 имеет адресацию 192.168.111.1/24, сегмента A2 — 192.168.112.1/24. Локальная сеть филиала B2 — 192.168.15.1/24, локальная сеть филиала C3 — 192.168.26.1.24.

    Роутер

    Локальная сеть

    Доступ к сети

    Адрес интерфейса туннеля

    Keenetic A1 (головной офис)

    192.168.111.1/24

    B2, C3

    172.16.82.1/24

    192.168.112.1/24

    B2

    Keenetic B2 (филиал 2)

    192.168.15.1/24

    А1, А2, C3

    172.16.82.2/24

    Keenetic C3 (филиал 3)

    192.168.26.1/24

    А1, B2

    172.16.82.3/24

  3. Сначала настроим подключения Wireguard VPN на роутерах А1 и B2.

    3.1. Предварительная настройка на роутере Keenetic B2.

    В меню ИнтернетДругие подключения, в разделе Wireguard, нужно нажать кнопку Добавить подключение. Откроется окно настроек, в котором укажите название туннеля — VPN B2-А1. При помощи кнопки Генерация пары ключей нужно создать пару ключей, приватный и публичный, которые будут использоваться для защиты подключения.

    В поле IPv4-адрес указываем IP-адрес в формате IP/bitmask172.16.82.2/24 (это внутренний "технический" адрес туннеля). Можно использовать другую подсеть, при этом её следует выбрать из зарезервированных для частного использования диапазонов и таким образом, чтобы избежать наложения с другими настроенными на данных устройствах подсетями. Далее нужно нажать кнопку Сохранить публичный ключ в буфер обмена (он потребуется на следующем шаге) и затем кнопку Сохранить для применения настроек.

    wg-comb-network-01-en.png

    3.2. Настройка на роутере Keenetic А1 (соединение с филиалом B2).

    На роутере А1 аналогично нужно добавить подключение, указать название и сгенерировать пару ключей. Копировать в буфер обмена публичный ключ с роутера А1 пока не нужно.

    Далее укажем адрес. Внутренний "технический" адрес устройства в туннеле имеет смысл указать из уже избранной при настройке интерфейса на роутере B2 подсети — на нём мы указали адрес из сети 172.16.82.2/24, на роутере А1 адрес следует указывать из этой же сети. Укажем на конце туннеля Keenetic А1 адрес 172.16.82.1/24.

    Примечание

    Адрес можно указать с маской 32 бита, то есть не адрес сети, а адрес хоста. При этом придется добавлять маршрут, указывающий на сеть интерфейса туннеля или индивидуально к каждому концу туннеля. В случае указания адреса таким образом, чтобы маска охватывала адреса всех участников в туннеле, выстраиваемый автоматически маршрут избавляет от необходимости вводить данные установки вручную.

    Порт, указанный в поле Порт прослушивания, будет использован при дальнейшей настройке роутера B2. На этот порт роутеры Keenetic B2 и Keenetic C3 будут обращаться при установлении VPN-туннеля. В нашем примере используем порт номер 16632. Этот порт роутер А1 автоматически откроет на всех интерфейсах, чтобы проходили входящие подключения, и дополнительно добавлять разрешающие правила в сетевом экране не требуется.

    wg-comb-network-02-en.png

    Далее добавим соединение при помощи кнопки Добавить пир. Укажем соответствующее имя соединения и публичный ключ туннеля с роутера B2. Поскольку на предыдущем шаге этот ключ был скопирован в буфер обмена, его можно сейчас вставить в поле Публичный ключ.

    В полях Разрешенные подсети нужно указать адреса, трафик с которых должен быть допущен от удаленной стороны, и адреса, трафик к которым может быть отправлен удаленной стороне. Это: технический адрес удаленного конца туннеля — 172.16.82.2/32 (со стороны пира B2 трафик в туннеле будет идти с адресом источника 172.16.82.2, и в нашем примере мы указываем здесь явно адрес хоста, принимая во внимание, что адресные пространства разрешенных подсетей на соединениях в рамках одного интерфейса не должны перекрываться), и удаленная сеть — локальная сеть роутера B2 — 192.168.15.0/24 (к этой сети требуется обеспечить доступ по туннелю).

    В поле Проверка активности необходимо указать периодичность попыток зондирования. Это внутренняя, встроенная в протокол проверка доступности удаленной стороны соединения. Обычно, достаточно 8~10 секундного интервала между проверками.

    После чего, скопируем публичный ключ роутера А1 в буфер обмена и сохраним настройку.

    wg-comb-network-03-en.png

    3.3. Теперь выполняем донастройку подключения на роутере B2. Требуется добавить соединение, которое будет устанавливаться к роутеру А1.

    wg-comb-network-04-en.png

    Нажмите по записи туннеля, откроется окно с его настройками, нажмите кнопку Добавить пир.

    wg-comb-network-05-en.png

    В настройках пира указываем Имя пира (в нашем примере это Keenetic А1), Публичный ключ (на предыдущем шаге он был скопирован в буфер обмена), Адрес и порт пира в формате IP:port (это публичный WAN IP-адрес роутера А1 и порт прослушивания, который был указан при конфигурации туннеля на роутере А1), в нашем примере 192.168.201.14:16632

    В поле Разрешенные подсети нужно внести адреса удаленных концов туннеля, указываем 172.16.82.0/24, трафик с адресов этой сети будет принят из туннеля. Добавим адреса сетей локальных сегментов A1 и A2 роутера Keenetic А1 — 192.168.111.0/24 и 192.168.112.0/24. Исходящий трафик к этим двум сетям будет допущен к передаче по туннелю. Добавим адреса локальной сети филиала C3, 192.168.26.0/24 — в эту сеть также требуется доступ. Интервал проверки активности с этой стороны выберем 10 секунд. Сохраняем установки.

    wg-comb-network-06-en.png

    3.4. Включим настроенные VPN-интерфейсы на роутерах А1 и B2. Если все настроено корректно, в колонке Пир должен отображаться зеленый индикатор статуса подключения.

    Keenetic А1:

    wg-comb-network-07-en.png

    Keenetic B2:

    wg-comb-network-08-en.png
  4. Настройка сетевого экрана и маршрутизации. Для работы потребуется указать маршруты и разрешить входящий трафик на добавленные VPN-интерфейсы.

    4.1. Разрешаем входящий в интерфейс Wireguard трафик. Это нужно сделать, т.к. по умолчанию интерфейсам туннеля устанавливается публичный уровень безопасности и входящий трафик запрещен. Чтобы запросы из удаленных сетей могли проходить по туннелю, добавим на обоих роутерах соответствующую настройку в меню Межсетевой экран.

    wg-comb-network-09-en.png

    4.2. "Технические" адреса сети, обозначенной на концах туннеля — 172.168.82.1 и 172.16.82.2, уже могут на этом этапе обмениваться данными. Чтобы по туннелю отправлялся трафик в удаленные сети, требуемые по схеме, на роутерах необходимо добавить маршруты (меню Маршрутизация — кнопка Добавить маршрут).

    Keenetic А1 — маршрут к сети 192.168.15.0/24 через туннель:

    wg-comb-network-10-en.png

    Keenetic B2 — маршруты к сетям 192.168.111.0/24 и 192.168.112.0/24 и 192.168.26.0/24 через туннель:

    wg-comb-network-11-en.png
    wg-comb-network-12-en.png
    wg-comb-network-13-en.png

    Последний маршрут пока не может работать, так как соединение с филиалом C3 ещё не настроено. Завершим настройку.

  5. Настройка соединения между роутерами Keenetic А1 и C3. Процедура аналогична приведенной в пунктах 3 и 4. Потребуется публичный ключ с роутера А1. Скопируем его в буфер обмена и настроим интерфейс Wireguard в роутере C3.

    5.1. Keenetic C3:

    Параметры интерфейса Wireguard.

    wg-comb-network-14-en.png

    Настройка сетевого экрана для интерфейса Wireguard.

    wg-comb-network-09-en.png

    Правила маршрутизации.

    wg-comb-network-15-en.png
    wg-comb-network-16-en.png

    5.2. Keenetic А1:

    Добавляем в настроенный интерфейс Wireguard пир для офиса C3.

    wg-comb-network-17-en.png

    Также требуется указать маршрут к сети 192.168.26.0/24 (на роутере B2 мы уже добавляли эту настройку, теперь она заработает — после включения интерфейса в офисе C3).

    wg-comb-network-18-en.png
    wg-comb-network-19-en.png

    Настройка завершена.

Для проверки можно выполнить непосредственно с устройств через меню Диагностика пинг хостов в сетях, согласно таблице-заданию (пункт 2).

Ниже приведем получившиеся в результате настроек конфигурационные параметры трёх роутеров.

Keenetic А1:

access-list _WEBADMIN_Wireguard0
 permit ip 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0
interface Wireguard0
 description "VPN B2&C3-A1"
 security-level public
 ip address 172.16.82.1 255.255.255.0
 ip access-group _WEBADMIN_Wireguard0 in
 ip tcp adjust-mss pmtu
 wireguard listen-port 16632
 wireguard peer lH37FbHVYf8+TkSlOcnMrEp/Yds+/bAf1MJtwy1hHTs= !Keenetic B2
 keepalive-interval 15
 allow-ips 192.168.15.0 255.255.255.0
 allow-ips 172.16.82.2 255.255.255.255
 !
 wireguard peer Iy3sCO73ACkzM2oVsZd+N+iRPcawsONQuftK4ee58kM= !Keenetic C3
 keepalive-interval 3
 allow-ips 192.168.26.0 255.255.255.0
 allow-ips 172.16.82.3 255.255.255.255
 !
 up
ip route 192.168.15.0 255.255.255.0 Wireguard0
ip route 192.168.26.0 255.255.255.0 Wireguard0

Keenetic B2:

access-list _WEBADMIN_Wireguard0
 permit ip 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0
interface Wireguard0
 description "VPN B2-A1"
 security-level public
 ip address 172.16.82.2 255.255.255.0
 ip access-group _WEBADMIN_Wireguard0 in
 ip tcp adjust-mss pmtu
 wireguard peer //lGSLpFyJDWKOtphjkkdRFflF3MmYCh8/CEWe5U/lE= !Keenetic А1
 endpoint 192.168.201.14:16632
 keepalive-interval 10
 allow-ips 192.168.111.0 255.255.255.0
 allow-ips 192.168.112.0 255.255.255.0
 allow-ips 192.168.26.0 255.255.255.0
 allow-ips 172.16.82.0 255.255.255.0
 !
 up
ip route 192.168.111.0 255.255.255.0 Wireguard0
ip route 192.168.112.0 255.255.255.0 Wireguard0
ip route 192.168.26.0 255.255.255.0 Wireguard0

Keenetic C3:

access-list _WEBADMIN_Wireguard0
 permit ip 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0
interface Wireguard0
 description "VPN C3-A1"
 security-level public
 ip address 172.16.82.3 255.255.255.0
 ip access-group _WEBADMIN_Wireguard0 in
 ip tcp adjust-mss pmtu
 wireguard peer //lGSLpFyJDWKOtphjkkdRFflF3MmYCh8/CEWe5U/lE= !Keenetic А1
 endpoint 192.168.201.14:16632
 keepalive-interval 15
 allow-ips 172.16.82.0 255.255.255.0
 allow-ips 192.168.111.0 255.255.255.0
 allow-ips 192.168.15.0 255.255.255.0
 !
 up
ip route 192.168.111.0 255.255.255.0 Wireguard0
ip route 192.168.15.0 255.255.255.0 Wireguard0