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

Может ли ISC DHCPD работать как прокси-сервер DHCP для загрузки PXE?

У меня есть существующая локальная сеть с DHCP-сервером, уже выдающим IP-адреса.

По разным причинам я не могу заменить этот сервер, поэтому ему все равно нужно будет выдавать IP-адреса.

Я экспериментировал с Dnsmasq в режиме прокси, чтобы предоставить имена файлов загрузки PXE. Теперь у меня есть Dnsmasq, загружающий iPXE по цепочке, но я обнаружил, что проблема с Dnsmasq в том, что в режиме прокси он не отправляет параметры DHCP. Поэтому я не могу отправить вариант 17 для загрузки iSCSI SAN.

Я где-то читал, что это не включено в исходном коде. Ну что ж, я подумал, что, возможно, мне стоит попробовать ISC DHCPD (версия по умолчанию 4 с Ubuntu), но я не могу найти никаких примеров конфигурации, которые работают как прокси.

  1. ISC DHCPD работает даже в режиме прокси? Примеры в Интернете подразумевают исправление источника.
  2. Какие еще у меня есть варианты?

Вы можете посмотреть на создание пользовательского образа iPXE со встроенным скриптом ipxe, который загружает все, что вы хотите видеть после загрузки по сети (например, menu.c32, vesamenu.c32, pxelinux и т. Д.). Приятно то, что iPXE вообще не нужны никакие переданные параметры DHCP (например, параметры 66 и 67). Вместо этого будет использоваться то, что встроено в сценарий ipxe. Ему просто нужен DHCP для назначения IP.

Потенциальным недостатком этого подхода является то, что вам нужно либо загрузиться с компакт-диска (вы можете создать ISO-образ ipxe), смонтировать ISO-образ внутри виртуальной машины для загрузки с нее, либо, если у вас есть существующий загрузочный сервер PXE и используя что-то вроде pxelinux и menu.c32 / vesamenu.c32, вы можете поместить образ UNDI, который сгенерирует процесс сборки ipxe. UNDI-версию ipxe можно загружать по цепочке из pxelinux и, возможно, из других загрузчиков.

Я все еще пытаюсь понять, как использовать dnsmasq в качестве прокси-сервера DHCP. Я могу заставить его загружать образ ipxe через proxyDHCP, но не могу заставить ipxe получить IP-адрес DHCP после его загрузки. Насколько я могу судить, это связано с тем, что DHCP-клиент iPXE предпочитает proxyDHCP в качестве своего DHCP-сервера (если это имеет смысл), что кажется странным, учитывая, какова цель proxyDHCP-сервера, то есть НЕ нужен DHCP-сервер.

РЕДАКТИРОВАТЬ: Вот функциональная настройка proxydhcp для dnsmasq (наконец-то разобралась):

В файле /etc/dnsmasq.d/proxydhcp.conf, включенном из основной конфигурации /etc/dnsmasq.conf (например, в строке конфигурации conf-dir = / etc / dnsmasq.d):

port=0  
log-dhcp  
dhcp-match=ipxe,175  
dhcp-option=175,8:1:1  
dhcp-boot=net:ipxe,http://mynetbootserver.domain.com/boot/ipxeboot/${net0/mac}  
dhcp-boot=tag:!Iipxe,ipxe.0  
enable-tftp  
tftp-root=/tftpboot  
dhcp-range=192.168.0.0,proxy,255.255.0.0  
dhcp-range=10.0.0.0,proxy,255.0.0.0  
dhcp-range=172.16.0.0,proxy,255.255.0.0  
pxe-service=net:#ipxe,x86PC,"My Cool Netboot Processes",ipxe-native  

Хорошо работает с другим DHCP-сервером в сети. Мои виртуальные машины загружаются, выбирая параметры proxyDHCP, переданные DHCP-клиенту, однако я предполагаю (возможно, неправильно?), Что клиент БУДЕТ выбирать любые параметры загрузки, связанные с PXE (например, 66, 67) с DHCP-сервера, если он уже настроен на предоставьте эти варианты.

Обратите внимание на использование всего IP-пространства RFC1918 в операторах прокси. Похоже, что в этом нет никаких проблем, т. Е. Нет видимого вмешательства в существующий DHCP-сервер, потому что, конечно, это всего лишь прокси, а не полномочный DHCP-сервер для подсети. Кроме того, параметры ipxe не требуются специально для поддержки proxydhcp, это просто пример, основанный на том, как я его использую; то есть использовать proxydhcp для передачи информации о загрузке ipxe.

Короче говоря, proxyDHCP - это очень хороший способ неинвазивной реализации сетевой загрузки PXE в средах, в которых вы технически или административно не способны изменять сервер (ы) DHCP, работающий в вашей среде.

Ты можешь использовать dnsmasq (версии> = 2.48) для этой цели.

Подробнее здесь: https://help.ubuntu.com/community/UbuntuLTSP/ProxyDHCP

Нет, сервер DHCPD ISC не поддерживает режим ProxyDHCP. Некоторое время у нас была идея проекта GSoC в сообществе iPXE для ее реализации, но ни один студент еще не захотел взяться за эту задачу. С другой стороны, dnsmasq можно настроить для работы в режиме ProxyDHCP, но его конфигурация является чисто статической. У нас есть идея для GSoC этого года расширить dnsmasq, чтобы он мог отправлять DHCP-запросы на веб-сервер, который может позаботиться о логике и отправить ответ на dnsmasq, который затем должен передать его клиенту ProxyDHCP. Подробнее об этом можно прочитать на этой странице: http://ipxe.org/gsoc