Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

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

DHCP_INVALID_XID Сетевое оборудование и VPN

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

Полезные материалы
Рекомендуем