domingo, 14 de abril de 2013

Usando DNSMasq como servicio DHCP para el servidor PXE

Dnsmasq es un servidor liviano que provee los servicios de DNS, DHCP y TFTP para redes pequeñas. Puede servir los nombres de ordenadores locales que no están en el DNS global. El servicio DHCP se integra al DNS y permite a los ordenadores con IP asignada por el DHCP que aparezcan en el DNS con nombres, configurados en cada host o en el fichero de configuración centralizado. Dnsmasq soporta consesiones DHCP estáticas y dinámicas y BOOTP/TFTP/PXE para arranque de red en ordenadores sin disco. 

Y es esta última parte la que más nos interesa. Pues la idea es reemplazar el daemon dhcpd por dnsmasq, ya que éste último es ideal para redes pequeñas y viene por defecto en muchas distribuciones actuales.


Lo primero que haremos es detener el daemon dhcpd, si lo tenemos andando para no crear conflicto al momento de iniciar a dnsmasq.

root@rainbow:~# service dhcpd stop
root@rainbow:~# chkconfig dhcpd --level 345 off
Opcionalmente podemos desinstalarlo, aunque con lo anterior basta.
root@rainbow:~# yum remove -y dhcp
Ahora procedemos a instalar dnsmasq.
root@rainbow:~# yum install -y dnsmasq
Luego de esto podemos editar el fichero de configuración ubicado en /etc/dnsmasq.conf. Sin embargo lo que haremos es crear un archivo de configuracion adicional específico para el servidor PXE; esto a fin de tener mayor control sobre la configuración ya que el fichero dnsmasq.conf viene con muchos ejemplos de configuración que nos podrían confundir si no estamos documentados a profundidad sobre el mismo. 

El fichero dnsmasq.conf tiene al final (es la última línea) una variable que guarda el directorio donde tendremos el fichero de configuración para PXE. Solo debemos verificar que esa línea no esté comentada (#).
conf-dir=/etc/dnsmasq.d
Entonces, es dentro de ese directorio que crearemos el nuevo fichero con su contenido.
root@rainbow:~# nano /etc/dnsmasq.d/pxe.conf
bind-interfaces
dhcp-range=10.42.43.100,10.42.43.254,12h
tftp-root=/tftpboot
enable-tftp
dhcp-boot=pxelinux.0
dhcp-option=vendor:PXEClient,6,2b
dhcp-no-override
pxe-service=X86PC,"Boot from network",pxelinux
Guardamos el fichero y procedemos a iniciar el servicio dnsmasq, dejandolo tambien para que inicie en el arraque del sistema.
root@rainbow:~# service dnsmasq start
Starting dnsmasq [ok]
root@rainbow:~# chkconfig dnsmasq --level 345 on
Ahora solo nos queda iniciar un cliente con arranque de red (PXE) y proceder igual que siempre.


Artículos relacionados



Widget by Hoctro | Jack Book

1 comentario:

  1. hola compañero tengo un problema. He configurado un servidor de imágenes de disco y en principio cumple su función perfectamente.El problema es que DNSMASQ no reparte IP solo a clientes PXE sino que la reparte a todos los clientes de la red, y esto supone un problema porque en el centro de trabajo ya existe un DHCP y se dan de leches. Se te ocurre que parámetro tengo que utilizar para que mi servidor solo reparte IP a clientes PXE?
    Un saludo

    ResponderEliminar