Как найти лишние DHCP-серверы в локальной сети: инструкция для новичков

Представьте: вы проверяете сеть и обнаруживаете, что два устройства имеют одинаковый IP-адрес. DHCP-сервер на роутере настроен правильно, но адрес явно выходит за диапазон. После сканирования nmap находите 9 устройств с открытым портом 67/UDP – это потенциальные DHCP-серверы. Как отловить «виновника» и навести порядок? Давайте разбираться шаг за шагом, даже если вы впервые сталкиваетесь с подобным.

Шаг 1: Анализ DHCP-ответов на клиентах

Первым делом проверьте параметры, которые получают проблемные устройства. Зайдите в настройки сети (например, через ipconfig /all в Windows или nmcli в Linux) и обратите внимание на поля:

  • Шлюз по умолчанию – часто совпадает с IP DHCP-сервера
  • DNS-серверы – могут указывать на неожиданные адреса
  • Server-ID (это скрытое поле в DHCP-ответах) – прямо указывает IP раздающего сервера

Если в этих полях фигурируют адреса, не относящиеся к вашему основному роутеру, вы нашли «паразитный» сервер. Но что делать, если данные противоречивы или непонятны? Переходим к продвинутым методам.

Кстати, в Linux можно сразу увидеть Server-ID через dhclient -v – в выводе ищите строку «DHCPACK from».

Шаг 2: Перехват DHCP-трафика и анализ MAC-адресов

Здесь понадобится сниффер трафика. Я предпочитаю tcpdump за его простоту в CLI, но подойдёт и Wireshark с графическим интерфейсом. Перед началом:

  1. Уменьшите время аренды DHCP до 5-10 минут на основном сервере
  2. Отключите авторизованные DHCP-серверы на время теста (лучше делать в нерабочее время)
  3. Запустите на тестовом клиенте запрос обновления аренды (dhclient -r && dhclient)

Пример команды для перехвата:

sudo tcpdump -i eth0 -vvv -n 'port 67 or port 68'

В выводе нас интересуют строки типа:

10.28.1.1.67 > 10.28.100.109.68: BOOTP/DHCP, Reply, length 306  
Server-ID (54), length 4: 10.28.1.1  
Client-Ethernet-Address 66:ed:6e:c6:9d:56

Здесь 10.28.1.1 – IP неавторизованного сервера, а 66:ed:6e:c6:9d:56 – MAC-адрес клиента. Но как найти само устройство?

Шаг 3: Поиск устройства по MAC-адресу

Сначала проверьте ARP-таблицу на клиенте (команда arp -a), чтобы сопоставить IP сервера с физическим адресом. Допустим, вы получили MAC 00:0d:b9:35:29:c4.

Далее:

  • Используйте OUI-поиск (первые 6 символов MAC) через онлайн-базу – узнаете производителя устройства
  • Проверьте коммутаторы через команды типа show mac address-table (Cisco) или bridge fdb show (Linux)
  • Если свитчи неуправляемые, поможет «метод тыка» с arping: sudo arping -I eth0 10.28.1.1 Отключайте кабели по одному, пока не пропадёт ответ.

Однажды я столкнулся с DHCP-сервером на старом принтере – оказывается, в его веб-интерфейсе была скрытая опция «DHCP-сервер для локальной настройки». Проверяйте даже неочевидные устройства!

Не нашли свитч? Воспользуйтесь утилитой nmap --script=sniffer-detect – иногда помогает определить активные сетевые интерфейсы.

Если серверы нельзя отключить: тонкая настройка

Бывает, что дополнительные DHCP-серверы нужны для специфических задач (например, в лабораторных стендах). В этом случае:

  • Чётко разделите пулы адресов (например, основной сервер – 192.168.1.10-200, второй – 201-250)
  • Синхронизируйте настройки шлюзов, DNS и NTP
  • Используйте резервирование MAC-адресов для критичных устройств

Помните: даже один неправильно настроенный сервер может отравлять ARP-кэш всего сегмента.

Не бойтесь экспериментировать в тестовой среде, а главное – документируйте все изменения. Если нашли «виновника», объясните коллеге последствия – часто такие серверы ставят из лучших побуждений, без понимания рисков.

Добавить комментарий

Все поля обязательны к заполнению. Ваш адрес email не будет виден никому.

Новое
Интересное