Как заставить dhclient забыть о своей последней аренде DHCP?

То, что я пытаюсь достичь, - это получить холодный старт, листинг DHCP с нулевым состоянием, что означает принуждение dhclient к процессу полного обнаружения и настройки (DHCPDISCOVER-DHCPOFFER-DHCPREQUEST-DHCPACK в отличие от сокращенного DHCPREQUEST- DHCPACK, который использует запоминаемый адрес). Мне нужно это для отладки проблемы с конфигурацией сети.

Я попытался:

  • удалить текущую аренду с помощью dhclient -r, отключив текущее подключение к Network Manager;
  • убивает любые оставшиеся процессы dhclient и dnsmasq;
  • очищает каталог /var/lib/dhcp/, который предположительно содержит базу данных аренды клиента;
  • sudo restart network-manager.

Но даже после этих шагов я вижу в журналах DHCPDISCOVER сразу же после чего DHCPREQUEST каким-то образом все еще запоминал адрес.

Очевидно, что ОС хранит адрес как-то еще, и у меня закончились идеи. Любая помощь сообщества?

24
задан 17 June 2012 в 08:49

27 ответов

Клиентская программа DHCP записывает аренду в файл. Просто удалите файл и перезапустите networkmanager.

/var/lib/dhcp/dhclient.leases

Здесь хранятся листы на моем компьютере.

6
ответ дан 25 July 2018 в 18:27

Обычно dhclient -r должен делать трюк; но если это не сработает для вас, я нашел решение здесь :

+ Однократно обновить IP-адрес:

Примечание: В этом примере мы будем использовать интерфейс eth0. Интерфейс должен быть настроен для DHCP как запущенный и запущенный.

  • Откройте терминал и сделайте sudo su в root.
  • Введите ifconfig, чтобы отобразить текущий IP-адрес что вы получили от DHCP.
  • Введите dhcpcd -k, чтобы отправить соответствующие сигналы в dhcpcd (вам может потребоваться установить dhcpcd, выполнив apt-get install dhcpcd).
  • Теперь верните интерфейс обратно ifup eth0.
  • Введите ifconfig, чтобы показать новый IP-адрес.

Существует также раздел об обновлении IP-адреса каждый раз, но описание было для дистрибутивов на основе RPM (в отличие от дистрибутивов на основе Debian, таких как Ubuntu).

Надеюсь, что это поможет :)

0
ответ дан 25 July 2018 в 18:27

Это сделало трюк для меня (для eth0, запустите от sudo su):

dhclient -r -v eth0 && rm /var/lib/dhcp/dhclient.* ; dhclient -v eth0
13
ответ дан 25 July 2018 в 18:27

То, что вы видите, это не ваша машина, которая запоминает IP. В syslog вы видите DISCOVER REQUEST OFFER ACK, но это не в том порядке, в котором это произошло. Фактически это было ОТКРОЙТЕ ЗАПРОСИТЬ ЗАПРОС ACK, чтобы подтвердить это, вы можете обнюхать трафик между ПК и восходящим DHCP-сервером. Вы отправили ОТКЛЮЧИТЬ сервер, отправленный назад, и вы получили IP-адрес от ПРЕДЛОЖЕНИЯ для вашего запроса

. Вы все сделали правильно, однако, когда вы сделали «dhclient -r», dhclient отправит одноадресный RELEASE и некоторые интернет-провайдеры принимать многоадресные пакеты на свой DHCP-сервер, поэтому RELEASE так и не попал туда, поскольку сервер касается вашего аренды, все еще действителен, поэтому он дал вам тот же IP-адрес в ПРЕДЛОЖЕНИИ.

1
ответ дан 25 July 2018 в 18:27

Это сделало трюк для меня (для eth0, запустите от sudo su):

dhclient -r -v eth0 && rm /var/lib/dhcp/dhclient.* ; dhclient -v eth0
13
ответ дан 2 August 2018 в 00:39

То, что вы видите, это не ваша машина, которая запоминает IP. В syslog вы видите DISCOVER REQUEST OFFER ACK, но это не в том порядке, в котором это произошло. Фактически это было ОТКРОЙТЕ ЗАПРОСИТЬ ЗАПРОС ACK, чтобы подтвердить это, вы можете обнюхать трафик между ПК и восходящим DHCP-сервером. Вы отправили ОТКЛЮЧИТЬ сервер, отправленный назад, и вы получили IP-адрес от ПРЕДЛОЖЕНИЯ для вашего запроса

. Вы все сделали правильно, однако, когда вы сделали «dhclient -r», dhclient отправит одноадресный RELEASE и некоторые интернет-провайдеры принимать многоадресные пакеты на свой DHCP-сервер, поэтому RELEASE так и не попал туда, поскольку сервер касается вашего аренды, все еще действителен, поэтому он дал вам тот же IP-адрес в ПРЕДЛОЖЕНИИ.

1
ответ дан 2 August 2018 в 00:39

Клиентская программа DHCP записывает аренду в файл. Просто удалите файл и перезапустите networkmanager.

/var/lib/dhcp/dhclient.leases

Здесь хранятся листы на моем компьютере.

6
ответ дан 2 August 2018 в 00:39

Обычно dhclient -r должен делать трюк; но если это не сработает для вас, я нашел решение здесь :

+ Однократно обновить IP-адрес:

Примечание: В этом примере мы будем использовать интерфейс eth0. Интерфейс должен быть настроен для DHCP как запущенный и запущенный.

  • Откройте терминал и сделайте sudo su в root.
  • Введите ifconfig, чтобы отобразить текущий IP-адрес что вы получили от DHCP.
  • Введите dhcpcd -k, чтобы отправить соответствующие сигналы в dhcpcd (вам может потребоваться установить dhcpcd, выполнив apt-get install dhcpcd).
  • Теперь верните интерфейс обратно ifup eth0.
  • Введите ifconfig, чтобы показать новый IP-адрес.

Существует также раздел об обновлении IP-адреса каждый раз, но описание было для дистрибутивов на основе RPM (в отличие от дистрибутивов на основе Debian, таких как Ubuntu).

Надеюсь, что это поможет :)

0
ответ дан 2 August 2018 в 00:39

То, что вы видите, это не ваша машина, которая запоминает IP. В syslog вы видите DISCOVER REQUEST OFFER ACK, но это не в том порядке, в котором это произошло. Фактически это было ОТКРОЙТЕ ЗАПРОСИТЬ ЗАПРОС ACK, чтобы подтвердить это, вы можете обнюхать трафик между ПК и восходящим DHCP-сервером. Вы отправили ОТКЛЮЧИТЬ сервер, отправленный назад, и вы получили IP-адрес от ПРЕДЛОЖЕНИЯ для вашего запроса

. Вы все сделали правильно, однако, когда вы сделали «dhclient -r», dhclient отправит одноадресный RELEASE и некоторые интернет-провайдеры принимать многоадресные пакеты на свой DHCP-сервер, поэтому RELEASE так и не попал туда, поскольку сервер касается вашего аренды, все еще действителен, поэтому он дал вам тот же IP-адрес в ПРЕДЛОЖЕНИИ.

1
ответ дан 4 August 2018 в 16:09

Это сделало трюк для меня (для eth0, запустите от sudo su):

dhclient -r -v eth0 && rm /var/lib/dhcp/dhclient.* ; dhclient -v eth0
13
ответ дан 4 August 2018 в 16:09

Клиентская программа DHCP записывает аренду в файл. Просто удалите файл и перезапустите networkmanager.

/var/lib/dhcp/dhclient.leases

Здесь хранятся листы на моем компьютере.

6
ответ дан 4 August 2018 в 16:09

Обычно dhclient -r должен делать трюк; но если это не сработает для вас, я нашел решение здесь :

+ Однократно обновить IP-адрес:

Примечание: В этом примере мы будем использовать интерфейс eth0. Интерфейс должен быть настроен для DHCP как запущенный и запущенный.

  • Откройте терминал и сделайте sudo su в root.
  • Введите ifconfig, чтобы отобразить текущий IP-адрес что вы получили от DHCP.
  • Введите dhcpcd -k, чтобы отправить соответствующие сигналы в dhcpcd (вам может потребоваться установить dhcpcd, выполнив apt-get install dhcpcd).
  • Теперь верните интерфейс обратно ifup eth0.
  • Введите ifconfig, чтобы показать новый IP-адрес.

Существует также раздел об обновлении IP-адреса каждый раз, но описание было для дистрибутивов на основе RPM (в отличие от дистрибутивов на основе Debian, таких как Ubuntu).

Надеюсь, что это поможет :)

0
ответ дан 4 August 2018 в 16:09

Клиентская программа DHCP записывает аренду в файл. Просто удалите файл и перезапустите networkmanager.

/var/lib/dhcp/dhclient.leases

Здесь хранятся листы на моем компьютере.

6
ответ дан 6 August 2018 в 00:47

Обычно dhclient -r должен делать трюк; но если это не сработает для вас, я нашел решение здесь :

+ Однократно обновить IP-адрес:

Примечание: В этом примере мы будем использовать интерфейс eth0. Интерфейс должен быть настроен для DHCP как запущенный и запущенный.

  • Откройте терминал и сделайте sudo su в root.
  • Введите ifconfig, чтобы отобразить текущий IP-адрес что вы получили от DHCP.
  • Введите dhcpcd -k, чтобы отправить соответствующие сигналы в dhcpcd (вам может потребоваться установить dhcpcd, выполнив apt-get install dhcpcd).
  • Теперь верните интерфейс обратно ifup eth0.
  • Введите ifconfig, чтобы показать новый IP-адрес.

Существует также раздел об обновлении IP-адреса каждый раз, но описание было для дистрибутивов на основе RPM (в отличие от дистрибутивов на основе Debian, таких как Ubuntu).

Надеюсь, что это поможет :)

0
ответ дан 6 August 2018 в 00:47

Это сделало трюк для меня (для eth0, запустите от sudo su):

dhclient -r -v eth0 && rm /var/lib/dhcp/dhclient.* ; dhclient -v eth0
13
ответ дан 6 August 2018 в 00:47

То, что вы видите, это не ваша машина, которая запоминает IP. В syslog вы видите DISCOVER REQUEST OFFER ACK, но это не в том порядке, в котором это произошло. Фактически это было ОТКРОЙТЕ ЗАПРОСИТЬ ЗАПРОС ACK, чтобы подтвердить это, вы можете обнюхать трафик между ПК и восходящим DHCP-сервером. Вы отправили ОТКЛЮЧИТЬ сервер, отправленный назад, и вы получили IP-адрес от ПРЕДЛОЖЕНИЯ для вашего запроса

. Вы все сделали правильно, однако, когда вы сделали «dhclient -r», dhclient отправит одноадресный RELEASE и некоторые интернет-провайдеры принимать многоадресные пакеты на свой DHCP-сервер, поэтому RELEASE так и не попал туда, поскольку сервер касается вашего аренды, все еще действителен, поэтому он дал вам тот же IP-адрес в ПРЕДЛОЖЕНИИ.

1
ответ дан 6 August 2018 в 00:47

Клиентская программа DHCP записывает аренду в файл. Просто удалите файл и перезапустите networkmanager.

/var/lib/dhcp/dhclient.leases

Здесь хранятся листы на моем компьютере.

6
ответ дан 7 August 2018 в 18:13

Обычно dhclient -r должен делать трюк; но если это не сработает для вас, я нашел решение здесь :

+ Однократно обновить IP-адрес:

Примечание: В этом примере мы будем использовать интерфейс eth0. Интерфейс должен быть настроен для DHCP как запущенный и запущенный.

  • Откройте терминал и сделайте sudo su в root.
  • Введите ifconfig, чтобы отобразить текущий IP-адрес что вы получили от DHCP.
  • Введите dhcpcd -k, чтобы отправить соответствующие сигналы в dhcpcd (вам может потребоваться установить dhcpcd, выполнив apt-get install dhcpcd).
  • Теперь верните интерфейс обратно ifup eth0.
  • Введите ifconfig, чтобы показать новый IP-адрес.

Существует также раздел об обновлении IP-адреса каждый раз, но описание было для дистрибутивов на основе RPM (в отличие от дистрибутивов на основе Debian, таких как Ubuntu).

Надеюсь, что это поможет :)

0
ответ дан 7 August 2018 в 18:13

То, что вы видите, это не ваша машина, которая запоминает IP. В syslog вы видите DISCOVER REQUEST OFFER ACK, но это не в том порядке, в котором это произошло. Фактически это было ОТКРОЙТЕ ЗАПРОСИТЬ ЗАПРОС ACK, чтобы подтвердить это, вы можете обнюхать трафик между ПК и восходящим DHCP-сервером. Вы отправили ОТКЛЮЧИТЬ сервер, отправленный назад, и вы получили IP-адрес от ПРЕДЛОЖЕНИЯ для вашего запроса

. Вы все сделали правильно, однако, когда вы сделали «dhclient -r», dhclient отправит одноадресный RELEASE и некоторые интернет-провайдеры принимать многоадресные пакеты на свой DHCP-сервер, поэтому RELEASE так и не попал туда, поскольку сервер касается вашего аренды, все еще действителен, поэтому он дал вам тот же IP-адрес в ПРЕДЛОЖЕНИИ.

1
ответ дан 7 August 2018 в 18:13

Это сделало трюк для меня (для eth0, запустите от sudo su):

dhclient -r -v eth0 && rm /var/lib/dhcp/dhclient.* ; dhclient -v eth0
13
ответ дан 7 August 2018 в 18:13

Клиентская программа DHCP записывает аренду в файл. Просто удалите файл и перезапустите networkmanager.

/var/lib/dhcp/dhclient.leases

Здесь хранятся листы на моем компьютере.

6
ответ дан 10 August 2018 в 06:58

Обычно dhclient -r должен делать трюк; но если это не сработает для вас, я нашел решение здесь :

+ Однократно обновить IP-адрес:

Примечание: В этом примере мы будем использовать интерфейс eth0. Интерфейс должен быть настроен для DHCP как запущенный и запущенный.

  • Откройте терминал и сделайте sudo su в root.
  • Введите ifconfig, чтобы отобразить текущий IP-адрес что вы получили от DHCP.
  • Введите dhcpcd -k, чтобы отправить соответствующие сигналы в dhcpcd (вам может потребоваться установить dhcpcd, выполнив apt-get install dhcpcd).
  • Теперь верните интерфейс обратно ifup eth0.
  • Введите ifconfig, чтобы показать новый IP-адрес.

Существует также раздел об обновлении IP-адреса каждый раз, но описание было для дистрибутивов на основе RPM (в отличие от дистрибутивов на основе Debian, таких как Ubuntu).

Надеюсь, что это поможет :)

0
ответ дан 10 August 2018 в 06:58

То, что вы видите, это не ваша машина, которая запоминает IP. В syslog вы видите DISCOVER REQUEST OFFER ACK, но это не в том порядке, в котором это произошло. Фактически это было ОТКРОЙТЕ ЗАПРОСИТЬ ЗАПРОС ACK, чтобы подтвердить это, вы можете обнюхать трафик между ПК и восходящим DHCP-сервером. Вы отправили ОТКЛЮЧИТЬ сервер, отправленный назад, и вы получили IP-адрес от ПРЕДЛОЖЕНИЯ для вашего запроса

. Вы все сделали правильно, однако, когда вы сделали «dhclient -r», dhclient отправит одноадресный RELEASE и некоторые интернет-провайдеры принимать многоадресные пакеты на свой DHCP-сервер, поэтому RELEASE так и не попал туда, поскольку сервер касается вашего аренды, все еще действителен, поэтому он дал вам тот же IP-адрес в ПРЕДЛОЖЕНИИ.

1
ответ дан 10 August 2018 в 06:58

Это сделало трюк для меня (для eth0, запустите от sudo su):

dhclient -r -v eth0 && rm /var/lib/dhcp/dhclient.* ; dhclient -v eth0
13
ответ дан 15 August 2018 в 18:55
  • 1
    Когда я это сделал, у меня появилась новая аренда, но IP-адрес, похоже, не использовался системой. Если я попытаюсь выполнить ping имя или связанный с ним IP-адрес, он терпит неудачу. Если я использую ifconfig, чтобы проверить текущий адрес, я могу его откорректировать. – TafT 16 August 2016 в 20:05
  • 2
    Изменение части rm делает эту работу для меня (без этого использовалась предварительная аренда: dhclient -r -v eth0 && rm /var/lib/dhcp/dhclient* ; dhclient -v eth0) – davejagoda 28 April 2017 в 20:08

То, что вы видите, это не ваша машина, которая запоминает IP. В syslog вы видите DISCOVER REQUEST OFFER ACK, но это не в том порядке, в котором это произошло. Фактически это было ОТКРОЙТЕ ЗАПРОСИТЬ ЗАПРОС ACK, чтобы подтвердить это, вы можете обнюхать трафик между ПК и восходящим DHCP-сервером. Вы отправили ОТКЛЮЧИТЬ сервер, отправленный назад, и вы получили IP-адрес от ПРЕДЛОЖЕНИЯ для вашего запроса

. Вы все сделали правильно, однако, когда вы сделали «dhclient -r», dhclient отправит одноадресный RELEASE и некоторые интернет-провайдеры принимать многоадресные пакеты на свой DHCP-сервер, поэтому RELEASE так и не попал туда, поскольку сервер касается вашего аренды, все еще действителен, поэтому он дал вам тот же IP-адрес в ПРЕДЛОЖЕНИИ.

1
ответ дан 15 August 2018 в 18:55
  • 1
  • 2
    Единственное, что я могу думать, вы можете попробовать - это изменить «hwaddress ether xx: xx: xx: xx: xx: xx & quot; в / etc / network / interfaces, если ваш интернет-провайдер позволяет вам менять свой Mac без необходимости звонить им и сообщать им, а ваш кабельный модем не заменяет свой Mac на лету, тогда сервер должен видеть вас как кого-то нового и давать вы свободны в лизинге. – Matt 16 October 2018 в 19:54
  • 3
    Проблема заключалась в том, что он был , предоставляя мне свободный IP. И я пытался заставить его дать мне тот, который предположительно был зарезервирован, поскольку внешний DNS указывал на это! Итак, я отправил администратору сети фактический MAC-адрес и спросил, действительно ли он резервирует IP для этого MAC. – Auspex 17 October 2018 в 16:44

Обычно dhclient -r должен делать трюк; но если это не сработает для вас, я нашел решение здесь :

+ Однократно обновить IP-адрес:

Примечание: В этом примере мы будем использовать интерфейс eth0. Интерфейс должен быть настроен для DHCP как запущенный и запущенный.

  • Откройте терминал и сделайте sudo su в root.
  • Введите ifconfig, чтобы отобразить текущий IP-адрес что вы получили от DHCP.
  • Введите dhcpcd -k, чтобы отправить соответствующие сигналы в dhcpcd (вам может потребоваться установить dhcpcd, выполнив apt-get install dhcpcd).
  • Теперь верните интерфейс обратно ifup eth0.
  • Введите ifconfig, чтобы показать новый IP-адрес.

Существует также раздел об обновлении IP-адреса каждый раз, но описание было для дистрибутивов на основе RPM (в отличие от дистрибутивов на основе Debian, таких как Ubuntu).

Надеюсь, что это поможет :)

0
ответ дан 15 August 2018 в 18:55

Клиентская программа DHCP записывает аренду в файл. Просто удалите файл и перезапустите networkmanager.

/var/lib/dhcp/dhclient.leases

Здесь хранятся листы на моем компьютере.

6
ответ дан 15 August 2018 в 18:55