systemadmin.es > DNS > Configuración de los resolvers mediante /etc/resolv.conf

Configuración de los resolvers mediante /etc/resolv.conf

Mediante el fichero /etc/resolv.conf podemos indicar los resolvers DNS que va a utilizar un determinado equipo. Hoy veremos como funciona por defecto con un conjunto de resolvers y como configurarlo en round-robin.

Suponiendo el siguiente fichero /etc/resolv.conf

# cat /etc/resolv.conf
nameserver 10.10.10.1
nameserver 10.10.10.50

Podemos probar de realizar un conjunto de resoluciones con un wget:

$ wget barrapunto.com slashdot.com www.google.com systemadmin.es www.securitybydefault.com -O /dev/null

Y mediante una captura con tcpdump veremos que solo se esta utilizando el primer resolver para todas las resoluciones:

07:27:59.854773 IP 172.25.10.10.12484 > 10.10.10.1.53:  3117+ A? slashdot.com. (30)
07:27:59.854870 IP 172.25.10.10.1346 > 10.10.10.1.53:  558+ A? barrapunto.com. (32)
07:27:59.855754 IP 172.25.10.10.9763 > 10.10.10.1.53:  11000+ A? www.google.com. (32)
07:27:59.856602 IP 172.25.10.10.5931 > 10.10.10.1.53:  16780+ A? systemadmin.es. (32)
07:27:59.856661 IP 172.25.10.10.10162 > 10.10.10.1.53:  32440+ A? www.securitybydefault.com. (43)

En el caso que el primero no responda se preguntará al segundo resolver, podemos apreciarlo en la siguiente captura:

07:32:11.312342 IP 172.25.10.10.28585 > 10.10.10.1.53:  20172+ A? systemadmin.es. (32)
07:32:11.312427 IP 172.25.10.10.1098 > 10.10.10.1.53:  52733+ A? barrapunto.com. (32)
07:32:11.312585 IP 172.25.10.10.1824 > 10.10.10.1.53:  445+ A? www.google.com. (32)
07:32:11.313421 IP 172.25.10.10.50970 > 10.10.10.1.53:  64086+ A? slashdot.com. (30)
07:32:11.314551 IP 172.25.10.10.18814 > 10.10.10.1.53:  39776+ A? www.securitybydefault.com. (43)
07:32:11.316845 IP 172.25.10.10.18025 > 10.10.10.50.53:  20172+ A? systemadmin.es. (32)
07:32:11.316934 IP 172.25.10.10.16862 > 10.10.10.50.53:  52733+ A? barrapunto.com. (32)
07:32:11.317004 IP 172.25.10.10.12101 > 10.10.10.50.53:  445+ A? www.google.com. (32)
07:32:11.317070 IP 172.25.10.10.27958 > 10.10.10.50.53:  64086+ A? slashdot.com. (30)
07:32:11.318769 IP 172.25.10.10.37662 > 10.10.10.50.53:  39776+ A? www.securitybydefault.com. (43)

Añadiendo la opción rotate mediante la siguiente línea en el /etc/resolv.conf conseguiremos que los resolvers se escojan round-robin, por lo que repartiremos la carga de resolver entre todos los resolvers disponibles y no solo el primero:

options rotate

Podemos apreciarlo en la siguiente captura con el mismo wget de antes:

07:37:42.016375 IP 172.25.10.10.40286 > 10.10.10.1.53:  1879+ AAAA? barrapunto.com. (32)
07:37:42.019970 IP 172.25.10.10.29935 > 10.10.10.50.53:  55782+ AAAA? barrapunto.com. (32)
07:37:42.023877 IP 172.25.10.10.35834 > 10.10.10.1.53:  33748+ A? barrapunto.com. (32)
07:37:42.344740 IP 172.25.10.10.62013 > 10.10.10.50.53:  13438+ AAAA? slashdot.com. (30)
07:37:42.349900 IP 172.25.10.10.19915 > 10.10.10.1.53:  43548+ AAAA? slashdot.com. (30)
07:37:42.353891 IP 172.25.10.10.56506 > 10.10.10.50.53:  41736+ A? slashdot.com. (30)
07:37:42.636144 IP 172.25.10.10.51700 > 10.10.10.1.53:  20405+ AAAA? slashdot.org. (30)
07:37:42.641787 IP 172.25.10.10.38818 > 10.10.10.50.53:  42958+ AAAA? slashdot.org. (30)
07:37:42.647787 IP 172.25.10.10.19093 > 10.10.10.1.53:  16082+ A? slashdot.org. (30)
07:37:43.770590 IP 172.25.10.10.62808 > 10.10.10.50.53:  55668+ AAAA? www.google.com. (32)
07:37:43.773929 IP 172.25.10.10.22766 > 10.10.10.1.53:  28565+ A? www.google.com. (32)
07:37:43.882333 IP 172.25.10.10.26758 > 10.10.10.50.53:  24896+ AAAA? www.google.es. (31)
07:37:43.885939 IP 172.25.10.10.33413 > 10.10.10.1.53:  4747+ A? www.google.es. (31)
07:37:43.994565 IP 172.25.10.10.30749 > 10.10.10.50.53:  16844+ AAAA? systemadmin.es. (32)
07:37:43.998228 IP 172.25.10.10.10737 > 10.10.10.1.53:  52966+ AAAA? systemadmin.es. (32)
07:37:44.001916 IP 172.25.10.10.29251 > 10.10.10.50.53:  2750+ A? systemadmin.es. (32)
07:37:44.726485 IP 172.25.10.10.9705 > 10.10.10.1.53:  56742+ AAAA? www.securitybydefault.com. (43)
07:37:44.729963 IP 172.25.10.10.21520 > 10.10.10.50.53:  21846+ A? www.securitybydefault.com. (43)

Esto se aplica por proceso, por lo que si por ejemplo usamos un for para realizar varias resoluciones con un ping, por ejemplo:

for i in barrapunto.com slashdot.com www.google.com systemadmin.es www.securitybydefault.com; do ping -c1 $i; done

Veremos que solo usa el primer resolver, ya que quien realiza la resolución es el comando ping y muere inmediatamente, por lo que de nuevo usa el primer resolver al siguiente loop.

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>