MikroTik Log: dhcp,warning offering IP address already in use (collision) — Решение
Сервер DHCP обнаруживает коллизию при попытке предложить свободный адрес клиенту:
dhcp,warning offering IP address 192.168.88.50 already in use (collision)dhcp,warning <MAC> address collision detected by ping probe- Клиент получает уведомление об ошибке 'IP address conflict with another system on the network'.
- Нестабильная работа сетевых сервисов и периодический обрыв соединения у пользователей.
1. Механизм обнаружения конфликтов (Ping Probe)
Перед отправкой пакета DHCP Offer сервер MikroTik отправляет ICMP Echo-запрос (Ping) на резервируемый IP-адрес. Если на пинг приходит ответ, сервер регистрирует коллизию (адрес уже кем-то занят вручную), помечает адрес статусом conflict и пытается выдать клиенту следующий свободный IP.
2. Поиск устройства, вызвавшего конфликт, по таблице ARP
Найдите физический MAC-адрес устройства, незаконно занявшего статический IP-адрес из диапазона DHCP:
/ip arp print where address=192.168.88.503. Исключение статических адресов из диапазона IP Pool
Никогда не включайте адреса серверов, принтеров и управляемых коммутаторов в динамический пул DHCP. Разделите адресное пространство:
# Диапазон статических адресов: 192.168.88.2 - 192.168.88.49
# Диапазон динамического пула:
/ip pool set [find name="default-dhcp"] ranges=192.168.88.50-192.168.88.2544. Включение строгой проверки Conflict Detection
Убедитесь, что в свойствах DHCP-сервера активирована опция проверки адресов перед выдачей:
/ip dhcp-server set [find name="defconf"] conflict-detection=yes Частые вопросы (FAQ)
Что произойдет, если устройство со статическим IP не отвечает на Ping (заблокирован ICMP)?
В этом случае сервер MikroTik проверяет ARP-таблицу. Если ответ на Ping не пришел и ARP-запись отсутствует, адрес будет выдан, что приведет к коллизии на уровне L2/L3.
Как очистить статус conflict в таблице Lease?
Удалите конфликтующую запись: /ip dhcp-server lease remove [find status="conflict"].
Как заблокировать устройство с конфликтующим MAC-адресом?
Добавьте MAC-адрес нарушителя в черный список: /interface bridge filter add chain=input src-mac-address=XX:XX:XX:XX:XX:XX/FF:FF:FF:FF:FF:FF action=drop.
Помогает ли опция Authoritative=yes предотвратить коллизии?
Опция Authoritative заставляет сервер активно отвечать отказом (DHCP NAK) клиентам, запрашивающим некорректную чужую подсеть, но не защищает от ручного назначения чужих статических IP.