Как настроить Cobbler с PXE, если вы не можете изменить сервер DHCP?

16

В прошлом я несколько раз настраивал PXE-сервер, заставляя обычный dhcp-сервер возвращать все необходимое для загрузки по сети: как обычный ip config, так и bootinfo в одной настройке dhcp. Таким образом это легко сделать .

В соответствии с документацией, которую я прочитал (в википедии есть хорошая сводка ), должно быть возможно иметь неизмененный dhcp-сервер (например, если администратор в вашем местоположении запрещает доступ) и отдельный сервер, который ТОЛЬКО возвращает информацию о загрузке. Обычно это называется «сервер PXE» или «прокси-сервер DHCP». В прошлом я видел (не использовал) этот сервер pxe (последний выпуск был 5 лет назад).

Вчера я установил Cobbler, чтобы посмотреть, что он на самом деле делает. Теперь я хотел бы использовать его (люблю простоту использования), но изменение «основного» сервера dhcpd для получения PXE не вариант.

Я не смог найти никакой документации о том, как заставить сапожника работать на реальном PXE (== proxy dhcp) сервере.

Можно ли это сделать с помощью сапожника?

Могу ли я настроить сервер isc dhcp для работы в качестве PXE-сервера (т. Е. NO ip info, только информация о загрузке)?

Или я должен пойти на совершенно другой подход (если так, каково ваше предложение)?

Благодарность


Новое открытие, которое я только что сделал: журнал изменений для dnsmasq версии 2.4.8 говорит:

«Proxy-DHCP, где dnsmasq просто предоставляет информацию PXE, а другой DHCP-сервер выполняет распределение адресов, также разрешен».

ОЧЕНЬ ИНТЕРЕСНО. Тем более, что сапожник уже может контролировать dnsmasq.


Обновить:

dnsmasq 2.51 будет поддерживать этот конфиг, который полностью выполняет трюк, который я хотел.

Мой /etc/cobbler/dnsmasq.template теперь выглядит так:

# Cobbler generated configuration file for dnsmasq
# $date
#

# resolve.conf .. ?
#no-poll
#enable-dbus
read-ethers
addn-hosts = /var/lib/cobbler/cobbler_hosts

# Be a proxyDHCP server
dhcp-range=10.10.0.0,proxy

# Only respond to clients that are known (i.e present in /etc/ethers)
dhcp-ignore=#known

# Set this (and domain: see below) if you want to have a domain
# automatically added to simple names in a hosts-file.
expand-hosts
domain=test.basjes.nl,10.10.15.0

# Loads <tftp-root>/pxelinux.0 from dnsmasq TFTP server.
pxe-service=x86PC, "Boot PXELinux (=Cobbler controlled)", pxelinux ,$next_server

$insert_cobbler_system_definitions

Обновление: 2012-04-30

Несколько месяцев назад я получил письмо от кого-то, в котором говорилось, что он не может заставить работать вышеописанное. Оказывается, я сделал некоторые исправления и замены своего собственного сапожника, о котором я забыл. Таким образом, я предоставил решающее исправление магистральному сапожнику, который только что стал частью багажника. Я также создал дополнительную вспомогательную документацию .

Нильс Басьес
источник
1
Судя по их веб-сайту - я подозреваю, что Cobbler включает реализацию DHCP. Я бы, вероятно, сделал установку USB, если я работаю в сети с ограниченным доступом. :)
Лестер Чунг
нет, но это может помочь вам управлять одним.
мономиф

Ответы:

3

Что мы делаем, так это монтируем созданный нами ISO-файл, загружаем из него ядро ​​и initrd и загружаем кикстарт из центрального расположения. Этот файл кикстарта затем указывает на хранилище с файлами RPM, которое может быть вашим сервером сапожника.

У меня нет большого опыта работы с Cobbler (к сожалению), но, возможно, это вариант для вас?

wzzrd
источник
Я сделал установку, используя CDROM (iso-образ, сгенерированный Cobbler!), Как вы предложили, и это сработало довольно хорошо. Теперь у меня есть установка в почти изолированной области, где я могу отключить ее от локальной сети, включить DHCP, развернуть через PXE, отключить DHCP и снова подключить. Учитывая тот факт, что это среда тестирования / эксперимента, она должна сделать сейчас. Я также посмотрел на другие опции «proxydhcp», но ни у одного из них не было кода, выходящего за рамки 2004 года ... то есть мертвый не поддерживаемый код. Спасибо за ответ.
Нильс Басьес
5

PXE ROM требуется директива next-server от DHCP-сервера, чтобы найти и загрузить загрузчик (будь то grub, pxelinux или любой другой загрузчик). Если «следующий сервер» не указан, решение о том, что делать, зависит от PXE ROM. Вам нужно будет посмотреть конфигурацию BIOS вашей сетевой карты и посмотреть, есть ли возможность указать сервер вручную.

Как отмечается в ответе выше, использование ISO или USB-накопителя для загрузки компьютера со всей информацией, уже предоставленной в командной строке ядра, вероятно, является наилучшим способом. Если у вас нет доступа к конфигурации DHCP-сервера.

katriel
источник
1

если вы просто хотите запустить несколько тестов, вы можете иметь несколько серверов DHCP в одной сети. у вас может быть cobbler, создающий конфигурацию dhcpd, которая скажет серверу только отвечать, когда определенный MAC делает запрос ARP. и если вы просто закомментируете / отключите любые диапазоны на этом сервере (а я говорю об isc-dhcpd здесь), это не будет навязчивым. Вы можете получить некоторые окна с жалобами (в широковещательной рассылке) на то, что этот dhcp-сервер не является полномочным, если вы используете AD и тому подобное, но кроме этого я не думаю, что существует большая опасность.

Но лучший способ - иметь cobbler / dhcp и серверы, которые вы пытаетесь выделить, в отдельной VLAN от остальной части вашей сети. Таким образом, вы ограничиваете свой широковещательный домен, и никакие другие ящики не будут видеть ваши объявления dhcp.

мономиф
источник