Instalando un servidor DHCP

Punto de partida:

  • Un Debian, Raspbian o Ubuntu al que queremos convertir en servidor DHCP
Procedimiento:

  1. Para usar una maquina como servidor de DHCP, es necesario que esta tenga IP fija. No puede ser a la vez servidor de HDCP y cliente de DHCP
  2. Se instala el servidor: apt-get install isc-dhcp-server
  3. Se configura en /etc/dhcp/dhcpd.conf
    1. Primero se debe hacer una copia del fichero original
    2. Se realiza la configuracion, por ejemplo:
      1. #subred y mascara de red
      2. subnet 192.168.1.0 netmask 255.255.255.0
      3. {
      4.         #IP del router
      5.         option routers 192.168.1.1;
      6.         #IP de broadcast
      7.         option broadcast-address 192.168.1.255;
      8.         #rango de IPs que va a asignar el servidor DHCP
      9.         range 192.168.1.101 192.168.1.200;
      10.         #servidores DNS
      11.         option domain-name-servers 8.8.8.8, 4.4.4.4;
      12. }
      13. #IP, que aun asignada dinamicamente, queremos que sea la misma siempre para una MAC
      14. host nombre_host
      15. {
      16.         hardware ethernet 34:ea:34:e7:e0:15;
      17.         fixed-address 192.168.1.124;
      18. }
  4. Se pueden ver las IPs que se asignan en el log del sistema. Por ejemplo:
    1. more /var/log/syslog|grep -i dhcp
  5. Se puede ver las IPs asi como el tiempo de lease en /var/lib/dhcp/dhcpd.leases
    1. Aqui estan contenidas las IPs que se asignan dinamicamente, de forma temporal. Las incluidas en el fichero de configuración dhcpd.conf, no aparecen en dhcpd.leases
  6. Para parar o arrancar el servicio:
    1. sudo systemctl stop isc-dhcp-server.service
    2. sudo systemctl start isc-dhcp-server.service
  7. Troubleshooting:
    1. Al reiniciar la raspberry el servicio falla si no esta conectado el cable de red. Esta situación es bastante curiosa porque la ip está configurada como estatica en /etc/dhcpcd.conf
    2. El problema parecía estar en que:
      1. isc-dhcp-server espera a que el daemon de red $network (es decir networking en este caso) levante las interfaces de red. Como la configuración de red ahora se ha movido para dhcpcd.conf, parece que networking no levanta la red si no detecta el cable conectado y en consecuencia isc-dhcp-server falla.
      2. Solucion: configurar  /etc/network/interface con la IP estatica para que la levante en cualquier caso (tenga cable conectado o no) y a partir de aqui isc-dhcp-server se arranca a posteriori.
    3. En cualquier caso, además, como precaución se ha incluido en el fichero /etc/default/isc-dhcp-server , linea INTERFACES="eth0"
    4. El resumen de los ficheros de configuracion implicados ha sido el siguiente:
      1. /etc/network/interfaces, en donde se configuran las interfaces de red, particularmente para que se levanten con IP estática aunque no tengan cable conectado
      2. /etc/dhcpcd.conf, en donde se configura la IP de la RPi3, estatica en este caso.
      3. /etc/dhcp/dhcpd.conf, en donde se configura el servidor de DHCP (isc-dhcp-server)
      4. /etc/default/isc-dhcp-server en donde se configuran configuraciones por defecto del servidor dhcp (fichero de configuracion, pid del proceso, etc.)




No hay comentarios:

Publicar un comentario