Skip to content

DRBL con DHCP esterno

Durante l’installazione di DRBL viene installato e attivato un servizio DHCP sul server che ospita il DRBL.

Se abbiamo già un server DHCP funzionante bisognerà disabilitare il server DHCP di DRBL emnodificare le configurazioni in modo che i nostri client possano utilizzare il DHCP esterno.

Per prima cosa installiamo e configuriamo DRBL come descritto sul sito.

Nota: Aggiungi queste righe al source.list

#DRBL
deb http://free.nchc.org.tw/debian stretch main non-free contrib
deb-src http://free.nchc.org.tw/debian stretch main non-free contrib
deb http://free.nchc.org.tw/drbl-core drbl stable

 

Nel mio caso il DRBL serve due sottoreti (192.168.121. e 192.168.2.) e ha quindi tre indirizzi:

  1. eth0: 192.168.121.253 per la clonazione della sottorete 121
  2. eth1 : 192.168.2.5 per la connessione a internet
  3. eth2: 192.168.2.9 per la clonazione della sottorete 2

DHCP locale

Fermiamo il servizio DHCP sul DRBL con il comando:

# update-rc.d isc-dhcp-server disable

Questo comado disabilita in modo permanente l’avvio del servizio DHCP su DRBL.

NB:

  1. si può sempre riavviare il servizio a mano ma perché farlo?
  2. il comando drbl-all-service può riavviare il dhcp quindi occhio quando lo si usa a fermare a mano il dhcp.
  3. La riconfigurazione del server con il comando drblpush -c /etc/drbl/drblpush.conf riattiva il DHCP locale

Installazione e configurazione di dnsmasq

# apt-get install dnsmasq

e con la sua configurazione:

  • alla fine del file /etc/dnsmasq.conf decommentiamo la linea # conf-dir=/etc/dnsmasq.d/*.conf e cancelliamo *.conf; la righa diventa quindi:
# Include all files in a directory which end in .conf
conf-dir=/etc/dnsmasq.d/

Questo modo tutti i file di configurazione di dnsmasq verranno creati in /etc/dnsmasq.d

  • Creiamo il file di configurazione per dnsmasq in modo che faccia da proxy dhcp e condivida in modo corretto i file per il PXE;
# nano /etc/dnsmasq.d/ltsp.conf

nel file ltsp.conf aggiungiamo le seguenti righe:

port=0
log-dhcp
tftp-root=/tftpboot/nbi_img/
dhcp-boot=net:eth2,pxelinux.0,,192.168.2.9
dhcp-boot=net:eth0,pxelinux.0,,192.168.121.2
dhcp-no-override
pxe-prompt="Press F8 for LDSS boot menu", 2
pxe-service=X86PC, "Boot from network",pxelinux
pxe-service=X86PC, "Boot from local hard disk", 0
dhcp-range=192.168.121.253,proxy
dhcp-range=192.168.2.9,proxy

Spiegazione:

  1. tftp-root=/tftpboot/nbi_img/ : cartella dove si trove il file del pxe cioè pxelinux.0
  2. dhcp-boot=net:eth2,pxelinux.0,,192.168.2.9 : indirizzo e file per il pxe-boot uno per ogni sottorete
  3. pxe-service=X86PC, “Boot from network”,pxelinux

      e pxe-service=X86PC, “Boot from network”,pxelinux : dicono al pxe cosa fare in caso di boot da rete ( eseguire il pxelinux) o da disco locale

Abilita il servizio dnsmasq

Dopo un nuova installazione ricordati di abilitare il servizio dnsmasq. Per abilitare un servizio vedi il seguente post

 

Modifica al DHCP esistente

Affinché le nostre macchine faccia il boot correttamente da rete dobbiamo istruire il DHCP esistente su dove si trova il servizio di boot da rete. Per fare questo aggiungiamo una seguente riga al file  /etc/dhcp/dhcpd.conf  ( se il dhcp è linux altrimenti cercare su google a seconda del tipo di dhcp) all’inizio del file appena prina del pool e degli host.

next-server 192.168.2.9;

Modifica del DRBL

Il client DRBL controlla all’avvio della macchina che il server dhcp da cui ha ottenuto l’IP sia quello locale del DRBL e se non lo è pianta un errore.

Per evitare questo controllo modifichiamo il file /usr/lib/mkpxeinitrd-net/initrd-skel/bin/udhcpc-post sul server e commentiamo la righa 62:

## [ "$sname" != "$dhcp_server_name" ] && exit

per applicare le modifiche fatte al file eseguiamo il comando:

/usr/sbin/mknic-nbi -n

 

Buon DRBL con DHCP esterno

 

 

 


Last updated: 1 Febbraio 2018 by Pierluigi Minati