Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.

MikroTik Log: dhcp,error received discover with invalid transaction ID — Решение

Обновлено: 24.08.2026  ·  Официальная база знаний

Сервер 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 detail

3. Проверка дублирования DHCP-релеев (DHCP Relay Duplicate)

Если в сети используется DHCP Relay, убедитесь, что запрос клиента не ретранслируется на сервер одновременно несколькими L3 коммутаторами:

/ip dhcp-relay print detail

4. Перезапуск пула и удаление некорректной сессии клиента

Найдите MAC-адрес сбойного клиента из лога и сбросьте его текущую аренду:

/ip dhcp-server lease remove [find mac-address="XX:XX:XX:XX:XX:XX"]
Практический опыт инженера: Если ошибка фиксируется массово от разных клиентов, немедленно проверьте загрузку CPU и показатели ошибок FCS/CRC Error на физических портах коммутатора командой `/interface ethernet print stats`.

Частые вопросы (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, сервер жестче проверяет соответствие транзакций и быстрее сбрасывает невалидные клиентские попытки.