MikroTik Log: dhcp,error received discover with invalid transaction ID — Решение
Сервер DHCP отклоняет входящие запросы Discover/Request от клиентского оборудования:
dhcp,error dhcp1: received discover with invalid transaction ID <XID> from <MAC>dhcp,error request packet dropped: transaction ID mismatch- Клиентские устройства не могут завершить получение настроек IP и зависают в состоянии получения адреса.
1. Назначение поля Transaction ID (XID) в DHCP
Поле Transaction ID (XID) — это случайное 32-битное число, генерируемое клиентом в пакете DHCP Discover для идентификации конкретной транзакции. Ошибка invalid transaction ID означает, что сервер получил повторный или искаженный пакет, номер транзакции которого не соответствует активной сессии согласования адреса.
2. Проверка на наличие сетевых петель L2 (Loopback)
Сетевая петля приводит к дублированию пакетов Discover с задержкой, вызывая сбой счетчика транзакций на сервере. Включите STP/RSTP на мосту:
/interface bridge set [find name="bridge-lan"] protocol-mode=rstp
/interface bridge print detail3. Проверка дублирования DHCP-релеев (DHCP Relay Duplicate)
Если в сети используется DHCP Relay, убедитесь, что запрос клиента не ретранслируется на сервер одновременно несколькими L3 коммутаторами:
/ip dhcp-relay print detail4. Перезапуск пула и удаление некорректной сессии клиента
Найдите MAC-адрес сбойного клиента из лога и сбросьте его текущую аренду:
/ip dhcp-server lease remove [find mac-address="XX:XX:XX:XX:XX:XX"] Частые вопросы (FAQ)
Может ли неисправный сетевой кабель вызывать ошибку invalid transaction ID?
Да, поврежденный кабель или помехи приводят к частичной потере пакетов и повторным запросам от драйвера сетевой карты с новым XID до того, как сервер ответит на предыдущий.
Почему эта ошибка часто возникает у клиентов виртуализации (ESXi/Proxmox)?
При некорректной настройке vSwitch с несколькими активными Uplink-портами без LACP пакеты Discover дублируются через разные физические адаптеры.
Как временно скрыть подобные ошибки в системном журнале?
Вы можете исключить подробный вывод топика dhcp,debug из правил логирования: /system logging set [find topics ~ "dhcp"] topics=dhcp,!debug.
Влияет ли параметр authoritative на обработку XID?
Да, если установлен режим authoritative=yes, сервер жестче проверяет соответствие транзакций и быстрее сбрасывает невалидные клиентские попытки.