Как заставить ВСЕ клиента DHCP возобновить?

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

А если нет, почему бы и нет? Разумеется, эта функция была желательна администраторами DHCP с момента ее рождения. Это значительно упрощает изменение адреса маршрутизатора в большой сети без повсеместной автоматизации клиентов.

Ответ 1

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

Теоретически сервер DHCP может отправлять сообщение FORCERENEW всем подключенным клиентам. FORCERENEW описывается в RFC3203. (См. Также https://serverfault.com/a/569869/107832)

К сожалению, известный ISC DHCP-сервер не поддерживает его:

RFC 3315 говорится в раздел 19.4.1 перенастроить сообщения. Это, однако, только для IPv6. Сообщение утверждает, что для DOCSIS 3.0 требуется поддержка Reconfigure (для DHCPv6), как указано в RFC3315"

Ответ 2

Невозможно напрямую - DHCP выдает IP-адрес с арендой. Этот лизинг сообщает клиенту, как долго он "действителен", после чего он должен возобновиться. Обычно - он обновляет один и тот же IP-адрес, но это тот момент, когда происходит согласование DCHP.

Принуждение каждой машины к сегменту сети для обновления - действительно хороший способ создания атаки на отказ в обслуживании.

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

Ответ 3

Мне удалось удалить все лизинг, отключив службу dhcpd, удалив файл /var/lib/dhcpd/dhcpd.leases и перезапустив демона. Затем вы должны получить каждое устройство для получения IP-адреса с сервера DHCP. Для некоторых устройств будет работать простой силовой цикл.