VPN на MikroTik: WireGuard в RouterOS 7
RouterOS 7 поддерживает WireGuard штатно, но в отличие от бытовых роутеров ничего не настраивает за вас: интерфейс, адрес, маршрут, NAT и правила файрвола создаются отдельными командами.
Порядок настройки
- 1
Убедитесь, что установлена RouterOS 7 — в шестой ветке WireGuard отсутствует. Проверка: /system/resource/print.
- 2
Создайте интерфейс и возьмите его открытый ключ: /interface/wireguard/add name=dcore listen-port=51820, затем /interface/wireguard/print.
- 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
Назначьте адрес интерфейсу, добавьте маршрут и правило 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. Остальные сегменты сети продолжат ходить напрямую.
Разобраться глубже
- WireGuardРазбираем WireGuard изнутри: криптографический набор без выбора шифров, работа в ядре, роуминг по UDP и почему у протокола всего около 4000 строк кода.
- Домен вместо IPУ пира WireGuard ровно одна строка Endpoint, и запасного адреса формат не предусматривает. У OpenVPN строк remote может быть несколько. Разбираем, что происходит с выданным конфигом, когда сервер переезжает на новый адрес.
- Сравнение протоколовСводная таблица по скорости, скрытности, нагрузке на батарею и сложности настройки. Разбираем, какой протокол под какую задачу подходит и почему универсального ответа не существует.
Готовая конфигурация для MikroTik
30+ серверов в 7 странах, MTProto-прокси для Telegram, до 5 устройств на подписку.
Попробовать бесплатноЧас доступа без оплаты, выдаётся один раз