Назад | Перейти на главную страницу

DHCP-сервер Ubuntu не назначает себе адрес

Я настраиваю виртуальную среду на сервере ESXi. У меня есть версия Ubuntu Server с isc dhcp.

Когда сервер загружается, я выдаю команду ifdown eth0 за которым следует ifup eth0. На этом этапе сервер выдает DHCP-запрос, но сам не отвечает на этот запрос IP-адресом. Есть причина почему?

Я видел этот пост Может ли DHCP-сервер назначить себе IP-адрес через DHCP но я не уверен, что DHCP-сервер не может назначить себе адрес.

Как лучше узнать, правильно ли настроена ваша служба DHCP? Я следил за этим руководством https://help.ubuntu.com/lts/serverguide/dhcp.html и не смог назначить IP-адрес другому клиенту в сети.

Да, это возможно. Предполагая, что сервер ISC dhcp в dhcpd.conf установлен server-identifier до 127.0.0.1. Это приведет к тому, что DHCPOFFER будет иметь параметр DHCP 54, установленный на 127.0.0.1, так что DHCPREQUEST достигнет сервера.

Обратите внимание: если вы хотите, чтобы этот DHCP-сервер был полезен (другие клиенты могут запрашивать у него IP-адреса), вам необходимо установить этот параметр в host строфа, соответствующая MAC-адресу eth0 сервера.

Сложность в Ubuntu (по крайней мере, 12.04) заключается в том, что существует состояние гонки между запуском DHCP-сервера и вызываемым интерфейсом.

При загрузке, после того, как последняя файловая система смонтирована, mountall выдаст событие файловой системы. Задания выскочки по сети и rc-sysinit запускаются при этом событии (для rc-sysinit также требуется "net-device-up IFACE = lo").

Сетевое задание задействует все интерфейсы. Задание rc-sysinit вызовет событие уровня выполнения, которое приведет к запуску DHCP-сервера.

Все эти события происходят асинхронно: отсюда и состояние гонки.