Развертывание WireGuard на MikroTik RouterOS v7: интерфейсы, пиры и маршрутизация
- Счетчик рукопожатий (Handshake) в RouterOS обновляется, но трафик не идет (0 байт RX).
- Локальные клиенты за MikroTik не могут получить доступ к ресурсам за WireGuard туннелем.
- Весь исходящий интернет-трафик офиса непреднамеренно заворачивается в туннель (Blackhole).
- В логах RouterOS появляются сообщения:
wireguard,debug peer disconnected / wrong preshared key.
1. Создание интерфейса WireGuard на MikroTik
# 1. Создание интерфейса (публичный ключ сгенерируется автоматически)
/interface wireguard
add listen-port=13231 mtu=1420 name=wireguard-vpn
# 2. Назначение IP-адреса интерфейсу туннеля
/ip address
add address=10.100.0.1/24 interface=wireguard-vpn network=10.100.0.02. Добавление удаленного пира (Peer)
# Добавление филиала или удаленного сервера
/interface wireguard peers
add allowed-address=10.100.0.2/32,192.168.20.0/24 \
endpoint-address=203.0.113.50 endpoint-port=13231 \
interface=wireguard-vpn persistent-keepalive=25s \
public-key="ClientPublicKeyStringBase64="3. Разрешение портов в межсетевом экране (Firewall Filter)
# Разрешение входящего порта WireGuard на внешнем WAN интерфейсе
/ip firewall filter
add action=accept chain=input comment="WireGuard Inbound" dst-port=13231 protocol=udp
# Разрешение прохождения трафика между LAN и VPN
add action=accept chain=forward in-interface=wireguard-vpn out-interface=bridge-lan
add action=accept chain=forward in-interface=bridge-lan out-interface=wireguard-vpn4. Настройка таблицы маршрутизации (Policy Routing) в RouterOS v7
Если через WireGuard требуется направлять только определенный пул адресов:
# 1. Создание статического маршрута к подсети за пиром
/ip route
add comment="Route to Remote LAN" disabled=no distance=1 \
dst-address=192.168.20.0/24 gateway=wireguard-vpn pref-src=""
# 2. Если весь интернет нужно пустить через VPN для определенного списка хостов:
/routing table add disabled=no fib name=to-vpn
/ip route add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=10.100.0.2 routing-table=to-vpn
/routing rule add action=lookup disabled=no src-address=192.168.88.100/32 table=to-vpn5. Проверка статуса сессии
/interface wireguard print
/interface wireguard peers monitor [find] Частые вопросы (FAQ)
Что означает поле 'Allowed IPs' в настройках WireGuard Peer на MikroTik?
Allowed IPs выполняет двойную роль: на приеме это фильтр пакетов (Source IP Routing), разрешающий входящий трафик только с этих адресов, а на отправке — селектор, определяющий, какому пиру отправить пакет.
Почему после настройки WireGuard пропадает доступ к Winbox на MikroTik?
Это происходит, если в Allowed IPs клиента указан маршрут 0.0.0.0/0 без исключения локальной подсети, либо если ответный трафик маршрутизируется через туннель из-за отсутствия Reverse Path фильтрации.
Поддерживает ли MikroTik аппаратное ускорение WireGuard?
WireGuard выполняется на процессоре CPU, но благодаря алгоритмам ChaCha20-Poly1305 устройства MikroTik с архитектурой ARM/ARM64 (RB4011, RB5009, CCR2004) легко прокачивают до 1–2 Гбит/с.
Зачем нужен параметр Persistent Keepalive?
Он необходим, если MikroTik находится за NAT. Роутер будет отправлять пустые пакеты каждые 25 секунд, чтобы межсетевой экран оператора не закрывал UDP трансляцию.