MikroTik WireGuard Error: invalid endpoint address or port — решение
- В журнале RouterOS появляется
wireguard,error invalid endpoint address or port <Value>. - Интерфейс WireGuard не может установить связь с удаленным пиром, использующим доменное имя (DDNS / MikroTik Cloud).
- После перезагрузки роутера или смены IP провайдера пиринг перестает работать.
- Статус подключения переходит в состояние ошибки инициализации сокета.
1. Проверка разрешения DNS на маршрутизаторе
Если в качестве endpoint-address указано доменное имя (например, myrouter.sn.mynetname.net), убедитесь, что роутер корректно резолвит внешние имена:
/ip dns print
:put [:resolve "example.com"]2. Проверка корректности синтаксиса IP-адреса и порта
/interface wireguard peers print detail
! Установка корректного IPv4 или IPv6 адреса и порта
/interface wireguard peers
set [find] endpoint-address=198.51.100.25 endpoint-port=518203. Скрипт автоматического обновления Dynamic DNS Endpoint
В ранних версиях RouterOS v7 DNS имя резолвилось только один раз при старте. Добавьте скрипт периодического обновления IP-адреса пира:
/system script
add name="Update_WG_DDNS" source="{
:local peerDomain \"remote.domain.com\";
:local peerPort 51820;
:local resolvedIP [:resolve \$peerDomain];
:local currentIP [/interface wireguard peers get [find comment=\"DDNS_PEER\"] endpoint-address];
:if (\$resolvedIP != \$currentIP) do={
/interface wireguard peers set [find comment=\"DDNS_PEER\"] endpoint-address=\$resolvedIP endpoint-port=\$peerPort;
:log info (\"WireGuard Endpoint IP updated to \" . \$resolvedIP);
}
}"4. Проверка доступности шлюза по умолчанию (Routing Table)
/ip route check 198.51.100.25 Частые вопросы (FAQ)
Почему RouterOS выдает 'invalid endpoint address', если доменное имя правильное?
Ошибка возникает в момент применения конфигурации, если локальный DNS-сервер MikroTik не смог разрешить имя (например, из-за падения WAN-канала или отсутствия доступных DNS серверов в /ip dns).
Как правильно указывать адрес IPv6 в качестве Endpoint?
В командной строке RouterOS адрес IPv6 вводится без квадратных скобок, например: 'endpoint-address=2001:db8::1 endpoint-port=51820'.
Что делать, если у удаленной стороны динамический порт?
WireGuard требует фиксированного порта прослушивания (Listen Port) на стороне сервера. Динамический порт допустим только на стороне инициатора соединения (клиента).
Можно ли оставить endpoint-address пустым на сервере?
Да. На стороне сервера поле endpoint-address и endpoint-port оставляются пустыми. Сервер автоматически привяжет endpoint клиента после успешного приема входящего рукопожатия.