Компьютер не смог обновить свой адрес от сети от dhcp сервера

Обновлено: 03.07.2024

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

Симптомы

Обычно всё начинается с жалоб на неработающий интернет или отсутствие доступа к локальным сетевым ресурсам. Иногда достаточно провести диагностику только на стороне клиента, но может понадобиться полная диагностика и со стороны сервера в том числе. Начнём с первой опции.

Диагностика на стороне клиента

Чтобы понять, что происходит, первым делом, конечно, следует проверить, подключён ли клиент физически к проводной или беспроводной сети. Если да, то самое время приступать к проверке сетевых настроек на устройстве клиента с помощью утилит ipconfig /all (в командной строке Windows), ifconfig или ip addr (в терминале Linux).

Вывод команд покажет текущий IP-адрес и другие настройки на сетевом адаптере (или всех адаптерах, если их несколько). При этом, если на сетевом адаптере нет корректного IP-адреса, возможных вариантов его настроек может быть немного.

Вариант 1. Текущий IP-адрес имеет вид 169.254.Х.Х

Скорее всего, на клиентской машине при этом установлена ОС Windows. Это значит, что клиенту действительно не удалось получить сетевые настройки, потому что DHCP-сервер не отвечал, и адрес был сгенерирован службой APIPA (Automatic Private IP Addressing) из диапазона 169.254.0.0 – 169.254.255.255. Если клиент — Linux-машина, адрес может принимать вид 0.0.0.0, либо отсутствовать в принципе.

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

  • отключиться от сети на 10–30 секунд и подключиться снова;
  • перезагрузить устройство;
  • выполнить последовательно команды. В командной строке Windows: ipconfig /release, затем ipconfig /renew. В терминале Linux: dhclient -v -r, потом dhclient или dhcpcd -k, затем dhcpcd ().

При выводе каких-либо ошибок и/или предупреждений нужно в первую очередь их устранить — например если DHCP-клиент не запущен, сперва его необходимо включить. После этого нужно снова проверить настройки. Если результат остался прежним, проверьте работоспособность сетевого драйвера и стека протоколов TCP/IP в целом. Проще всего это сделать с помощью команды ping 127.0.0.1 (так называемая проверка внутренней обратной петли). Если в результате выполнения команды ответ от собственного сетевого адаптера получен, можно считать диагностику на стороне клиента завершённой и переходить к диагностике со стороны DHCP-сервера.

Вариант 2. Текущий IP-адрес не из диапазона 169.254.0.0 – 169.254.255.255, но и не из того диапазона адресов, которые должен выдавать DHCP-сервер

Как известно, чудес не бывает. Если настройки, которые получает клиент, не от доверенного DHCP-сервера в сети, значит, их раздаёт кто-то другой. Тот, кто случайно или специально подключил к сети DHCP-сервер со своей конфигурацией. Возможно, это обычный Wi-Fi-роутер, к которому кабель по ошибке подключили через один из LAN-портов. Тогда ваша задача — найти недоверенный DHCP-сервер и предотвратить такие попытки в будущем.

Здесь нужно вспомнить, как работает DHCP-протокол. Клиент отправляет широковещательный запрос (DHCPDISCOVER), который получат все DHCP-серверы в сети и отправят в ответ свои предложения IP-адреса (DHCPOFFER). При этом клиент примет первое полученное предложение (DHCPOFFER), скорее всего, от ближайшего DHCP-сервера, а остальные отклонит.

Очевидно, что предложение от доверенного DHCP-сервера приходит позже, скорее всего, потому, что он дальше от клиента. Для последующей диагностики на устройстве клиента нужно установить анализатор сетевого трафика (Wireshark или tcpdump), запустить его, отфильтровав трафик по типу протокола DHCP или портам 67–68, и посмотреть в DHCP-ответах IP и MAC адрес DHCP-сервера, который их отправляет:


Вариант 3. Текущий IP-адрес корректный, но доступа к интернету и другим сетевым ресурсам по-прежнему нет

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

Следует помнить, что DHCP-сервер может раздавать настройки выборочно, а сам клиент может выборочно их применять. Например, только IP-адрес, маску и шлюз. Это скорее исключение, но в таком случае адреса DNS придётся прописать руками. Гораздо хуже, если настройки адресов DNS-серверов от DHCP-сервера игнорируются просто потому, что их переопределяет стороннее ПО или неверные статические настройки. Такое тоже бывает.

Диагностика на стороне сервера

Итак, диагностика на стороне клиента показала, что проблем не обнаружено. Независимо от реализации DHCP-сервера, теперь необходимо пошагово проверить ряд предположений, начиная с самых простых и очевидных.

Запущен ли DHCP как сервис?

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

Приходят ли запросы от клиентов на DHCP-сервер?

Чтобы определить это, нужно снова запустить анализатор сетевого трафика. На этот раз на сервере. После запуска на сервере tcpdump, dhcpdump или Wireshark клиенту, у которого проблемы с получением адреса, необходимо попытаться получить его снова любым способом, описанным в начале статьи. Если DHCP-сервер работает в штатном режиме, то должны быть и запросы, и ответы. Но всё может быть иначе.

Предположим, что у нас есть по крайней мере один клиент, которому не удаётся получить настройки, и запрос от него точно должен был прийти на сервер. Если этого не произошло, очевидно, что клиент либо сам не отправляет запрос, либо запрос не доходит до сервера по разным причинам. Может, он блокируется на промежуточном сетевом оборудовании или в сети некорректно работает ретрансляция DHCP-запросов dhcp_relay.
Чтобы это проверить, можно в первом случае вернуться к диагностике на стороне клиента и проследить с помощью анализатора сетевого трафика, что клиент отправляет DHCP-запрос. Во втором — проверить настройки на промежуточном сетевом оборудовании.

Запрос(ы) есть, ответа(ов) нет?

Самая простая и очевидная причина в этом случае — закончился пул свободных адресов. Это легко проверить на самом DHCP-сервере по списку выделенных IP-адресов (leases). Если причина действительно в этом — задумайтесь: возможно, пришло время для увеличения пула пригодных для использования IP-адресов на сервере. Чтобы решить проблему прямо сейчас, можно почистить список существующих адресов, выданных в аренду клиентам, уменьшить время аренды и перезапустить сервис DHCP. Но быстрые решения помогают не всегда, а причин может быть гораздо больше. В таком случае придётся детально просматривать логи, а также последние изменения в конфигурации на сервере.

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

Но если просто подключить сетевой кабель с загруженной ОС, то все в шоколаде.

И "винда" пишет следующее свой журнал:
Тип события: Предупреждение
Источник события: Dhcp
Категория события: Отсутствует
Код события: 1003
Дата: 28.01.2009
Время: 15:21:03
Пользователь: Н/Д
Компьютер: CAPBURAN-GAME
Описание:
Компьютеру не удалось обновить адрес, полученный от DHCP-cервера, для сетевого адаптера с сетевым адресом 001FC668383F. Произошла следующая ошибка:
Превышен таймаут семафора. . Компьютер продолжит попытки получить свой собственный адрес от DHCP-cервера.
Данные:
0000: 79 00 00 00 y.

P.S. как использывать снифера в домашних условиях, если имеешь в наличии 2 клиента-машины, которые имеют по 1 сетевой карте.

я просто физически не успеваю запускать его на любом из них =)

Баг воспроизводиться только при зауске ОС от M$ со спящими сетевыми адаптерами.

P.P.S. а слушать нужно какие порты?

На ревизии а мы не можем подтвердить проблему. предоставьте плоное описание + сниф.

Чем Вам не нравится скрин моего раутера? Сижу и бьюсь с ним, заразой: вместо указанного статического х.х.х.130, дает мне х.х.х.64!
Ждем адреса иногда более минуты(!). Как-то странно - мне не удается повторить Ваших результатов, а Вам наших. Может у нас разные Д-Линки? Так давайте поменяемся.

Идиотские проблемы решаются идиотскими же методами: пережег ТУ ЖЕ прошивку заново. Скачал ее же и снова прошил. Получил положенный по определению адрес, 130-й. До перепрошивки постоянно получал первый из пула.

Господа, попробуйте заново перешить раутеры. Может и вам повезет?

Новое обновление: проблема вернулась. Десятки перезапусков и релиза адресов, перезагрузки раутера, пока не выпадает заказанный адрес. Начинаю завидывать обладателям других раутеров - дешевых, но беспроблемных.

Сижу и бьюсь с ним, заразой: вместо указанного статического х.х.х.130, дает мне х.х.х.64!

Немного полегчало после того как удалил все статические ip и завел их поновой. Попробуйте скинуть на заводские настройки, если еще конечно этого не делали. У меня было несколько раз когда после наката новой проши без сброса параметров рутер начинало глючить без видимых причин Спасибо, VALDEMAR1977. Я чего уже с ним не делал. Вообще-то, как я помню, на весьма старых прошивках этого не было (он у меня с версии 1.3, если не раньше). Странно, что вроде достаточно серьезный (для малого офиса) аппарат не делает элементарных вещей, хотя умеет делать много более серьезные.

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

Но если просто подключить сетевой кабель с загруженной ОС, то все в шоколаде.

И "винда" пишет следующее свой журнал:
Тип события: Предупреждение
Источник события: Dhcp
Категория события: Отсутствует
Код события: 1003
Дата: 28.01.2009
Время: 15:21:03
Пользователь: Н/Д
Компьютер: CAPBURAN-GAME
Описание:
Компьютеру не удалось обновить адрес, полученный от DHCP-cервера, для сетевого адаптера с сетевым адресом 001FC668383F. Произошла следующая ошибка:
Превышен таймаут семафора. . Компьютер продолжит попытки получить свой собственный адрес от DHCP-cервера.
Данные:
0000: 79 00 00 00 y.

P.S. как использывать снифера в домашних условиях, если имеешь в наличии 2 клиента-машины, которые имеют по 1 сетевой карте.

я просто физически не успеваю запускать его на любом из них =)

Баг воспроизводиться только при зауске ОС от M$ со спящими сетевыми адаптерами.


Сеть


Чтобы сделать это, откройте окно командной строки с повышенными правами и введите следующие команды, нажимая Enter после каждого:

Теперь, если это не работает для вас и при попытке освободить или обновить IP-адрес, вы можете увидеть следующую ошибку:

Невозможно связаться с вашим сервером DHCP

Ошибка означает, что NIC не может связаться с сервером DHCP и, следовательно, не может освободить новые IP-адреса. Причин для этой проблемы может быть много, и мы обсудим их один за другим с решениями:

  1. Обновите драйверы сети
  2. Запустите средство устранения неполадок сетевого адаптера
  3. Запустите/Перезапустите службу клиента DHCP.

1] Обновите драйверы сети


Нажмите Win + R, чтобы открыть окно «Выполнить» и введите команду devmgmt.msc. Нажмите Enter, чтобы открыть диспетчер устройств.

В диспетчере устройств разверните список сетевых адаптеров. Щелкните правой кнопкой мыши по параметру сетевого адаптера Broadcom и выберите «Обновить драйвер».

После обновления драйвера перезагрузите систему.

2] Запустите средство устранения неполадок сетевого адаптера.


Средство устранения неполадок сетевого адаптера проверяет наличие проблем с сетевым адаптером и устраняет их, если это возможно. Процедура запуска средства устранения неполадок сетевого адаптера выглядит следующим образом:

Перейдите в раздел «Обновления и безопасность»> «Устранение неполадок». Выберите средство устранения неполадок сетевого адаптера и запустите его.

Перезагрузите систему, как только закончите.

3] Отключить IPv6 на активном соединении

Время от времени, если IPv6 включен для активных соединений, и это вызывает проблему. Таким образом, вы можете отключить IPv6 следующим образом:


Нажмите Win + R, чтобы открыть окно «Выполнить» и введите команду ncpa.cpl. Нажмите Enter, чтобы открыть окно «Сетевые подключения». Щелкните правой кнопкой мыши активное подключение к Интернету и выберите «Свойства».


В списке в окне снимите флажок, соответствующий интернет-протоколу версии 6.

Нажмите OK, чтобы сохранить настройки и перезагрузить систему.

4] Запуск/перезапуск службы клиента DHCP


В случае, если служба DHCP-клиента остановлена ​​или неактивна, вы можете запустить/перезапустить ее из диспетчера служб.

Нажмите Win + R, чтобы открыть окно «Выполнить» и введите команду services.msc. Нажмите Enter, чтобы открыть окно диспетчера служб.

В списке служб (в алфавитном порядке) щелкните правой кнопкой мыши службу DHCP-клиент и выберите Пуск/Перезагрузка .

Если на компьютере настроено автоматическое получение IP‑адреса, иногда (например, после смены IP‑адреса шлюза сети (роутера), для доступа к роутеру может потребоваться обновить IP‑адрес компьютера.

Выберите операционную систему компьютера.







Для Windows XP

Нажмите Пуск > Выполнить, введите cmd и нажмите Enter.


Введите ipconfig /release в открывшемся окне и нажмите Enter. Эта команда освободит IP‑адрес на вашем компьютере.


Введите ipconfig /renew в том же окне, нажмите Enter и немного подождите. DHCP‑сервер присвоит компьютеру новый IP‑адрес.


Для Windows Vista и Windows 7

Нажмите Пуск на панели задач, введите в окне поиска cmd и нажмите Enter.


Введите ipconfig /release в открывшемся окне и нажмите Enter. Эта команда освободит IP‑адрес на вашем компьютере.


Введите ipconfig /renew в том же окне, нажмите Enter и немного подождите. DHCP-сервер присвоит компьютеру новый IP‑адрес.


Для Windows 8, Windows 8.1 и Windows 10

Нажмите клавишу Windows и клавишу X на клавиатуре одновременно. Затем нажмите Командная строка.



Введите ipconfig /release в открывшемся окне и нажмите Enter. Эта команда освободит IP‑адрес на вашем компьютере.


Введите ipconfig /renew в том же окне, нажмите Enter и немного подождите. DHCP-сервер присвоит компьютеру новый IP‑адрес.


Для MAC OS


Нажмите Сеть.


Нажмите Wi-Fi или Ethernet (в зависимости от того, каким образом компьютер подключён к роутеру) в левой части окна, затем нажмите Дополнительно в правом нижнем углу.


Выберите вкладку TCP/IP сверху. По умолчанию, если в строке Конфигурировать IPv4 установлено Используя DHCP, вы увидите кнопку Запросить адрес DHCP. Нажмите на неё, чтобы обновить IP‑адрес.


Чтобы получить подробную информацию о каждой функции и настройке оборудования, перейдите на страницу Загрузки для загрузки руководства пользователя к своей модели устройства.

Читайте также: