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

Доступ к опциям, инкапсулированным поставщиком DHCP-клиента

В файле dhcpd.conf для isc-dhcpd-V3.1.1 я установил пространство опций поставщика и определил несколько различных опций. Я могу использовать эти определения для отправки параметров с сервера клиенту в параметре vendor-encapsulated-options (код 43).

Однако клиент также отправляет параметры поставщика обратно на сервер таким же образом, и я хотел бы ответить по-разному в зависимости от типа и содержания параметров. Насколько я могу судить, сервер вообще не анализирует инкапсулированные поставщиком параметры клиента - оператор параметра просто возвращает null.

Есть ли способ заставить сервер заполнять параметры в пространстве поставщика, которое я определил?

Если вы можете гарантировать, что клиент каждый раз отправляет одни и те же параметры в одном и том же порядке, вы можете использовать substring и option vendor-encapsulated-options чтобы проанализировать параметры вручную:

if 01:01:01 = substring( option vendor-encapsulated-options, 0, 3 ) { ... }
if 02:02:ab:cd = substring( option vendor-encapsulated-options, 3, 4 ) { ... }

Однако, если эти две гарантии не выполняются, единственным оставшимся вариантом является сопоставление на основе регулярных выражений, но будьте осторожны с возможностью того, что параметр (длина кода) полностью содержится в содержимом другого параметра.