Jak skonfigurować Cobbler z PXE, jeśli nie możesz zmienić serwera DHCP?

16

W przeszłości kilka razy konfigurowałem serwer PXE, sprawiając, że normalny serwer dhcp zwrócił wszystko, co potrzebne do rozruchu sieciowego: zarówno zwykłą konfigurację ip ORAZ bootinfo w pojedynczej konfiguracji dhcp. W ten sposób łatwo to zrobić .

Zgodnie z dokumentacją, którą przeczytałem ( wikipedia ma ładne podsumowanie ) powinien istnieć niezmodyfikowany serwer dhcp (na przykład, jeśli administrator w twojej lokalizacji odmawia dostępu) i osobny serwer, który TYLKO zwraca informacje o rozruchu. Jest to zwykle nazywane „serwerem PXE” lub „serwerem proxy DHCP”. W przeszłości widziałem (nieużywany) ten serwer pxe (ostatnie wydanie było 5 lat temu).

Wczoraj zainstalowałem Cobbler, aby zobaczyć, co naprawdę robi. Teraz chciałbym go użyć (uwielbiam łatwość użycia), ale modyfikacja „głównego” serwera dhcpd w celu uzyskania PXE nie jest opcją.

Nie udało mi się znaleźć żadnej dokumentacji na temat tego, jak mogę uruchomić cobblera przy użyciu prawdziwego serwera PXE (== proxy dhcp).

Czy można to zrobić za pomocą szewca?

Czy mogę skonfigurować serwer isc dhcp tak, aby zachowywał się jak serwer PXE (tj. BEZ informacji o IP, tylko informacje o rozruchu)?

A może powinienem wybrać zupełnie inne podejście (jeśli tak, jaka jest twoja sugestia)?

Dzięki


Nowe odkrycie, które właśnie dokonałem: Dziennik zmian dla dnsmasq w wersji 2.4.8 mówi:

„Proxy-DHCP, gdzie dnsmasq dostarcza tylko informacje PXE, a inny serwer DHCP dokonuje alokacji adresu, jest również dozwolone.”

BARDZO INTERESUJĄCE. Zwłaszcza, że ​​szewc może już kontrolować dnsmasq.


Aktualizacja:

dnsmasq 2.51 będzie obsługiwał tę konfigurację, która w pełni spełnia moje oczekiwania.

Mój plik /etc/cobbler/dnsmasq.template wygląda teraz tak:

# 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

Aktualizacja: 30.04.2012

Kilka miesięcy temu dostałem wiadomość od kogoś, kto stwierdził, że nie może sprawić, by powyższe zadziałało. Okazuje się, że naprawiłem i zmieniłem własnego szewca, o którym zapomniałem. Podałem więc kluczową poprawkę do szewca głównego, który właśnie stał się częścią tułowia. Stworzyłem również dodatkową dokumentację pomocniczą .

Niels Basjes
źródło
1
Sądząc po ich stronie internetowej - podejrzewam, że Cobbler ma wbudowaną implementację DHCP. Prawdopodobnie zrobiłbym instalację USB, jeśli pracuję w sieci z ograniczeniami. :)
Lester Cheung
nie, ale może ci pomóc zarządzać jednym.
monomyth

Odpowiedzi:

3

To, co robimy, to montowanie utworzonego przez nas pliku ISO, uruchamianie jądra i inicjowanie z niego oraz ładowanie kickstartu z centralnej lokalizacji. Ten plik kickstart następnie wskazuje repozytorium z plikami RPM, które może być twoim serwerem cobbler.

Nie mam dużego doświadczenia z Cobblerem (niestety), ale może to jest dla ciebie opcja?

wzzrd
źródło
Przeprowadziłem instalację za pomocą CDROM-u (obraz ISO generowany przez Cobblera!), Jak sugerowałeś i działało całkiem nieźle. Mam teraz konfigurację w prawie odizolowanym obszarze, w którym mogę odłączyć ją od sieci LAN, włączyć DHCP, wdrożyć przez PXE, wyłączyć DHCP i ponownie podłączyć. Biorąc pod uwagę fakt, że jest to środowisko testowe / eksperymentalne, na razie będzie musiało to zrobić. Przyjrzałem się również innym opcjom „proxyydhcp”, ale żadna z nich nie zawierała kodu po roku 2004 ... tj. Martwy, nieobsługiwany kod. Dziękujemy za opinię.
Niels Basjes,
5

PXE ROM wymaga dyrektywy „następnego serwera” z serwera DHCP, aby znaleźć i załadować program ładujący (grub, pxelinux lub inny program ładujący). Jeśli nie zostanie dostarczony „następny serwer”, decyzja o tym, co należy zrobić, zależy od pamięci ROM PXE. Musisz spojrzeć na konfigurację bios karty sieciowej i sprawdzić, czy istnieje możliwość ręcznego określenia serwera.

Jak zauważono w odpowiedzi powyżej, użycie niestandardowego ISO lub USB Stick do uruchomienia komputera, przy czym wszystkie informacje już dostarczone w wierszu poleceń jądra są prawdopodobnie najlepszym sposobem. Jeśli nie masz dostępu do konfiguracji serwera DHCP.

katriel
źródło
1

jeśli chcesz tylko przeprowadzić testy, możesz mieć kilka serwerów DHCP w tej samej sieci. możesz mieć szewc tworzący konfigurację dhcpd, która powie serwerowi, aby odpowiedział tylko, gdy określony MAC wysyła żądanie ARP. a jeśli po prostu skomentujesz / wyłączysz jakiekolwiek zakresy na tym serwerze (a mówię tutaj o isc-dhcpd), nie będzie to uciążliwe. Może się zdarzyć, że niektóre okna systemu Windows będą narzekać (w transmisjach) na to, że ten serwer dhcp jest nieautorytatywny, jeśli używasz AD i takie, ale poza tym nie sądzę, że istnieje duże niebezpieczeństwo.

Ale najlepszym sposobem jest posiadanie cobbler / dhcp i serwerów, które próbujesz udostępnić w oddzielnej sieci VLAN od reszty sieci. W ten sposób ograniczysz domenę rozgłoszeniową i żadne inne pola nie będą nawet widzieć twoich ogłoszeń dhcp.

monomyth
źródło