FOG Project: Instalar y configurar dnsmasq como ProxyDHCP | Algo de Linux

lunes, 5 de marzo de 2018

FOG Project: Instalar y configurar dnsmasq como ProxyDHCP

Si echáis un vistazo al post en el que os mostraba como instalar FOG Server en un contenedor Proxmox, veréis que elegí no utilizar FOG server como servidor DHCP:
Would you like to use the FOG server for DHCP service? [y/N]
Ésto es lógico porque en mi red, ya tengo dos servidores DHCP funcionando en modo failover.

Como FOG server, necesita un servidor DHCP, he instalado y configurado dnsmasq en el servidor FOG para que actúe como Proxy DHCP. Ésto es algo sencillo:

Instalar dnsmasq

Como dnsmasq se encuentra en los repositorios de Debian, instalarlo es trivial:
# apt-get update && apt-get -y install dnsmasq
Una vez instalado, lo configuraremos.

Configurar dnsmasq

Al instalar dnsmasq, se crea un fichero de configuración por defecto /etc/dnsmasq.conf que sirve como documentación porque toda la configuración viene comentada. No obstante, en lugar de utilizar el fichero de configuración principal, crearemos un fichero de configuración pxe.conf en el directorio /etc/dnsmasq.d/ con el siguiente contenido:

/etc/dnsmasq.d/pxe.conf
# Don't function as a DNS server:
# port=0

# Log lots of extra information about DHCP transactions.
log-dhcp

# Dnsmasq can also function as a TFTP server. You may uninstall
# tftpd-hpa if you like, and uncomment the next line:
# enable-tftp

# Set the root directory for files available via FTP.
tftp-root=/tftpboot

# The boot filename, Server name, PXE Server IP Address
# dhcp-boot=pxelinux.0,fogserver,172.19.144.68
dhcp-boot=undionly.kpxe,,172.19.144.68

# !!! Insert the PXE server IP address above !!!

# rootpath option, for NFS
#dhcp-option=17,/images

# kill multicast
#dhcp-option=vendor:PXEClient,6,2b

# Disable re-use of the DHCP servername and filename fields as extra
# option space. That's to avoid confusing some old or broken DHCP clients.
dhcp-no-override

# PXE menu.  The first part is the text displayed to the user.  The second is the timeout, in seconds.
# pxe-prompt="Press F8 for boot menu", 3

# The known types are x86PC, PC98, IA64_EFI, Alpha, Arc_x86,
# Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI
# This option is first and will be the default if there is no input from the user.
pxe-service=X86PC, "Boot from network", undionly

# A boot service type of 0 is special, and will abort the
# net boot procedure and continue booting from local media.
#pxe-service=X86PC, "Boot from local hard disk", 0

# If an integer boot service type, rather than a basename is given, then the
# PXE client will search for a suitable boot service for that type on the
# network. This search may be done by multicast or broadcast, or direct to a
# server if its IP address is provided.
# pxe-service=x86PC, "Install windows from RIS server", 1

# This range(s) is for the public interface, where dnsmasq functions
# as a proxy DHCP server providing boot information but no IP leases.
# Any ip in the subnet will do, so you may just put your server NIC ip here.
# Since dnsmasq is not providing true DHCP services, you do not want it
# handing out IP addresses.  Just put your servers IP address for the interface
# that is connected to the network on which the FOG clients exist.
# If this setting is incorrect, the dnsmasq may not start, rendering
# your proxyDHCP ineffective.
dhcp-range=172.19.144.2,proxy,255.255.254.0

# !!! Insert the DHCP server IP address, and subnet mask above !!!

# This range(s) is for the private network on 2-NIC servers,
# where dnsmasq functions as a normal DHCP server, providing IP leases.
# dhcp-range=192.168.0.20,192.168.0.250,8h

# For static client IPs, and only for the private subnets,
# you may put entries like this:
# dhcp-host=00:20:e0:3b:13:af,10.160.31.111,client111,infinite
Como los comentarios del fichero de configuración son bastante descriptivos, tan sólo os voy a comentar las dos líneas de configuración que he resaltado en color amarillo y que considero fundamentales:
dhcp-boot=undionly.kpxe,,172.19.144.68
En esta línea estamos indicando cuál es el fichero de arranque que se debe usar para iniciar el cliente al arrancar mediante pxe y la IP del servidor fog. Si utilizáis este fichero de configuración, tendréis que cambiar la IP por la de vuestro servidor FOG.
dhcp-range=172.19.144.2,proxy,255.255.254.0
En esta línea estamos indicando la IP del servidor DHCP de nuestra red, que el servidor dnsmasq actúe como proxy y la máscara de red que usamos.  Si utilizáis este fichero de configuración, tendréis que cambiar la IP por la de vuestro servidor DHCP y la máscara, por la que uséis en vuestra red.

Configurar ajustes de tftpboot

Una vez configurado el servidor dnsmasq para atender peticiones de clientes vía PXE, creamos los siguientes enlaces:
ln -s /tftpboot/pxelinux.0.old /tftpboot/pxelinux.0
ln -s /tftpboot/undionly.kpxe /tftpboot/undionly.0

Publicado por primera vez en http://enavas.blogspot.com.es

2 comentarios:

Danap Lima Limon dijo...

Antes de nada, felicitarte y agradecerte los articulos sobre FOG

Ahora va mi problema... el DNSMASQ parece que funciona, pero a la hora de arrancar la imagen me salen los siguientes errores:

PXE-T01: File not found
PXE-E3B: TFTP Error - File not found
PXE-M0F: Exiting Intel PXE ROM.
No bootable device -- insert boot disk and press any key

Spi puedes darme alguna pista de que se me escapa, me harias un gran favor...

Esteban M. Navas Martín dijo...

Echa un vistazo a este post:
https://enavas.blogspot.com.es/2018/03/fog-project-directorio-tftpboot-de-mi.html