Esto es útil para relacionar las ips de cada uno de los dispositivos con un nombre específico, lo cual nos facilitará la tarea a la hora de identificarlos y de conectar con ellos a través de diferentes protocolos (ftp, samba,...).
La mayoría de nuestros dispositivos están configurados en DHCP, por lo que también sería interesante que cada vez que el servidor DHCP conceda una dirección ip a un dispositivo actualice ese cambio en los registros DNS del servidor y con eso poder estar seguro de que el nombre de un equipo se corresponde con su ip si ésta cambia .
Deberá existir una comunicación entre "ISC_DHCP" y "BIND9". Esta comunicación tiene que ser lo más segura para evitar posibles ataques que puedan alterar los registros DNS del servidor.
Por eso, crearemos una clave con el comando "rndc":
$ sudo rndc-confgen –a
Se creará el archivo /etc/bind/rndc.key que será la clave que incluiremos tanto en el servicio DHCP como en el DNS para que se comuniquen entre sí de manera segura.
Una vez hecho esto, configuraremos las zonas DNS.
Vamos a crear la zona directa e inversa, que serán las encargadas de resolver los nombres en direcciones ips y viceversa respectivamente. Para ello crearemos un dominio, por ejemplo, "castillo.local".
Abriremos el archivo donde declaramos las zonas e indicamos el archivo que contiene la clave compartida de comunicación:
$ sudo nano /etc/bind/named.conf.local
Se creará el archivo /etc/bind/rndc.key que será la clave que incluiremos tanto en el servicio DHCP como en el DNS para que se comuniquen entre sí de manera segura.
Una vez hecho esto, configuraremos las zonas DNS.
Vamos a crear la zona directa e inversa, que serán las encargadas de resolver los nombres en direcciones ips y viceversa respectivamente. Para ello crearemos un dominio, por ejemplo, "castillo.local".
Abriremos el archivo donde declaramos las zonas e indicamos el archivo que contiene la clave compartida de comunicación:
$ sudo nano /etc/bind/named.conf.local
Añadiremos estas líneas:
include "/etc/bind/rndc.key"; # Archivo y ruta de nuestra clave compartida
zone castillo.local { # Declaración de la zona directa type master; # Actuará como servidor maestro file "/var/lib/bind/castillo.local"; # Ubicación del archivo de la zona directa allow-update { key rndc-key; }; # Permitimos comunicación solo con la clave compartida }; zone 0.168.192.in-addr.arpa { # Zona de resolución inversa type master; # Actuará como servidor maestro file "/var/lib/bind/0.168.192"; # Ubicación del archivo de la zona inversa allow-update { key rndc-key; }; # Permitimos comunicación solo con la clave compartida }; |
Para asegurarnos que la configuración es correcta ejecutamos:
$ sudo named-checkconf
Si no nos devuelve ningún error, pasaremos a configurar cada zona de nuestro nuevo dominio.
Para ello editaremos el archivo:
$ sudo nano /var/lib/bind/home.local
Añadiremos las siguientes líneas:
Una vez configurada la zona directa comprobamos que todo está correcto:
$ sudo named-checkzone castillo.local /var/lib/bind/castillo.local
Nos devolverá la siguiente salida:
El siguiente paso es configurar la zona inversa. Editamos el archivo:
$ sudo nano /var/lib/bind/0.168.192
Introducimos las siguientes líneas:
Una vez más comprobamos que la configuración es satisfactoria:
$ sudo named-checkzone 0.168.192.in-addr.arpa /var/lib/bind/0.168.192
Nos devolverá:
Con esto ya estamos listos para reiniciar el servicio y activar las nuevas zonas añadidas:
$ sudo /etc/init.d/bind9 restart
Podemos comprobar que nuestro servidor DNS está funcionando perfectamente:
$ nslookup
Para finalizar este tutorial configuraremos nuestro servidor DHCP para que cuando asigne una ip a un dispositivo actualice el registro de la zona DNS, por lo que si la ip de un equipo cambia se actualizará en el registro DNS.
Abrimos el archivo con el que configuramos el servidor DHCP:
$ sudo nano /etc/dhcp/dhcpd.conf
Modificamos y añadimos las siguientes líneas:
Al reiniciar ambos servicios ya tendríamos listo nuestro servidor DNS:
$ sudo /etc/init.d/isc-dhcp-server restart
$ sudo /etc/init.d/bind9 restart
En el próximo tutorial instalaremos el servicio "SAMBA" con el que podremos compartir carpetas y archivos desde cualquier sistema operativo ( Windows, Linux, OSX,..).
Si no nos devuelve ningún error, pasaremos a configurar cada zona de nuestro nuevo dominio.
Para ello editaremos el archivo:
$ sudo nano /var/lib/bind/home.local
Añadiremos las siguientes líneas:
# Apuntamos que el dominio cuelga directamente del dominio “.”, root.
$ORIGIN . # Definimos el tiempo de vida en segundos de conservación en cache $TTL 604800 # Declaramos el SOA. Es el primer registro que especifica el servidor DNS primario del #dominio, la cuenta de correo del administrador y el tiempo de refresco de los servidores #secundarios. castillo.local IN SOA raspberrypi.castillo.local. webmaster.castillo.local. ( 13535276 ; serial 10500 ; refresh 3600 ; retry 604800 ; expire 38400 ; negative ) ; # Definimos el servidor principal para el dominio. NS raspberrypi.castillo.local. # Declaramos el origen en nuestro dominio. $ORIGIN castillo.local. # Aquí definiremos los registros fijos, en nuestro caso la Raspberry y un NAS raspberrypi A 192.168.0.101 # correspondemos la ip de la raspberry a un nombre nas A 192.168.0.102 # correspondemos la ip del nas a un nombre rpi CNAME raspberrypi # creamos un alias para el servidor |
Una vez configurada la zona directa comprobamos que todo está correcto:
$ sudo named-checkzone castillo.local /var/lib/bind/castillo.local
Nos devolverá la siguiente salida:
El siguiente paso es configurar la zona inversa. Editamos el archivo:
$ sudo nano /var/lib/bind/0.168.192
Introducimos las siguientes líneas:
# Apuntamos que el dominio cuelga directamente del dominio “.”, root.
$ORIGIN . # Definimos el tiempo de vida en segundos de conservación en cache
$TTL 604800
# Declaramos el SOA como hicimos en la zona directa
0.168.192.in-addr.arpa
IN SOA
raspberrypi.castillo.local. webmaster.castillo.local. (
20 ; serial
10800 ; refresh (3 hours)
3600 ; retry (1 hour)
604800 ; expire (1 week)
38400 ; minimum (10 hours 40 minutes)
)
# Definimos el servidor principal para el dominio.
NS
raspberrypi.castillo.local.
# Declaramos el origen en nuestro dominio.
$ORIGIN 0.168.192.in-addr.arpa.
# Aquí definiremos los punteros fijos, en nuestro caso la Raspberry y un NAS
101
PTR raspberrypi. # añadimos
el registro PTR de la Raspberry
102 PTR nas # añadimos el registro PTR del nas
|
Una vez más comprobamos que la configuración es satisfactoria:
$ sudo named-checkzone 0.168.192.in-addr.arpa /var/lib/bind/0.168.192
Nos devolverá:
Con esto ya estamos listos para reiniciar el servicio y activar las nuevas zonas añadidas:
$ sudo /etc/init.d/bind9 restart
Podemos comprobar que nuestro servidor DNS está funcionando perfectamente:
$ nslookup
Para finalizar este tutorial configuraremos nuestro servidor DHCP para que cuando asigne una ip a un dispositivo actualice el registro de la zona DNS, por lo que si la ip de un equipo cambia se actualizará en el registro DNS.
Abrimos el archivo con el que configuramos el servidor DHCP:
$ sudo nano /etc/dhcp/dhcpd.conf
Modificamos y añadimos las siguientes líneas:
ddns-updates on; # Permitimos la actualización dinámica DNS
ddns-update-style interim; # Sistema de actualización dinámica update-static-leases on; # Permitimos la actualización de las ips reservadas en DHCP include "/etc/bind/rndc.key"; # Declaramos la clave compartida ddns-domainname "castillo.local."; # Definimos el dominio ddns-rev-domainname "in-addr.arpa."; # Declaramos el dominio ddns inverso |
Al reiniciar ambos servicios ya tendríamos listo nuestro servidor DNS:
$ sudo /etc/init.d/isc-dhcp-server restart
$ sudo /etc/init.d/bind9 restart
En el próximo tutorial instalaremos el servicio "SAMBA" con el que podremos compartir carpetas y archivos desde cualquier sistema operativo ( Windows, Linux, OSX,..).
No hay comentarios:
Publicar un comentario