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
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
sudo aptitude install bind9
yum install bind bind-utils -y
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):
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; };
};
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; };
};
Antes de hacer un restart verificaremos si los cambios son correctos, para evitar problemas al reniciar el servidor DNS.
root@server:~# named-checkconf
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
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
Comparte este articulo en
¡Hola a todos! Vamos a sumergirnos en el fascinante mundo de Mod Security y aprender…
Ya son muchos años en el sector, muchos años pasando por varios paneles de control,…
La lista UCEPROTECT es una herramienta utilizada por muchos administradores de sistemas y proveedores de…
No es la primera vez que me encuentro con el agotamiento de la memoria en…
Descubre cómo solucionar problemas de acceso a servidores con Centos 7, Almalinux 8, Ubuntu 20.04…
Uno de los mensajes más alarmantes que puedes encontrarte es aquel que indica que tu…