WireGuard для удаленных пользователей#
Описание#
Помимо построения защищенного канала между площадками типа «Site-to-Site» протокол WireGuard также используется для обеспечения безопасного доступ типа «Remote Access» удаленных узлов к сервисам в корпоративной сети.
В данном разделе описана настройка защищенной сети для безопасного доступа к ресурсам в корпоративной сети удаленных узлов с помощью протокола WireGuard.
Настройка#
Пример настройки#
В качестве примера приведена настройка защищенной сети для безопасного доступа к ресурсам в корпоративной сети для двух удаленных узлов:
Параметры, используемые для настройки:
wg01
- WireGuard интерфейс на маршрутизаторе, который используется для подключения удаленных узловeth0
- Внешний WAN интерфейс маршрутизатора89.65.211.178
- Адрес внешнего интерфейса eth0172.16.155.1/24
- Адрес WireGuard интерфейса wg0172.16.155.21/32
- Адрес, который будет присвоен удаленному узлу 1 при подключении по защищенному каналу172.16.155.22/32
- Адрес, который будет присвоен удаленному узлу 2 при подключении по защищенному каналу15 секунд
- Значение параметра проверки доступности удаленных узлов «persistent-keepalive»2224
- Номер порта, по которому будут подключаться удаленные узлы WireGuardRIbtUTCfgzNjnLNPQ/ulkGnnB2vMWHm7l2H/xUfbyjc=
- Публичный ключ маршрутизатораQQ+yJff8805ldoUsrAde1WGhF9V1a8JAqbgeCOWd6Cw=
- Публичный ключ удаленного узла 1L87ytwQQMwpA+R96SH5L4voPLVxFViTRz5fCAtgnvkQ=
- Публичный ключ удаленного узла 2
Процедура настройки WireGuard для Remote Access VPN:#
Создать пару ключей (Публичный + приватный):
generate wireguard default-keypair
Создать сетевой интерфейс WIreGuard:
set interfaces wireguard wg01 address 172.16.155.1/24
Добавить описание для сетевого интерфейса WireGuard (опционально):
set interfaces wireguard wg01 description "Remote_Access_VPN"
Задать номер порта, по которому будут подключаться удаленные узлы WireGuard (В данном примере используется 2224 порт, но также можно указать любой другой порт по желанию):
set interfaces wireguard wg01 port 2224
Создать профиль для удаленного узла 1:
set interfaces wireguard wg01 peer Remote_Peer_01
Задать адрес, который будет присвоен удаленному узлу 1 при подключении через WireGuard:
set interfaces wireguard wg01 peer Remote_Peer_01 allowed-ips 172.16.155.21/32
Для параметра проверки доступности удаленного узла 1 задать значение равное 15 секундам:
set interfaces wireguard wg01 peer Remote_Peer_01 persistent-keepalive 15
Добавить публичный ключ для удаленного узла:
set interfaces wireguard wg01 peer Remote_Peer_01 pubkey QQ+yJff8805ldoUsrAde1WGhF9V1a8JAqbgeCOWd6Cw=
Создать профиль для удаленного узла 2:
set interfaces wireguard wg01 peer Remote_Peer_02
Задать адрес, который будет присвоен удаленному узлу 2 при подключении через WireGuard:
set interfaces wireguard wg01 peer Remote_Peer_02 allowed-ips 172.16.155.22/32
Для параметра проверки доступности удаленного узла 1 задать значение равное 15 секундам:
set interfaces wireguard wg01 peer Remote_Peer_02 persistent-keepalive 15
Добавить публичный ключ для удаленного узла:
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:#
Создать правило Rule 10, которое включает состояние Established и Related для сессий, которые устанавливаются с маршрутизатором при подключении удаленных узлов.:
set firewall name WAN_LOCAL rule 10 action accept
Добавить описание для правила Rule 10:
set firewall name WAN_LOCAL rule 10 description 'Allow established/related'
Включить состояние Established для сессий, которые устанавливаются с маршрутизатором при подключении удаленных узлов:
set firewall name WAN_LOCAL rule 10 state established enable
Включить состояние Related для сессий, которые устанавливаются с маршрутизатором при подключении удаленных узлов:
set firewall name WAN_LOCAL rule 10 state related enable
Создать правило Rule 20, разрешающее UDP трафик, который приходит на 2224 порт для установки защищенного канала между маршрутизатором и удаленными узлами:
set firewall name WAN_LOCAL rule 20 action accept
Добавить описание для правила Rule 20:
set firewall name WAN_LOCAL rule 20 description 'WireGuard_IN'
Задать номер порта, по которому будут подключаться удаленные клиенты WireGuard:
set firewall name WAN_LOCAL rule 20 destination port 2224
Разрешить прохождение UDP трафика по данному правилу:
set firewall name WAN_LOCAL rule 20 protocol udp
Привязать политику 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