Un apunte rápido sobre cómo configurar mi antigua Raspberry Pi “1” como DNS Server y DHCP Server. Ambas son funciones críticas en la red “casera de todo hacker”, así que he decidido delegarle esta función. Mucho mejor que tener la Pi1 guardada en un cajón.

RaspDD

AVISO: Todas las direcciones IP y nombres de dominio o de hosts que utilizo son ejemplos que no deberías copiar tal cual, úsalo cómo referencia.

  • Instalo Raspbian. En su momento estaba la versión de fecha 2015-02-16 con Kernel 3.18.
  • Realizo el primer boot y la configuro siguiendo el asistente. La dejo en modo consola, sin gráficos, con el teclado, locales, timezone preparados para Madrid y Castellano…

Dirección IP estática

  • Entro por SSH y paso a cambiar la configuración para usar una dirección IP Estática. Edito el fichero /etc/network/interfaces y /etc/resolv.conf (este último de momento apuntando al DNS Server que tengo ahora mismo activo).

  • Es opcional pero a mi me gusta cambiarle el nombre al host, así que modifico los ficheros /etc/hostname y /etc/hosts

  • Rearranco la Raspberry

NOTA: Al hacer reboot y conectar de nuevo vía SSH estoy comprobando que la dirección estática está funcionando correctamente, es importante :-).

 

Instalación del software

  • Vuelvo a entrar por SSH y lo primero que hago es actualizar a lo último, al tratarse de un “derivado” de Debian básicamente hacemos un update y luego un upgrade

  • Instalo los servidores DHCP y DNS

NOTA: Tras la instalación intenta arrancar el DHCP Server, no se a qué vienen tantas prisas, da un error obvio porque todavía no está configurado 🙂

 

Configuración DHCP

  • Configuro DHCP, edito los ficheros /etc/default/isc-dhcp-server donde se indica el interfaz del servicio y /etc/dhcp/dhcpd.conf donde se configura el servicio.

 

Configuración DNS

Voy a configurar el DNS server para que haga dos cosas. La primera es que sirva un dominio interno privado (resuelva nombres privados y entregue direcciones de mi intranet). La segunda es que se convierta en el DNS server de la intranet, delegandole a él ir a buscar las respuestas a internet y hacer “caching”:

  • /etc/bind/named.conf: Fichero principal del DNS Server, no hace falta modificarlo.

  • /etc/bind/named.conf.options: Opciones generales del DNS Server, lo modifico para indicar el comportamiento general del servicio.

  • /etc/bind/named.conf.local: Dominio(s)/Zona(s) privado(s).

  • /etc/bind/named.conf.default.zones: Zonas por defecto del servidor. No hace falta modificar este fichero

Zona privada para la intranet: parchis.org

Resolución inversa

A partir de ahora hay que configurar a todos los clientes (incluyendose ella misa) para que consulten a la Pi1 los nombres DNS.

 

Configuración de los clientes

Una vez que tenemos la configuración del servidor DNS hay que cambiar la de los clientes (INCLUIDA la del propio servidor), de modo que todo el mundo consulte a este nuevo servidor DNS en la Raspberry Pi.

  • La Raspberry (consulta a su propio servicio DNS)

  • Clientes de la Intranet

 

Arranque de los servicios

Para activar los servicios te vale con rearrancar la Raspberry o bien arrancarlos ahora de forma manual.

 

Comandos útiles

  • Comprobar integridad configuración DNS. Ejecutar el comando siguiente en la Pi y si no da ningún errror entonces es que vamos bien 🙂

  • Comprobar que nuestro DNS Server funciona. Ejecutar el comando siguiente en cualquier cliente de la red (o incluso en la Pi), cualquiera que tenga su fichero resolv.conf apuntando a la Raspberry Pi. Fíjate que la primera consulta tarda 625 milisegundos y la segunda solo 3. La primera vez tuvo que ir a internet a por la respuesta y la segunda ya la tenía en cache.

  • Comprobar el espacio libre. Vemos que con una tarjeta SD de 8GB nos ha quedado espacio de sobra:

 

NTP

  • He añadido esta sección porque quiero activar el cliente NTP en este equipo. El proceso es el siguiente:

El servicio NTPD se arranca y a partir de aquí podemos comprobar si ha alcanzado el estado de Stratum 3 con los comandos siguientes:

 

Enlaces

Después de instalarlo me encontré este artículo, está muy bien y muy completo, os lo recomiendo.