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

В прошлом я несколько раз настраивал 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

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

3 ответа

Решение

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

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

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

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

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

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

Другие вопросы по тегам