MikroTik WireGuard Error: peer allowed-ips mismatch — исправление маршрутизации
- В журнале появляется
wireguard,error packet dropped: peer allowed-ips mismatch. - Рукопожатие (Handshake) проходит успешно, но трафик не проходит внутрь туннеля или теряется в одну сторону.
- Пакеты из локальной сети клиента сбрасываются интерфейсом WireGuard на маршрутизаторе.
- Невозможно добавить одинаковые подсети в
allowed-addressдля двух разных пиров.
1. Понимание модели Cryptokey Routing
WireGuard маршрутизирует трафик на основе криптографических ключей. Список allowed-address выполняет две функции:
- Определяет, какие IP-адреса источника (Src IP) разрешено принимать от данного пира.
- Определяет, какому пиру отправлять пакет с соответствующим IP-адресом назначения (Dst IP).
2. Корректировка Allowed-Address на стороне Сервера
Убедитесь, что для пира разрешен как его внутренний IP туннеля, так и его локальная подсеть (если требуется доступ к LAN):
/interface wireguard peers
set [find comment="Client-1"] allowed-address=10.0.0.2/32,192.168.20.0/243. Корректировка Allowed-Address на стороне Клиента
Если через туннель должен идти весь трафик, укажите 0.0.0.0/0, либо перечислите только целевые корпоративные подсети:
/interface wireguard peers
set [find comment="To-Server"] allowed-address=0.0.0.0/04. Проверка пересечения подсетей (Overlap Conflicts)
В рамках одного WireGuard интерфейса одна и та же подсеть не может быть назначена двум разным пирам:
/interface wireguard peers print detail5. Проверка статических маршрутов в таблице маршрутизации
/ip route
add dst-address=192.168.20.0/24 gateway=wireguard1 routing-table=main Частые вопросы (FAQ)
Почему при указании allowed-address=0.0.0.0/0 для нескольких пиров возникает сбой?
В WireGuard на одном интерфейсе маршрут 0.0.0.0/0 может принадлежать только одному пиру. Если требуется несколько шлюзов по умолчанию, необходимо создать отдельные интерфейсы WireGuard (wireguard1, wireguard2).
Что произойдет, если клиент отправляет пакет с IP-адресом, не входящим в allowed-address?
Ядро WireGuard мгновенно отбросит такой пакет без генерации ответа ICMP как не прошедший криптографическую проверку источника (Source IP Check).
Нужно ли настраивать NAT/Masquerade для WireGuard трафика?
Если на удаленной стороне не прописан обратный маршрут в подсеть источника, необходимо настроить '/ip firewall nat add chain=srcnat out-interface=wireguard1 action=masquerade'.
Как разрешить доступ ко всей локальной сети за MikroTik?
На клиенте в AllowedIPs добавьте подсеть LAN сервера (например, 192.168.1.0/24), а на сервере в Firewall Filter разрешите Forward между wireguard1 и интерфейсом моста (bridge).