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

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

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

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

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

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

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

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

Или мне следует пойти на совершенно другой подход (если да, то что вы предлагаете)?

Спасибо


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

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

ОЧЕНЬ ИНТЕРЕСНО. Тем более, что cobbler уже умеет управлять 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

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

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

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

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

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

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

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