Поделиться через


DHCP-клиент может не получить IP-адрес, назначенный DHCP

Эта статья помогает устранить проблему, из-за которой DHCP-клиент не может получить IP-адрес, назначенный DHCP.

Исходный номер базы знаний: 167014

Симптомы

При перемещении DHCP-клиента из одной подсети в другую может произойти сбой получения допустимого IP-адреса в новой подсети.

Решение

Чтобы обойти эту проблему, выполните один из следующих методов:

  • Не используйте схемы IP-адресации, которые перекрываются.

  • Выполните следующие команды после перемещения клиента в новый сегмент:

    Ipconfig /Release
    Ipconfig /Renew
    

Дополнительная информация

При повторном запуске DHCP-клиента, назначаемого DHCP-адресом, клиент переходит в состояние INIT-REBOOT. Клиент попытается убедиться, что он по-прежнему может использовать тот же адрес, отправив пакет DHCPRequest, заполняя поле параметра DHCP "ЗАПРОШЕННЫЙ АДРЕС DHCP" ранее назначенным IP-адресом.

Если DHCP-сервер остается безмолвным, клиент предполагает, что предыдущий адрес по-прежнему действителен и сохраняет его. Если DHCP-сервер отправляет пакет NACK в ответ на DHCPRequest, клиент переходит в цикл обнаружения; он также запрашивает ранее назначенный адрес в пакете DHCPDiscover.

Когда DHCP-сервер получает DHCPRequest с ранее назначенным адресом, сначала проверяет, поступил ли он из локального сегмента, проверив поле GIADDR. Если он произошел из локального сегмента, DHCP-сервер сравнивает запрошенный адрес с IP-адресом и маской подсети, принадлежащим локальному интерфейсу, который получил запрос.

Если адрес будет находиться в той же подсети, DHCP-сервер будет молчать, даже если адрес не указан в диапазоне его пула адресов. DHCP-сервер предполагает, что адрес был назначен другим DHCP-сервером в том же сегменте, если он не из собственного пула. Если адрес завершается ошибкой проверки маски подсети или IP-адреса, DHCP-сервер проверяет, был ли он получен из суперобласти, если он определен. В противном случае сервер реагирует на DHCPRequest с помощью пакета NACK.

Если клиент, отправляющий DHCPRequest, запрашивает адрес, который, как представляется, находится в той же подсети, но на самом деле был назначен другой маской подсети, DHCP-сервер будет оставаться бездействителен, и клиент не сможет получить действительный IP-адрес для новой подсети.

Например, предположим, что DHCP-клиент получает адрес 172.17.3.x с маской подсети 255.255.255.0, а клиент перемещается в новый сегмент, где адрес DHCP-сервера равен 172.17.17.x с маской подсети 255.255.0.0. Когда на DHCP-сервере выполняется сравнение маски подсети и IP-адресов, DHCP-сервер будет молчать, при условии, что другой DHCP-сервер на сегменте, назначенный адресу. Если маски подсети были отменены, клиент получит допустимый адрес.