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


9

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

Итак, вот мой сценарий,

Сначала клиент получает случайный IP-адрес, скажем A, от DHCP-сервера, когда он подключен к локальной сети. Представьте себе, кто-то подключил клиента к локальной сети, и для начала он не сопоставил ни одного IP-адреса с его MAC-адресом в dhcpd.conf.

Здесь я хотел бы упомянуть, что в той же подсети есть другие машины, у которых уже есть сопоставление IP-адреса с MAC-адресом, настроенное в dhcpd.conf.

Затем я изменяю файл dhcpd.conf, чтобы сопоставить новый IP-адрес B для клиента с его MAC-адресом.

Но теперь мне нужно, чтобы старый IP-адрес A был немедленно изменен на B.

Я не хочу изменять время аренды по умолчанию или возиться со временем аренды в dhcpd.conf.

Любые другие способы, такие как перезапуск служб, хороши, поскольку, за исключением одной машины, все остальные IP-адреса уже привязаны к MAC-адресам в файле dhcpd.conf.

Примечание. Я не могу перезагрузить ни одну машину в локальной сети, даже машину, на которой работает сервер dhcp.

Надеюсь, я прояснил себя.

Спасибо


Какой тип клиентов?
Майк

Майк: Компьютеры с установленной ОС и подключенной к локальной сети.
SSaikia_JtheRocker

Ответы:


7

FORCERENEW обеспечивает механизм для сервера , чтобы указать клиенту , чтобы повторно нового.

Не уверен, что это реализовано в вашем дистрибутиве.


1
К сожалению, большинство реализаций DHCP-клиентов не поддерживают это расширение. Системы Windows этого не делают (вплоть до Win7, включая Win7, я не уверен насчет Win8, но не думаю, что MS слишком сильно пересмотрел DHCP-клиент.)
Тонни

8

Вы не можете через сам DHCP. У этого нет условий для этого.

Единственное, что вы можете сделать, - это заставить клиента отключиться / переподключиться.
- Потяните за кабель.
- Если клиент находится на управляемом коммутаторе, к которому у вас есть доступ, вы можете отключить / включить порт коммутатора.
- Если вы можете удаленно войти в систему к клиенту и у вас есть необходимые полномочия на клиенте, вы можете отключить / включить сетевой интерфейс на стороне клиента. Для этого потребуется скрипт, который запускается без необходимости «запускающего сеанса», поскольку он будет прерван как sson, когда происходит отключение. (Например, nohup в * nix или crontab.) В системе Windows удаленный перезапуск службы TCPIP поможет, если у вас есть учетная запись администратора для этого клиента.


1
Зачем клиенту обновлять dhcp-запрос в случае сбоя сети? По крайней мере, у меня дома нет.

1
@EricDANNIELOU: Если клиент не может отличить отключение сети от простого подключения кабеля и его подключения к другой сети, он должен проверить аренду DHCP. Но для этого вы должны указать порту вашего коммутатора отключиться от кабеля, чтобы клиент считал, что кабель был отключен.
BatchyX

2
@EricDANNIELOU После потери подключения к сети КАЖДОМУ компьютеру необходимо повторно установить аренду DHCP. В противном случае он не может определить, находится ли он в той же локальной сети. Для всех это знает, что это просто было повторно исправлено в другую локальную сеть. Таким образом, каждая ОС делает DHCP (пере) получает. Возможно, вы этого не заметили, но это действительно происходит. Тот факт, что он обычно получает тот же адрес, что и раньше, не имеет к этому никакого отношения. Это потому, что большинство ОС запрашивают у DHCP-сервера тот же адрес, который обычно предоставляется. Но сервер DHCP может предлагать другой адрес, и это именно то, что нужно автору.
Тонни

1
tonny @BatchyX: Интересно, попробую разобраться. Спасибо за подробности.

1
Не удалось воспроизвести его: попытка отключить wifi и снова подключить его -> Кадр dhcp не был захвачен tcpdump. Я думаю, это из-за моей странной настройки с Wi-Fi.

3

Это не «мгновенно», но это так быстро, как это возможно.

  1. Добавить бронирование в dhcpd.conf.
  2. Перезагрузка dhcpd .
  3. Разорвите сетевое соединение клиент-машина. (Лучше всего, если вы отключите управляемый порт коммутатора, к которому подключен компьютер-клинет, было бы более утомительным перетаскивать перемычку с панели коммутации на неуправляемый коммутатор.)
  4. Прервите старую аренду от dhcpd через omshell (1) , изменив его endsвремя в прошлом (например, 00: 00: 00: 00).
  5. Восстановите сетевое соединение клиент-машина.

    • Важно, что срок первой аренды истек, иначе клиентский компьютер создаст DHCPREQUESTсвой первый адрес, и dhcpd предоставит его, поскольку он все еще будет действительной арендой.
    • Перемещение клиентской машины в другую VLAN без удаления аренды может работать, но это вопрос того, какую действительную аренду предоставит dhcpd, когда клиентская машина вернется в свою исходную VLAN.
    • Добавление записи хоста с фиксированным адресом автоматически генерирует запись аренды, поэтому время истечения первого срока аренды изменяется, а не меняется его IP-адрес.

1

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.