Чтобы безопасно подключаться к устройствам удалённой сети, требуется настройка защищённого соединения. Для этих целей используют IPsec, OpenVPN или WireGuard, как наиболее быстрый и менее проблемный вариант.
Обратите внимание: возможность настройки WireGuard появилась только в RouterOS v.7, если на вашем маршрутизаторе установлена более старая версия, потребуется обновить прошивку.
Создание туннеля WireGuard
Добавление интерфейса
Для начала откроем список интерфейсов WireGuard и кликнем на значок «+», чтобы добавить новый:
В открывшемся окне достаточно указать имя интерфейса и порт:
Те же действия в терминале:
/interface/wireguard add name=wg01 listen-port=51820
В обоих случаях ключи для интерфейса будут сгенерированы автоматически.
Назначение IP-адреса
Назначим созданному интерфейсу IP-адрес. Для этого перейдём в IP → Addresses и нажмём на «+» в открывшемся окне:
Зададим адрес, подсеть и укажем интерфейс:
Те же действия в терминале:
/ip/address add address=10.43.45.1/24 network=10.43.45.0 interface=wg01
Настройка межсетевого экрана
Чтобы разрешить подключения извне и разрешить хождение трафика между VPN и LAN, добавим правила в таблицу Filter:
На вкладке General укажите цепочку input, протокол udp и порт назначения 51820:
Перейдите на вкладку Actions и установите в поле Action значение accept:
Также будет хорошим тоном оставить комментарий к новому правилу:
По аналогии добавим правило с параметрами chain=input, src-address=10.43.45.0/24, action=accept, comment="Allow WireGuard traffic" и поместим их в начало списка:
Те же действия в терминале:
/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
Добавление клиента
Вернёмся в настройки WireGuard и откроем список пиров:
Создадим пир, указав минимальный набор параметров:
- 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 завершена. Если на каком-то этапе у вас возникли проблемы с настройкой — оставьте комментарий, я постараюсь помочь. Всем добра!)