WireGuard для удаленных пользователей#

Описание#

Помимо построения защищенного канала между площадками типа «Site-to-Site» протокол WireGuard также используется для обеспечения безопасного доступ типа «Remote Access» удаленных узлов к сервисам в корпоративной сети.

В данном разделе описана настройка защищенной сети для безопасного доступа к ресурсам в корпоративной сети удаленных узлов с помощью протокола WireGuard.

Настройка#

Пример настройки#

В качестве примера приведена настройка защищенной сети для безопасного доступа к ресурсам в корпоративной сети для двух удаленных узлов:

Пример базовой конфигурацииПример базовой конфигурации

Параметры, используемые для настройки:

  • wg01 - WireGuard интерфейс на маршрутизаторе, который используется для подключения удаленных узлов

  • eth0 - Внешний WAN интерфейс маршрутизатора

  • 89.65.211.178 - Адрес внешнего интерфейса eth0

  • 172.16.155.1/24 - Адрес WireGuard интерфейса wg0

  • 172.16.155.21/32 - Адрес, который будет присвоен удаленному узлу 1 при подключении по защищенному каналу

  • 172.16.155.22/32 - Адрес, который будет присвоен удаленному узлу 2 при подключении по защищенному каналу

  • 15 секунд - Значение параметра проверки доступности удаленных узлов «persistent-keepalive»

  • 2224 - Номер порта, по которому будут подключаться удаленные узлы WireGuard

  • RIbtUTCfgzNjnLNPQ/ulkGnnB2vMWHm7l2H/xUfbyjc= - Публичный ключ маршрутизатора

  • QQ+yJff8805ldoUsrAde1WGhF9V1a8JAqbgeCOWd6Cw= - Публичный ключ удаленного узла 1

  • L87ytwQQMwpA+R96SH5L4voPLVxFViTRz5fCAtgnvkQ= - Публичный ключ удаленного узла 2

Процедура настройки WireGuard для Remote Access VPN:#

  1. Создать пару ключей (Публичный + приватный):

    generate wireguard default-keypair
    
  2. Создать сетевой интерфейс WIreGuard:

    set interfaces wireguard wg01 address 172.16.155.1/24
    
  3. Добавить описание для сетевого интерфейса WireGuard (опционально):

    set interfaces wireguard wg01 description "Remote_Access_VPN"
    
  4. Задать номер порта, по которому будут подключаться удаленные узлы WireGuard (В данном примере используется 2224 порт, но также можно указать любой другой порт по желанию):

    set interfaces wireguard wg01 port 2224
    
  5. Создать профиль для удаленного узла 1:

    set interfaces wireguard wg01 peer Remote_Peer_01
    
  6. Задать адрес, который будет присвоен удаленному узлу 1 при подключении через WireGuard:

    set interfaces wireguard wg01 peer Remote_Peer_01 allowed-ips 172.16.155.21/32
    
  7. Для параметра проверки доступности удаленного узла 1 задать значение равное 15 секундам:

    set interfaces wireguard wg01 peer Remote_Peer_01 persistent-keepalive 15
    
  8. Добавить публичный ключ для удаленного узла:

    set interfaces wireguard wg01 peer Remote_Peer_01 pubkey QQ+yJff8805ldoUsrAde1WGhF9V1a8JAqbgeCOWd6Cw=
    
  9. Создать профиль для удаленного узла 2:

    set interfaces wireguard wg01 peer Remote_Peer_02
    
  10. Задать адрес, который будет присвоен удаленному узлу 2 при подключении через WireGuard:

    set interfaces wireguard wg01 peer Remote_Peer_02 allowed-ips 172.16.155.22/32
    
  11. Для параметра проверки доступности удаленного узла 1 задать значение равное 15 секундам:

    set interfaces wireguard wg01 peer Remote_Peer_02 persistent-keepalive 15
    
  12. Добавить публичный ключ для удаленного узла:

    set interfaces wireguard wg01 peer Remote_Peer_02 pubkey L87ytwQQMwpA+R96SH5L4voPLVxFViTRz5fCAtgnvkQ=
    

После создания интерфейса WireGuard и добавления профилей для удаленных узлов, настройте правила для Межсетевого Экрана. Для корректной работы WireGuard создайте два правила. Первое правило Rule 10 включает состояние Established и Related для сессий, которые устанавливаются с маршрутизатором при подключении удаленных узлов. Второе правило Rule 20 разрешает UDP трафик, который приходит на 2224 порт для установки защищенного канала между маршрутизатором и удаленными узлами: Оба правила создаются в политике, которая отвечает за фильтрацию трафика, приходящего непосредственно на внешний интерфейс маршрутизатора WAN_LOCAL.

Процедура настройки правил межсетевого экрана для WireGuard Remote Access VPN:#

  1. Создать правило Rule 10, которое включает состояние Established и Related для сессий, которые устанавливаются с маршрутизатором при подключении удаленных узлов.:

    set firewall name WAN_LOCAL rule 10 action accept
    
  2. Добавить описание для правила Rule 10:

    set firewall name WAN_LOCAL rule 10 description 'Allow established/related'
    
  3. Включить состояние Established для сессий, которые устанавливаются с маршрутизатором при подключении удаленных узлов:

    set firewall name WAN_LOCAL rule 10 state established enable
    
  4. Включить состояние Related для сессий, которые устанавливаются с маршрутизатором при подключении удаленных узлов:

    set firewall name WAN_LOCAL rule 10 state related enable
    
  5. Создать правило Rule 20, разрешающее UDP трафик, который приходит на 2224 порт для установки защищенного канала между маршрутизатором и удаленными узлами:

    set firewall name WAN_LOCAL rule 20 action accept
    
  6. Добавить описание для правила Rule 20:

    set firewall name WAN_LOCAL rule 20 description 'WireGuard_IN'
    
  7. Задать номер порта, по которому будут подключаться удаленные клиенты WireGuard:

    set firewall name WAN_LOCAL rule 20 destination port 2224
    
  8. Разрешить прохождение UDP трафика по данному правилу:

    set firewall name WAN_LOCAL rule 20 protocol udp
    
  9. Привязать политику WAN_LOCAL к внешнему сетевому интерфейсу (WAN), для цепочки которая отвечает за трафик, приходящий непосредственно на адрес внешнего интерфейса:

    set interfaces ethernet eth0 firewall local name WAN_LOCAL
    

После завершения настроек на маршрутизаторе, настройте WireGuard на удаленных узлах.

Пример настроек для узла 1:#

[Interface]
PrivateKey = ARAKLSDJsadlkfjasdfiowqeruriowqeuasdf=
Address = 172.16.155.21/24
DNS = 172.18.0.10

[Peer]
PublicKey = RIbtUTCfgzNjnLNPQ/ulkGnnB2vMWHm7l2H/xUfbyjc=
AllowedIPs = 0.0.0.0/0
Endpoint = 89.65.211.178:2224
PersistentKeepalive = 25

Пример настроек для узла 2:#

[Interface]
PrivateKey = 8Iasdfweirousd1EVGUk5XsT+wYFZ9mhPnQhmjzaJE6Go=
Address = 172.16.155.22/24
DNS = 172.18.0.10

[Peer]
PublicKey = RIbtUTCfgzNjnLNPQ/ulkGnnB2vMWHm7l2H/xUfbyjc=
AllowedIPs = 0.0.0.0/0
Endpoint = 89.65.211.178:2224
PersistentKeepalive = 25