Перейти к содержимому

VPN на MikroTik: WireGuard в RouterOS 7

RouterOS 7 поддерживает WireGuard штатно, но в отличие от бытовых роутеров ничего не настраивает за вас: интерфейс, адрес, маршрут, NAT и правила файрвола создаются отдельными командами.

Порядок настройки

  1. 1

    Убедитесь, что установлена RouterOS 7 — в шестой ветке WireGuard отсутствует. Проверка: /system/resource/print.

  2. 2

    Создайте интерфейс и возьмите его открытый ключ: /interface/wireguard/add name=dcore listen-port=51820, затем /interface/wireguard/print.

  3. 3

    Добавьте пир параметрами из конфигурации DCore: /interface/wireguard/peers/add interface=dcore public-key="..." endpoint-address=... endpoint-port=... allowed-address=0.0.0.0/0 persistent-keepalive=25s.

  4. 4

    Назначьте адрес интерфейсу, добавьте маршрут и правило NAT: /ip/address/add, /ip/route/add gateway=dcore, /ip/firewall/nat/add chain=srcnat out-interface=dcore action=masquerade.

Что важно учесть на MikroTik

Приватный ключ не импортируется, а генерируется

RouterOS создаёт пару ключей сама при создании интерфейса. Открытый ключ из вывода print нужно передать на стороне сервера, а приватный ключ из скачанного файла в этой схеме не используется. Это отличается от wg-quick, где конфигурация переносится целиком.

Выборочная маршрутизация — через mangle

Нужные соединения помечаются в /ip/firewall/mangle правилом action=mark-routing, а затем создаётся маршрут с routing-mark, ведущий в интерфейс WireGuard. Это мощнее, чем списки устройств в бытовых роутерах, но требует аккуратности: правило без указания цепочки легко заворачивает весь трафик.

Файрвол по умолчанию ничего не пропускает в туннель

Если в конфигурации есть правила forward с политикой запрета, трафик из локальной сети в интерфейс WireGuard нужно разрешить явно. Симптом: туннель поднят, рукопожатие идёт, а устройства сети в интернет не выходят.

MTU задаётся вручную

RouterOS не подбирает размер пакета сам. Начните с 1420 и снижайте, если крупные страницы перестают открываться, а мелкие запросы проходят. На PPPoE-подключениях запас нужен больший.

Частые вопросы

Поддерживает ли WireGuard RouterOS 6?

Нет, поддержка появилась только в RouterOS 7. На шестой ветке доступны другие типы туннелей, но WireGuard среди них нет.

Почему рукопожатие идёт, а интернета нет?

Чаще всего не создано правило masquerade в srcnat либо запрещён forward из локальной сети в интерфейс туннеля. Туннель при этом полностью исправен — проблема в маршрутизации и файрволе.

Можно ли пустить в туннель только один VLAN?

Да, через маркировку в mangle по входящему интерфейсу и отдельный маршрут с routing-mark. Остальные сегменты сети продолжат ходить напрямую.

Разобраться глубже

Готовая конфигурация для MikroTik

30+ серверов в 7 странах, MTProto-прокси для Telegram, до 5 устройств на подписку.

Попробовать бесплатно

Час доступа без оплаты, выдаётся один раз

Telegram