Найти тему
Эникей на передержке

Настройка WireGuard в MikroTik | RouterOS

Оглавление

Чтобы безопасно подключаться к устройствам удалённой сети, требуется настройка защищённого соединения. Для этих целей используют IPsec, OpenVPN или WireGuard, как наиболее быстрый и менее проблемный вариант.

Обратите внимание: возможность настройки WireGuard появилась только в RouterOS v.7, если на вашем маршрутизаторе установлена более старая версия, потребуется обновить прошивку.

Создание туннеля WireGuard

Добавление интерфейса

Для начала откроем список интерфейсов WireGuard и кликнем на значок «+», чтобы добавить новый:

Список туннелей WG ещё пуст
Список туннелей WG ещё пуст

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

Добавление интерфейса WireGuard
Добавление интерфейса WireGuard

Те же действия в терминале:

/interface/wireguard add name=wg01 listen-port=51820
Добавление интерфейса wg01
Добавление интерфейса wg01

В обоих случаях ключи для интерфейса будут сгенерированы автоматически.

Назначение IP-адреса

Назначим созданному интерфейсу IP-адрес. Для этого перейдём в IP → Addresses и нажмём на «+» в открывшемся окне:

Список IP-адресов, закреплённых за интерфейсами
Список IP-адресов, закреплённых за интерфейсами

Зададим адрес, подсеть и укажем интерфейс:

Адрес и подсеть для интерфейса wg01
Адрес и подсеть для интерфейса wg01

Те же действия в терминале:

/ip/address add address=10.43.45.1/24 network=10.43.45.0 interface=wg01
Результат добавления адреса
Результат добавления адреса

Настройка межсетевого экрана

Чтобы разрешить подключения извне и разрешить хождение трафика между VPN и LAN, добавим правила в таблицу Filter:

Настройки Firewall
Настройки Firewall

На вкладке General укажите цепочку input, протокол udp и порт назначения 51820:

General
General

Перейдите на вкладку Actions и установите в поле Action значение accept:

Action
Action

Также будет хорошим тоном оставить комментарий к новому правилу:

Добавление комментария
Добавление комментария

По аналогии добавим правило с параметрами chain=input, src-address=10.43.45.0/24, action=accept, comment="Allow WireGuard traffic" и поместим их в начало списка:

Список правил в таблице Filter
Список правил в таблице Filter

Те же действия в терминале:

/ip/firewall/filter add action=accept chain=input comment="Allow WireGuard" dst-port=51820 protocol=udp place-before=1
/ip/firewall/filter add action=accept chain=input comment="Allow WireGuard traffic" src-address=10.43.45.0/24 place-before=1
Результат добавления правил в таблицу Filter
Результат добавления правил в таблицу Filter

Добавление клиента

Вернёмся в настройки WireGuard и откроем список пиров:

WireGuard's Peers
WireGuard's Peers

Создадим пир, указав минимальный набор параметров:

-15
  • Interface — имя интерфейса.
  • Public Key — публичный ключ, генерируется на основе приватного ключа. Если не знаете как сгенерировать пару ключей, возьмите готовые здесь.
  • Allowed Address — ip-адрес клиента.

Те же действия в терминале:

/interface/wireguard/peers add public-key="5gOBi78JYmGTjCWxWlhF2WjWral6SqlHf0utxQQKMXY=" allowed-address=10.43.45.2/32 interface=wg01 comment="Ivanov Ivan"

После добавления пира создадим конфигурационный файл для подключения на компьютере клиента:

[Interface]
PrivateKey = <Private Key>
Address = 10.43.45.2/32

[Peer]
PublicKey = kvEvCXwxAcDJF3DGJmTN8PeleuSPO5x5/PpdAp1f6hY=
AllowedIPs = 192.168.170.0/24, 10.0.0.0/8
Endpoint = <Endpoint>:<port>
PersistentKeepalive = 30
Так выглядит готовый конфигурационный файл
Так выглядит готовый конфигурационный файл

Осталось скачать клиент wireguard и импортировать приведённый выше конфиг.

Заключение

На этом настойка WG на MikroTik завершена. Если на каком-то этапе у вас возникли проблемы с настройкой — оставьте комментарий, я постараюсь помочь. Всем добра!)