Можно ли заставить isc-dhcp-server отправлять такие параметры dhcp, как filename
, vendor-class-identifier
но НЕ IP-адрес для клиента? То есть мне нужен dhcpd для отправки нескольких параметров, но НЕ IP-адрес клиента. Клиент получает свой IP-адрес от другого DHCP-сервера, который я не контролирую.
Поэтому я хочу, чтобы клиент ОБЪЕДИНЯЛ данные, которые он получает от DHCPOFFER с разных серверов: клиент должен использовать IP-адрес DHCP-сервера, который предоставил IP-адрес, а клиент должен использовать параметр filename
с DHCP-сервера, который предоставил filename
.
Я пробовал следующее, и это не удалось:
subnet 10.4.60.0 netmask 255.255.252.0 {
option vendor-class-identifier "HTTPClient";
filename "http://10.4.60.90/ipxe.efi";
}
Журнал dhcpd сказал:
DHCPDISCOVER from 90:e2:ba:34:86:e6 via enx00e04c66833e: network 10.4.60.0/22: no free leases
tcpdump показывает, что isc-dhcp не отправлял DHCPOFFER.
Я просмотрел RFC и обнаружил следующее, предлагающее IP-адрес клиента yiaddr
необходимо:
Раздел 3.1.2 RFC 2131
Each server may respond with a DHCPOFFER message that includes an
available network address in the 'yiaddr' field (and other
configuration parameters in DHCP options).
Таким образом, кажется, что согласно спецификации, нет способа отправить DHCPOFFER, который содержит параметры, но не IP-адрес.
Боюсь, вам не удастся использовать такой подход. Клиент не будет объединять информацию.
Это было бы, если бы клиент отправил запрос и немного подождал. После получения ответа (ов) он выберет одно действительное предложение и подтвердит его обратно на сервер. Остальное игнорируется ... Такое поведение возникло из-за того, что в подсети может быть еще больше DHCP-серверов / ретрансляторов, и при правильной конфигурации это будет работать без проблем.
Реальность такова, что клиенты часто реагируют на первый ответ. Таким образом, если у вас есть два DHCP-сервера без взаимодействия (статически разделенный пул / диапазон IP-адресов), вы можете получить первый ответ «нет свободных IP-адресов», а второй - с правильным предложением. В соответствии с дизайном клиент может использовать второй ответ, но вы можете столкнуться с ситуацией, когда используется первый, и клиент ведет себя так, как будто действительное предложение не поступит (я уже устранял эту ситуацию) ...