Software ******** .. _DHCP-clients: Clientes ======== En *Linux* se usan, fundamentalmente, dos clientes: .. _dhclient: .. index:: index :program:`dhclient` Es el cliente del |ISC| y el habitual en las distribuciones normales. Su uso es bastante sencillo: * Para pedir configuración para la interfaz *eth0*:: # dhclient -v eth0 * Para desconfigurar la interfaz *eth0*, advirtiendo al servidor:: # dhclient -r eth0 Si no se quiere avisar al servidor (con lo cual no se liberará la |IP|), debe usarse la opción :kbd:`-x` Este cliente revisa el fichero :file:`/etc/dhcp/dhclient.conf` dentro del cual puede manipularse la forma en que se pide la configuración al servidor. .. _udhcpc: :program:`udhcpc` Es el microcliente del proyecto `busybox `_ y que suelen usar las distribuciones mínimas como SliTaZ_, Alpine_ o linux empotrados. Su uso básico es el siguiente: * Para pedir configuración para la interfaz *eth0*:: # udhcpc -b -R -p /var/run/udhcpc.eth0.pid -i eth0 -x hostname:nombre_maquina donde :kbd:`-x` sirve para pedir opciones de configuración al servidor. En el ejemplo, se le ha sugerido que nos adjudique un nombre de máquina (:kbd:`hostname`), pero puede sugerirse otras como un tiempo de concesión (:kbd:`lease`). Para sugerior varias debe repetirse el argumento. * Para desconfigurar la interfaz y parar el cliente:: # kill -USR2 $(cat /var/run/udhcpc.eth0.pid) # kill -TERM $(cat /var/run/udhcpc.eth0.pid) Servidores ========== Tipos ----- Un servidor |DHCP| puede trabajar de tres formas distintas: #. Como servidor |DHCP| en sí proporcionando la información de red a los clientes que lo solicitan y que es la función a la que dedicamos el tema. #. Como |DHCP| *relay*, en que el servidor se limita a retransmitir los paquetes enviados por el servidor |DHCP| real. Se usa para resolver el caso en que el servidor |DHCP| no comparte red con los cientes: .. image:: files/DHCPrelay.png En este caso, el *router*, además de comunicar ambas redes, retransmite hacia el servidor las peticiones de los clientes y retransmite a los clientes las respuestas del servidor. #. Como *proxy* |DHCP|, que se limita a complementar la información del servidor |DHCP| real, comunicando a los clientes la información adicional para el arranque por red. Trataremos este tipo de servidor al tratar el :ref:`servicio PXE `. Implementaciones ---------------- Las implementaciones libres de servidores |DHCP| más usadas son las siguientes: `udhcpd `_ Es el microservidor del proyecto `busybox `_ y suele encontrarse en los linux empotrados en algunos dispositivos. `dnsmasq `_ Es un servidor ligero que incorpora, además, un |DNS| y un |TFTP|. Es más que competente para la resolución de la mayor parte de las situaciones con que nos encontramos en pequeñas redes locales. `ISC DHP Server `_ Es el servidor tradicional del |ISC| (que también patrocina el servidor |DNS| :program:`bind`). Es bastante más pesado que el anterior, pero permite un mayor control sobre la configuración. `ISC KEA `_ Es el nuevo servidor del |ISC|, que previsiblemente sustituirá al anterior en el futuro. .. |ISC| replace:: :abbr:`ISC (Internet Systems Consortium)` .. |TFTP| replace:: :abbr:`TFTP (Trivial FTP)` .. _Alpine: https://alpinelinux.org/ .. _SliTaZ: http://slitaz.org/es/