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:
- eth0: 192.168.121.253 per la clonazione della sottorete 121
- eth1 : 192.168.2.5 per la connessione a internet
- 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:
- si può sempre riavviare il servizio a mano ma perché farlo?
- il comando drbl-all-service può riavviare il dhcp quindi occhio quando lo si usa a fermare a mano il dhcp.
- 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:
- tftp-root=/tftpboot/nbi_img/ : cartella dove si trove il file del pxe cioè pxelinux.0
- dhcp-boot=net:eth2,pxelinux.0,,192.168.2.9 : indirizzo e file per il pxe-boot uno per ogni sottorete
-
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