У меня есть среда, в которой один DHCP-сервер обслуживает несколько разных хостов / vlan. Коммутаторы настроены для пересылки DHCP-запросов (через ip-helper) и включают информацию о порте (опция 82). Я хотел бы взять эту информацию и перевести ее в реальную аренду сервера.
Я не думаю, что для меня особенно целесообразно предварительно создать список доступных договоров аренды, но я должен иметь возможность определять адрес для аренды по мере его поступления.
Есть ли DHCP-сервер, который может выполнять сценарий при получении запроса? (Примечание: я хочу назначить IP-адрес из сценария, а не чтобы DHCP-сервер назначал IP-адрес, а затем выполнял сценарий)
Изменить: Итак, в конечном итоге я пытаюсь предоставить услуги DHCP / PXE по большому количеству отдельных vlan. Это сделано для того, чтобы мы могли выполнять установку ОС через загрузку PXE без необходимости иметь отдельный PXE vlan. У меня нет проблем с конфигурацией коммутатора, и у меня есть опция 82, распознающая DHCP-сервер.
Мне нужен способ получения назначений DHCP из другой системы (эта другая система могла бы знать, какую подсеть использовать для какого vlan), но я не хочу, чтобы вам приходилось предварительно создавать список пар диапазонов vlan: DHCP.
Может, вам стоит взглянуть на dnsmasq. Он может выполнять внешние и внутренние (LUA) сценарии. Параметр --leasefile-ro должен быть тем, что вы ищете.
Я думаю, вы можете сделать это с помощью системы ловушек, поддерживаемой ISC Kea (который является предполагаемой заменой ISC dhcpd). В KEA вы можете написать свои собственные хуки, которые будут выполняться на определенных этапах. В этом случае должны быть реализованы хуки subnet4_select и lease4_select. В subnet4_select вы заставляете KEA выбирать правильную подсеть, а в lease4_select вы заставляете его предлагать правильный IP-адрес. Однако таким образом вам придется написать довольно много кода на C ++.
Я бы использовал ISC dhcpd / Kea и настраивал разные IP-адреса, используя условия, основанные на параметрах, установленных в запросе DHCP.
Смотрите также:
См. Этот вопрос ServerFault, чтобы дать вам некоторые отправные точки, если ваш DHCP-сервер - Windows. 198383 ISC имеет для этого функциональные возможности. На их сайте много информации. Гугл поможет.
В любом случае это довольно сложно, поскольку информация о реле, которую вы получите от коммутатора, очень зависит от производителя.
Для небольшой сети вы, вероятно, сможете значительно упростить настройку, просто настроив резервирование DHCP для всех ваших клиентов. Если это невозможно, что вы, кажется, имеете в виду, будьте готовы к большой работе, чтобы выяснить, как это сделать.