Настройка WireGuard VPN клиента на Mikrotik RouterOS
Как настроить MikroTik RouterOS в качестве клиента WireGuard VPN
В данной инструкции будет описан способ настройки Mikrotik RouterOS как клиента для подключения к серверу WireGuard VPN. В первую очередь необходимо обратить внимание на то, что опция с настройками WireGuard в RouterOS появилась начиная с версии системы RouterOS 7.0. Проверить текущую версию вашего RouterOS можно через веб-интерфейс роутера или с помощью программы WinBox.
- проверить текущую версию RouteOS вашего устройства можно в разделе System - RouterBOARD - Upgrade Firmware.
В случае если версия RouteOS ниже 7, необходимо выполнить обновления устройства до актуальной версии.
Полезные ссылки:
- После проверки/обновления до версии RouteOS 7, необходимо выполнить загрузку конфигурации WireGuard. Выберите в личном кабинете необходимый заказ VPN и загрузите файл конфигурации.
- Загруженный файл будет иметь название типа fnx-wg-79224.conf и содержать следующее:
- Далее необходимо выполнить загрузку файла конфигурации на устройство. Выбрав меню Files - Upload и указав необходимую конфигурацию для загрузки.
После чего загруженный файл конфигурации отобразится в списке файлов на устройстве.
Переходим к импорту конфигурации WireGuard и непосредственной настройки которая необходима для корректной маршрутизации трафика через VPN соединение.
1. Импорт конфигурации WireGuard.
- Переходим в меню WireGuard, выбираем WG Import, в появившемся окне в выпадающем списке делаем выбор нашей конфигурации WG и нажимаем кнопку WG Import.
- После успешного импорта конфигурации появится WireGuard появятся уже настроенные Interface и Peer.
- Также будет назначен ip-адрес для для созданного интерфейса.
2. Создание таблицы маршрутизации для маркированных пакетов VPN трафика Wireguard.
По умолчанию RouterOS определяет таблицу маршрутизации «main», для добавления маршрутов в FIB (Forwarding Information Base, дословно информационная база пересылки, которая используется для принятия решений о пересылке пакетов и содержит копию необходимой маршрутной информации).
Нам потребуется пользовательская таблица маршрутизации, ее следует определить в меню Routing-Tables для добавления маршрутов Wireguard в FIB.
Перейдите в меню Routing-Tables, нажмите +, затем заполните поле Name значением wg_mark и обязательно поставьте галочку FIB.
3. Создание списков адресов и правил разметки пакетов маршрута Wireguard VPN.
Для маркированного маршрута интерфейса Wireguard необходимо создать списки адресов (Address Lists) которые будут использовать Wireguard VPN и правило разметки пакетов маршрута (Mangle), они будут отличаться в зависимости от того каким образом вы хотите туннелировать VPN трафик:
- Если вам нужно полное туннелирование VPN трафика — выполняйте пункт 3.1. (все сайты будут открываться через VPN)
- Если вам нужно выборочное туннелирование, кпримеру для обхода ограничений доступа к некоторым сайтам — выполняйте пункт 3.2.
3.1 Полное туннелирование трафика VPN Wireguard на Mikrotik.
Теперь мы подготовим список адресов использующих Wireguard. В случае с полным туннелированием необходимо указать IP локальной сети роутера, чтобы все устройства подключенные к ней использовали Wireguard VPN для доступа к сайтам.
Перейдите в IP-Firewall-Address Lists и нажмите +, затем заполните поля Name и Address. В поле Name укажите full_wg, поле Address заполните IP адресом локальной сети роутера (по умолчанию 192.168.88.0/24). Нажмите OK.
Добавьте правило разметки пакетов маршрута, для этого перейдите в IP-Firewall-Mangle, нажмите +, затем заполните поля Chain, Src Address List, Action, New Routing Mark и нажмите OK.
3.2 Выборочное туннелирование трафика VPN Wireguard на Mikrotik.
Для выборочного туннелирования вам потребуется создать новые списки адресов в IP-Firewall-Address Lists по аналогии с пунктом 3.1. Только указывать в данных списках нужно имена сайтов или сразу их IP адреса на которые вы будете заходить через VPN. Mikrotik сам распознает адреса указанных сайтов и добавляет (обновляет по истечению TTL) их IP в Address Lists.
Перейдите в IP-Firewall-Address Lists и нажмите +, затем заполните поля Name и Address. В поле Name укажите block_wg, поле Address заполните именем интересующего сайта или его IP адресом. Нажмите ОК.
Для других сайтов в новых списках вы должны будете указать тот же Name что и для первого, но заполнить Address другим именем сайта или IP.
Добавьте правило разметки пакетов маршрута, для этого перейдите в IP-Firewall-Mangle, нажмите +, затем заполните поля Chain, Dst Address List, Action, New Routing Mark и нажмите OK.
После выполнения инструкции до конца проверьте свой VPN именно на https://2ip.io/ и он покажет IP адрес вашего сервера, так как данный ресурс мы прописали в вышеупомянутый список. Если же вы откроете https://whoer.net/ru то whoer покажет ваш реальный IP.
Если заблокированный сайт все равно не открывается, добавьте два адрес листа для одного и того же сайта, одно с указанием www. второе без www.
4. Создание правила маршрутизации для Wireguard VPN.
Создайте новое правило маршрутизации для интерфейса Wireguard с указанием ранее созданной таблицы маршрутизации (п.2.3).
Для этого перейдите в IP-Routes, нажмите +, затем заполните поля Gateway, Distance, Routing Table
Также вам необходимо понизить приоритет стандартного DHCP клиента.
Для этого перейдите в IP-DHCP Client, выберите существующую запись DHCP клиента, измените значение поля Add Default Route на Special Classless и укажите значение поля Default Route Distance = 2 во вкладке Advanced.
Разрешение соединения Wireguard VPN в Firewall-Nat.
По умолчанию Firewall не предполагает наличия вашего соединения Wireguard интерфейса и вам необходимо вручную прописать для него правило masquerade.
Для этого войдите в IP-Firewall-Nat, нажмите +, затем заполните поля Chain, Out. Interface, Action, нажмите OK.
5. Добавить WireGuard интерфейс в список WAN.
Переходим в Interface - Interface list.
Настройка WireGuard на RouterOS завершена. Проверьте своё VPN соединение https://whoer.net/ru или https://2ip.io/
6. MTU fix для Mikrotik Wireguard (mss clamp to pmtu).
Если ваш Mikrotik с установленным WireGuard медленно открывает сайты или вообще не открывает некоторые сайты, то вам нужно установить корректный MTU (Как определить оптимальный размер MTU?), или вы можете воспользоваться fix MTU.
Info
Используйте данный пункт только в случае серьезных проблем с загрузкой сайтов!
Откройте консоль Mikrotik нажав кнопку New Terminal.
Выполните следующую команду:
/ip firewall mangle
add action=change-mss chain=forward new-mss=clamp-to-pmtu out-interface=wg1 protocol=tcp tcp-flags=syn
Перезапустите Mikrotik нажатием кнопки Reboot затем нажмите кнопку Yes. Или воспользуйтесь командой /system reboot в терминале.
В итоге будет добавлено следующее правило IP-Firewall-Mangle, которое исправляет проблему медленной и нестабильной работы WireGuard на Mikrotik.
Помощь
Если у Вас возникли трудности в настройке или появились дополнительные вопросы, вы всегда можете обращаться в нашу службу поддержки через систему тикетов.