Todos las direcciones de internet pese a tener nombre legibles, conocidos como FDQN (Fully Qualified Domain Name), estos deben ser traducidos a una dirección IP. Esta conversión se realiza gracias a los DNS (Domain Name System), uno de los grandes incomprendidos en el ecosistema IT, y tener un DNS Cache (caching nameserver) acelera nuestra navegación y nuestros servicios.
Usar un caché de DNS, que guarde de forma local los resultados de las búsquedas para una utilización futura, evitando la repetición de las consultas, aumentará drásticamente la velocidad de respuesta.
Contenidos
Aclaración
No se trata de un tutorial de configuración de BIND, sino de configuración de bind para actuar como caching nameserver. También deberá consultarse el man de bind y/o su documentación, ya que un error dejará sin resolución nuestros serviciosInstalación Bind
Incluimos dos variantes mas comunes del ecosistema Linux, basado uno en el gestor de paquetes .deb y el otro en el gestor de paquetes .rpm. Pueden existir variaciones, según la distribución, y se recomienda leer la documentación de su propia distribución.
Si ya esta instalado, podemos saltar a la siguiente sección
Debian/Ubuntu
sudo aptitude install bind9
CentOs/RHEL/Fedora
yum install bind bind-utils -y
Configuración bind9 con cache DNS (caching nameserver)
Aquí tenemos distintas opciones, dependiendo de cual es el uso de nuestro DNS. No es lo mismo un Caching Nameserver para una red local, que para un servidor en internet compartido o privado. Así pues comentamos las posibles opciones que deberemos incluir en el fichero de configuración, cuyo nombre también variará según la distribución que usemos.
Usamos forwarders, como los DNS públicos de Google o OpenDNS, pese a que podemos configurarlo sin ellos, por su resolución más rápida además de que cuentan con mecanismos adicionales de seguridad, que hacen confiables sus consultas. Sin embargo podríamos deshabilitarlos, y usar los Root en su lugar.
Deberemos modificar el fichero de configuración de nuestro bind, que según la distribución puede ser por ejemplo (consulte con su distribución):
- /etc/named/named.conf
- /etc/bind/named.conf.options
Caching Nameserver en area local
options { ... forwarders { // Google Public DNS 8.8.8.8; 8.8.4.4; // OpenDNS servers 208.67.222.222; 208.67.220.220; // ADSL router. Ponemos la IP de nuestro ruter o gateway de red, si es que este tiene habilitado el servicio DNS. // En su defecto ponemos los de nuestro proveedor, aunque en este caso, casi mejor deshabilitar los forwarders 192.168.1.1; }; // Security options listen-on port 53 { 127.0.0.1; 192.168.1.100; }; // 192.168.1.100 ip del equipo allow-query { 127.0.0.1; 192.168.1.0/24; }; // 192.168.1.0/24 nuestra red local allow-recursion { 127.0.0.1; 192.168.1.0/24; }; allow-transfer { none; }; auth-nxdomain no; # conform to RFC1035 // listen-on-v6 { any; }; };
Caching Nameserver servidor compartido (Cpanel, Plesk, …)
options { ... recursion no; // No permitimos la recursion allow-transfer { "none"; }; forwarders { // Google Public DNS 8.8.8.8; 8.8.4.4; // OpenDNS servers 208.67.222.222; 208.67.220.220; // ADSL router. Ponemos la IP de nuestro router o gateway de red, si es que este tiene habilitado el servicio DNS. // En su defecto ponemos los de nuestro proveedor, aunque en este caso, casi mejor deshabilitar los forwarders 192.168.1.1; }; auth-nxdomain no; # conform to RFC1035 // listen-on-v6 { any; }; };
Verificar que los cambios en el fichero de configuración son correctos
Antes de hacer un restart verificaremos si los cambios son correctos, para evitar problemas al reniciar el servidor DNS.
root@server:~# named-checkconf
Modificar nuestro archivo de resolución
Actualizar el archivo /etc/resolv.conf para que la resolución de nombres se haga a través de nuestro cache de DNS:
nameserver 127.0.0.1
Reiniciar el servicio de DNS
root@server:~# systemctl restart named # CentOS/Cpanel/RHEL root@server:~# systemctl restart bind9 # Debian/Ubunut otros sabores
Verificar el cacheo de DNS
Podemos usar nslookup o dig, la herramienta con la cual nos encontremos más a gusto. Con dig, podremos ver que la primera respuesta, es la habitual, pero la siguiente, si esta en cache es inmediata, de 0 a 5 milisegundos
dig castris.com ; <<>> DiG 9.9.4-RedHat-9.9.4-38.el7_3.1 <<>> castris.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62768 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 16 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;castris.com. IN A ;; ANSWER SECTION: castris.com. 3595 IN A 5.135.93.88 ;; AUTHORITY SECTION: com. 155020 IN NS l.gtld-servers.net. com. 155020 IN NS k.gtld-servers.net. com. 155020 IN NS b.gtld-servers.net. com. 155020 IN NS f.gtld-servers.net. com. 155020 IN NS e.gtld-servers.net. com. 155020 IN NS h.gtld-servers.net. com. 155020 IN NS a.gtld-servers.net. com. 155020 IN NS d.gtld-servers.net. com. 155020 IN NS m.gtld-servers.net. com. 155020 IN NS i.gtld-servers.net. com. 155020 IN NS c.gtld-servers.net. com. 155020 IN NS j.gtld-servers.net. com. 155020 IN NS g.gtld-servers.net. ;; ADDITIONAL SECTION: a.gtld-servers.net. 152550 IN A 192.5.6.30 a.gtld-servers.net. 152550 IN AAAA 2001:503:a83e::2:30 b.gtld-servers.net. 152550 IN A 192.33.14.30 b.gtld-servers.net. 152550 IN AAAA 2001:503:231d::2:30 c.gtld-servers.net. 152550 IN A 192.26.92.30 d.gtld-servers.net. 152550 IN A 192.31.80.30 e.gtld-servers.net. 152550 IN A 192.12.94.30 f.gtld-servers.net. 152550 IN A 192.35.51.30 g.gtld-servers.net. 152550 IN A 192.42.93.30 h.gtld-servers.net. 152550 IN A 192.54.112.30 i.gtld-servers.net. 152550 IN A 192.43.172.30 j.gtld-servers.net. 152550 IN A 192.48.79.30 k.gtld-servers.net. 152550 IN A 192.52.178.30 l.gtld-servers.net. 152550 IN A 192.41.162.30 m.gtld-servers.net. 152550 IN A 192.55.83.30 ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: sáb ene 28 19:51:20 CET 2017 ;; MSG SIZE rcvd: 545
Imagen Designed by Freepik y retocada por Abdelkarim Mateos
Comparte este artículo
Artículo Antiguo
Este artículo tiene más de 2 años. Es muy probable que su contenido este anticuado, aunque pueda ser de utilidad, es conveniente que revises otras informaciones al respecto. Si lo encuentras útil o crees que puede ser actualizado, deja tu comentario con la actualización para poder editarlo y que pueda ser útil a los demás.Comparte este articulo en