DHCP

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (1)

просмотр истории страницы

!dyn2.png|border=0,width=600!

h1. Отладка и решение проблем

Для отладки Вы можете использовать:
* Лог DHCP-сервера
{code}tail -f /app/collector/var/log/messages
* Дамп трафика в момент запроса и получения адреса абонентами: приведенная ниже команда соберёт дам по портам DHCP и одновременно будет выводить содержимое пакетов
{code}tcpdump -i any port 67 or port 68 -U -w - | tee dhcp_`date +%Y-%m-%d_%H%M`.pcap | tcpdump -vr -{code}

h2. Проблема: клиенты получают неправильный DNS-сервер

Эта проблема встречается на Windows XP и Windows 7 - в ряде случаев клиенты получают неправильный DNS-сервер. Причина в пакете DHCPINFORM.

Если ОС ранее уже получала адрес от DHCP-сервера или он был настроен статический и потом переключен на динамику, в первую очередь будет отправлен запрос DHCPINFORM - это широковещательный запрос и сервер отвечает на на него сразу ответом DHCPACK.

Проблема здесь в том что запрос отправляется широковещательно и тут возможны две причины почему DNS-адрес (а возможно и другие параметры) будет неверным:
* Если в сети несколько DHCP-серверов с похожими конфигурациями, очтет от неправильного сервера может достичь абонента раньше
* Если запрос проходит через RELAY, на нём может быть настроено какое-то особенное поведение, например кеширование ответов или что-то в этом роде.

Для решения проблемы можно:
# Отключить отправку DHCPINFORM через реестр:, чтобы ОС запрашивала адрес пакетом DHCPDISCOVER
{code:title=Куст реестра}HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{Interface GUID}{code}
Здесь {Interface GUID} - это ID сетевого интерфейса. Параметры ключа:
#* Тип: DWORD
#* Имя: UseInform
#* DWORD значение: 0{code}
* Отключить ответ на DHCPINFORM на всех DHCP-серверах кроме нужного
* Настроить фаерволы, DHCP-сервера и релеи таким образом чтобы каждый клиентский хост имел доступ только к одному DHCP-серверу