Instalando un servidor DNS
Mi red crece de forma imparable. El numero de equipos asciende a 6. Además tenemos el router y el AccessPoint, lo que hace un total de 8 ips distintas. Históricamente para acceder a cualquiera de ellos he tenido que introducir su ip. Después pasé a un método mucho más elegante; editar el archivo /etc/hosts (y su respectivo fichero en windows) para hacer un enlace estático a una ip. Ésta última solución es muy sencilla y efectiva, y aunque para una red pequeña es suficiente, quise probar con algo más elegante y elaborado: Un servidor DNS.
Antes de entrar en detalles técnicos explicaré qué es lo que vamos a conseguir con todo ésto. Tengo 8 ips en el rango 192.168.1.X. Los apodos de mis equipos reciben nombres de personajes de los Simpson, por lo que la red se llamará “simpson”. Por ejemplo, el equipo con ip 192.168.1.5 tendrá el apodo “homer”. Para acceder a homer tendremos que poner “homer.simpson” como host en la aplicación que proceda. Fácil
El servidor elegido ha sido, como no, bind. Para instalarlo en mi Debian nada tan sencillo como:
aptitude install bind
Bind tiene un fichero principal llamado named.conf. Todo el fichero contiene los datos que venían por defecto, excepto la última sección:
zone "simpson" {
type master;
file "/etc/bind/db.simpson";
};
Como vemos, la configuración de la zona “simpson” está en el fichero /etc/bind/db.simpson, el cual es autoexplicativo:
$ttl 38400
@ IN SOA simpson. central.simpson. (
110905 ; Serial
86400 ; Refresh
7200 ; Retry
2592000; Expire
172800); Negativa Cache TTl
TXT "simpson"
NS central.simpson.
MX 20 central
bart IN A 192.168.1.9
central IN A 192.168.1.6
lisa IN A 192.168.1.15
homer IN A 192.168.1.5
otto IN A 192.168.1.11
abraham IN A 192.168.1.2
router IN A 192.168.1.1
wifi IN A 192.168.1.100
correo IN CNAME central
news IN CNAME central
www IN CNAME central
ftp IN CNAME central
pop IN CNAME central
maggie IN CNAME central
simpson. IN A 192.168.1.6
Hemos definido al equipo “central” como el principal del dominio. Este equipo será ahora accesible en “simpson”. El resto de los equipos son accesibles en “<nombreDelEquipo>.simpson”. También hemos creado alias para el equipo “central” (Ver CNAME).
Es el momento de decir que la mayoría de la información que hay en ese fichero no tengo del todo claro para qué sirve. Seguramente habrá formas más eficientes de hacer lo que yo he hecho, pero ésta es la que yo he usado y me ha funcionado.
Bueno, y ahora para terminar sólo nos quedan un par de cosas. Al principio del fichero named.conf, incluimos otro fichero llamado named.conf.options cuyo contenido es el siguiente:
options {
directory "/var/cache/bind";
forwarders {
195.235.113.3;
};
auth-nxdomain no; //Conform to RFC1035
};
Lo que conseguimos con ésto es que nuestro pequeño gran servidor DNS también sepa traducir las direcciones que no pertenecen a nuestro dominio. Para ello, lo que hace es realizar la petición a un servidor DNS externo (cualquiera de los que uséis). Con ésto, hemos acelerado la velocidad que emplea nuestros ordenadores en obtener la ip de un determinado host, pues ahora un solo DNS sabrá resolver todas las peticiones.
Ahora para asegurarnos de que todo se actualice:
/etc/init.d/bind restart
Y si no ha habido ningún problema, ya podemos incluir la ip de nuestro servidor DNS en los /etc/resol.conf de cada equipo.
NOTA: En los equipos Windows, este servidor DNS debe ser el primario, sino, no sabrá resolver las peticiones de nuestro dominio (Me pregunto por qué ponen entonces un secundario).