Come configurare Cobbler con PXE se non riesci a cambiare il server dhcp?


16

In passato ho installato più volte un server PXE facendo in modo che il normale server dhcp restituisse tutto il necessario per l'avvio della rete: sia la normale configurazione ip che bootinfo in una singola configurazione dhcp. In questo modo è facile da fare .

Secondo la documentazione che ho letto ( wikipedia ha un bel riassunto ) dovrebbe essere possibile avere un server dhcp non modificato (ad esempio se l'amministratore nella tua posizione nega l'accesso) e un server separato che restituisce SOLO le informazioni di avvio. Questo è generalmente chiamato "server PXE" o "server DHCP proxy". In passato ho visto (non utilizzato) questo server pxe (l'ultima versione è stata 5 anni fa).

Ieri ho installato Cobbler per vedere cosa fa davvero. Ora vorrei usarlo (amo la facilità d'uso) ma modificare il server dhcpd 'principale' per ottenere PXE non è un'opzione.

Non sono stato in grado di trovare alcuna documentazione su come far funzionare il calzolaio usando un vero server PXE (== proxy dhcp).

Questo può essere fatto con il calzolaio?

Posso configurare il server isc dhcp in modo che si comporti come un server PXE (ovvero NO informazioni ip, solo informazioni di avvio)?

O dovrei scegliere un approccio completamente diverso (in tal caso, qual è il tuo suggerimento)?

Grazie


Nuova scoperta che ho appena fatto: il log delle modifiche per dnsmasq versione 2.4.8 dice:

"È consentito anche Proxy-DHCP, dove dnsmasq fornisce solo le informazioni PXE e un altro server DHCP indirizza l'allocazione."

MOLTO INTERESSANTE. Soprattutto perché il calzolaio può già controllare dnsmasq.


Aggiornare:

dnsmasq 2.51 supporterà questa configurazione che fa pienamente il trucco che volevo.

Il mio /etc/cobbler/dnsmasq.template ora appare così:

# 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

Aggiornamento: 2012-04-30

Qualche mese fa ho ricevuto un'e-mail da qualcuno in cui affermava di non riuscire a far funzionare quanto sopra. Si è scoperto che avevo fatto qualche riparazione e cambio del mio calzolaio di cui mi ero dimenticato. Quindi ho fornito la soluzione cruciale al calzolaio della linea principale che è appena diventato parte del bagagliaio. Ho anche creato della documentazione di supporto aggiuntiva .


1
A giudicare dal loro sito Web, sospetto che Cobbler abbia incluso un'implementazione DHCP. Probabilmente farei un'installazione USB se lavoro in una rete limitata. :)
Lester Cheung,

no, ma può aiutarti a gestirne uno.
monomito

Risposte:


3

Quello che facciamo è montare un file ISO che abbiamo creato, avviare un kernel e initrd da quello e farlo caricare da una posizione centrale. Questo file kickstart quindi punta a un repository con file RPM, che potrebbe essere il tuo server di calzolaio.

Non ho molta esperienza con Cobbler (purtroppo), ma forse questa è un'opzione per te?


Ho fatto l'installazione usando un CD-ROM (immagine iso generata da Cobbler!) Come mi hai suggerito e che ha funzionato abbastanza bene. Ora ho l'installazione in un'area quasi isolata in cui posso scollegarla dalla LAN, abilitare DHCP, distribuire tramite PXE, disabilitare DHCP e ricollegarlo. Dato che si tratta di un ambiente di test / esperimento, per ora dovrà fare. Ho anche esaminato altre opzioni "proxydhcp" ma nessuna sembrava avere un codice oltre il 2004 ... vale a dire codice morto non mantenuto. Grazie per il feedback.
Niels Basjes,

5

La ROM PXE richiede una direttiva "next-server" dal server DHCP per trovare e caricare il bootloader (sia esso grub, pxelinux o qualsiasi altro bootloader). Se non viene fornito un "server successivo", spetta alla ROM PXE decidere cosa fare. Dovrai esaminare la configurazione del BIOS della tua scheda di rete e vedere se esiste un'opzione per specificare il server manualmente.

Come notato dalla risposta sopra, usare una chiavetta ISO o USB personalizzata per avviare la macchina, con tutte le informazioni già fornite dalla riga di comando del kernel è probabilmente il modo migliore per andare. Se non si ha accesso alla configurazione del server DHCP.


1

se si desidera solo eseguire alcuni test, è possibile disporre di più server DHCP sulla stessa rete. puoi avere un calzolaio che crea una configurazione dhcpd che dirà a un server di rispondere solo quando un determinato MAC sta facendo una richiesta ARP. e se semplicemente commentate / disabilitate qualsiasi intervallo su quel server (e sto parlando di isc-dhcpd qui) non sarà invadente. È possibile che alcune finestre di Windows si lamentino (nelle trasmissioni) del fatto che questo server DHCP non è autorevole se si utilizza AD e simili, ma a parte questo non penso che ci sia molto pericolo.

Ma il modo migliore è disporre di calzolaio / dhcp e server che si sta provando a eseguire il provisioning su una VLAN separata dal resto della rete. In questo modo limiterai il tuo dominio di trasmissione e nessun altro riquadro vedrà nemmeno i tuoi annunci dhcp.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.