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

25

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

Этот вопрос также затрагивает тему резервирования DHCP-адреса в маршрутизаторе.

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

Лео
источник

Ответы:

23

используя программу Linux dhclient .

Если у вас не установлен linux, вы можете использовать загрузочный Linux live CD.

[править] Если вы сделаете этот трюк для создания резервирования адреса для фактического компьютера с Windows , сначала переключите сетевой адаптер в Windows на статический IP-адрес, поскольку после перезагрузки в режиме DHCP Windows может отправить запрос DHCP со своим последним использованным IP-адресом, который уничтожит ваши усилия с помощью dhclient ниже ...

Хитрость заключается в том, чтобы отправить запрос DHCP с желаемым IP-адресом с того же сетевого адаптера (или лучше: тот же MAC-адрес).

Отредактируйте файл /etc/dhcp/dhclient.conf и добавьте следующую строку (при загрузке с компакт-диска может потребоваться сначала скопировать файл в доступное для записи место):

send dhcp-requested-address 192.168.1.240;

Затем остановитесь и запустите dhclient как пользователь root, где находится ваш NIC eth0(проверьте, выполнив ip addr showзаранее)

dhclient -r -v
dhclient -4 -d -v -cf /etc/dhcp/dhclient.conf eth0

В случае успеха ваш DHCP-сервер выполнит ваш подготовленный запрос. Иногда вам придется удалить запись устройства в таблице DHCP перед выдачей dhclient -4 -d ....

Затем сделайте IP-адрес этого устройства в таблице DHCP маршрутизатора фиксированным адресом резервирования. Это свяжет IP-адрес с MAC-адресом устройства и будет возвращать один и тот же IP-адрес каждый раз, когда в будущем будет обнаружен запрос DHCP с этим MAC-адресом.

Лео
источник
5
Ключи -4 и -cf обычно избыточны. Ключ -d заставит процесс оставаться на переднем плане, что, вероятно, нежелательно. dhclient [-v] eth0для последнего шага должно хватить.
Дологан