A la hora de determinar el servidor DNS que estamos utilizando existen dos
alternativas:
- Acceder a esta información en los ficheros de configuración correspondientes. Por
ejemplo, en Linux hay que leer el fichero
/etc/resolv.conf
Evidentemente, esta opción sólo funciona bajo Linux.
En este fichero aparecen al menos la IP de un servidor DNS. Al primero de
ellos se le llama servidor DNS primario y debería ser un servidor DNS
autorizado para el dominio en el que nos hayamos o un servidor DNS réplica de
este, por motivos de eficiencia. El resto de direcciones IP son los llamados
servidores secundarios porque, en el caso de fallar el primerio, se haría uso de
estos.
- Utilizar programas para chequear el funcionamiento del DNS como pueden ser
nslookup y dig. nslookup funciona tanto desde la línea de comandos como de
forma interactiva. dig sólo lo hace desde la línea de comandos. Además, téngase
en cuenta que normalmente no se pregunta por el servidor de nombres autorizado
de un host, sino por el servidor de nombres autorizado de un dominio (al que
pertenece el host). Finalmente indicar que el resultado de la consulta no depende
del host, ni de que éste pertenezca al dominio por el que estamos preguntando. El
resultado sólo depende del dominio por el que preguntamos. Veamos algunos
ejemplos:
# Preguntamos a nuestro servidor DNS primario (o en su defecto, a un secundario) por el dominio "ual.es"
alumno$ dig ual.es
; <<>> DiG 9.2.4 <<>> ual.es
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65305
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;ual.es. IN A
;; AUTHORITY SECTION:
ual.es. 172800 IN SOA filabres.ual.es.\
postmaster.filabres.ual.es. 2006111502 16400 7200 2592000 172800
;; Query time: 0 msec
;; SERVER: 150.214.156.2#53(150.214.156.2)
;; WHEN: Thu Nov 30 10:26:33 2006
;; MSG SIZE rcvd: 80
En esta consulta, entre mucha otra información dig indica que el servior DNS
autorizado para el dominio ual.es es filabres.ual.es.
_______________
Taller 8.3: Recree la(s) consulta(s) anterior(es).
_________________________________
Taller 8.4: Averigue el (o los) servidor(es) de nombres autorizado(s)
para el dominio google.es.
____________________________________________________________
- ¿Qué comando ha ejecutado para determinar el (o los) servidor(es) de nombres
autorizado(s) para el dominio google.es?
En la siguiente consulta preguntamos a nuestro servidores DNS primario (o en su defecto,
secundario) por la dirección IP del host www.google.es:
# Preguntamos a nuestro servidor DNS por la IP de "www.google.es"
alumno$ dig www.google.es
; <<>> DiG 9.2.4 <<>> www.google.es
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46300
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 6, ADDITIONAL: 6
;; QUESTION SECTION:
;www.google.es. IN A
;; ANSWER SECTION:
www.google.es. 167616 IN CNAME www.google.com.
www.google.com. 425476 IN CNAME www.l.google.com.
www.l.google.com. 201 IN A 209.85.129.104
www.l.google.com. 201 IN A 209.85.129.99
www.l.google.com. 201 IN A 209.85.129.147
;; AUTHORITY SECTION:
l.google.com. 81028 IN NS a.l.google.com.
l.google.com. 81028 IN NS b.l.google.com.
l.google.com. 81028 IN NS c.l.google.com.
l.google.com. 81028 IN NS d.l.google.com.
l.google.com. 81028 IN NS e.l.google.com.
l.google.com. 81028 IN NS g.l.google.com.
;; ADDITIONAL SECTION:
a.l.google.com. 23928 IN A 216.239.53.9
b.l.google.com. 23928 IN A 64.233.179.9
c.l.google.com. 14956 IN A 64.233.161.9
d.l.google.com. 81028 IN A 64.233.183.9
e.l.google.com. 14956 IN A 66.102.11.9
g.l.google.com. 21711 IN A 64.233.167.9
;; Query time: 12 msec
;; SERVER: 150.214.156.2#53(150.214.156.2)
;; WHEN: Thu Dec 21 10:39:27 2006
;; MSG SIZE rcvd: 319
Esta respuesta es un poco complicada por dos motivos: (1) www.google.es y
www.google.com son la misma máquina cuando hacemos la consulta a nuestro servidor
de nombres y (2), el servidor Web está replicado tres veces en las direcciones IP
209.85.129.104, 209.85.129.147 y 209.85.129.99. Esto puede comprobarse si
preguntamos por www.google.com:
# Preguntamos a nuestro servidor DNS por la IP de "www.google.com"
alumno$ dig www.google.com
; <<>> DiG 9.2.4 <<>> www.google.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20533
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 6, ADDITIONAL: 6
;; QUESTION SECTION:
;www.google.com. IN A
;; ANSWER SECTION:
www.google.com. 420014 IN CNAME www.l.google.com.
www.l.google.com. 207 IN A 209.85.129.104
www.l.google.com. 207 IN A 209.85.129.99
www.l.google.com. 207 IN A 209.85.129.147
;; AUTHORITY SECTION:
l.google.com. 75566 IN NS a.l.google.com.
l.google.com. 75566 IN NS b.l.google.com.
l.google.com. 75566 IN NS c.l.google.com.
l.google.com. 75566 IN NS d.l.google.com.
l.google.com. 75566 IN NS e.l.google.com.
l.google.com. 75566 IN NS g.l.google.com.
;; ADDITIONAL SECTION:
a.l.google.com. 18466 IN A 216.239.53.9
b.l.google.com. 18466 IN A 64.233.179.9
c.l.google.com. 9494 IN A 64.233.161.9
d.l.google.com. 75566 IN A 64.233.183.9
e.l.google.com. 9494 IN A 66.102.11.9
g.l.google.com. 16249 IN A 64.233.167.9
;; Query time: 1 msec
;; SERVER: 150.214.156.2#53(150.214.156.2)
;; WHEN: Thu Dec 21 12:10:30 2006
;; MSG SIZE rcvd: 292
Además, como puede verse www.google.com es un alias de www.l.google.com.__________________________________________________________________
Taller 8.5: Recree la(s) consulta(s) anterior(es).
_____________________
# Preguntamos por el dominio "mit.edu"
alumno$ dig mit.edu
; <<>> DiG 9.2.4 <<>> mit.edu
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10644
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3
;; QUESTION SECTION:
;mit.edu. IN A
;; ANSWER SECTION:
mit.edu. 60 IN A 18.7.22.69
;; AUTHORITY SECTION:
mit.edu. 14655 IN NS BITSY.mit.edu.
mit.edu. 14655 IN NS STRAWB.mit.edu.
mit.edu. 14655 IN NS W20NS.mit.edu.
;; ADDITIONAL SECTION:
BITSY.mit.edu. 14655 IN A 18.72.0.3
STRAWB.mit.edu. 8735 IN A 18.71.0.151
W20NS.mit.edu. 8735 IN A 18.70.0.160
;; Query time: 158 msec
;; SERVER: 150.214.156.2#53(150.214.156.2)
;; WHEN: Thu Dec 21 12:20:46 2006
;; MSG SIZE rcvd: 157
Podemos ver que existen tres servidores de nombres autorizados para el dominio
“bit.edu”.__________________________________________________________
Taller 8.6: Recree la(s) consulta(s) anterior(es).
_________________________________
Taller 8.7: Encuentre los servidores nombres autorizados de un dominio
que conozca.
_______________________________________________________________________________
- ¿A qué servidor DNS ha consultado?
# Preguntamos al servidor DNS "bitsy.mit.edu" por el host "www.google.es"
alumno$ dig @bitsy.mit.edu www.google.es
; <<>> DiG 9.2.4 <<>> @bitsy.mit.edu www.google.es
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7735
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 7, ADDITIONAL: 7
;; QUESTION SECTION:
;www.google.es. IN A
;; ANSWER SECTION:
www.google.es. 304614 IN CNAME www.google.com.
www.google.com. 557306 IN CNAME www.l.google.com.
www.l.google.com. 174 IN A 64.233.161.104
www.l.google.com. 174 IN A 64.233.161.99
www.l.google.com. 174 IN A 64.233.161.147
;; AUTHORITY SECTION:
l.google.com. 72376 IN NS c.l.google.com.
l.google.com. 72376 IN NS f.l.google.com.
l.google.com. 72376 IN NS d.l.google.com.
l.google.com. 72376 IN NS b.l.google.com.
l.google.com. 72376 IN NS e.l.google.com.
l.google.com. 72376 IN NS g.l.google.com.
l.google.com. 72376 IN NS a.l.google.com.
;; ADDITIONAL SECTION:
c.l.google.com. 40415 IN A 64.233.161.9
f.l.google.com. 72376 IN A 72.14.235.9
d.l.google.com. 38903 IN A 64.233.183.9
b.l.google.com. 38903 IN A 64.233.179.9
e.l.google.com. 38903 IN A 66.102.11.9
g.l.google.com. 44316 IN A 64.233.167.9
a.l.google.com. 39459 IN A 216.239.53.9
;; Query time: 231 msec
;; SERVER: 18.72.0.3#53(bitsy.mit.edu)
;; WHEN: Thu Dec 21 12:15:01 2006
;; MSG SIZE rcvd: 351
Ahora preguntamos al servidor DNS “bitsy.mit.edu” por el host “www.google.com”:
# Preguntamos al servidor DNS "bitsy.mit.edu" por el host "www.google.com"
alumno$ dig @bitsy.mit.edu www.google.com
; <<>> DiG 9.2.4 <<>> @bitsy.mit.edu www.google.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29537
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 7, ADDITIONAL: 7
;; QUESTION SECTION:
;www.google.com. IN A
;; ANSWER SECTION:
www.google.com. 557281 IN CNAME www.l.google.com.
www.l.google.com. 149 IN A 64.233.161.99
www.l.google.com. 149 IN A 64.233.161.147
www.l.google.com. 149 IN A 64.233.161.104
;; AUTHORITY SECTION:
l.google.com. 72351 IN NS c.l.google.com.
l.google.com. 72351 IN NS f.l.google.com.
l.google.com. 72351 IN NS d.l.google.com.
l.google.com. 72351 IN NS b.l.google.com.
l.google.com. 72351 IN NS e.l.google.com.
l.google.com. 72351 IN NS g.l.google.com.
l.google.com. 72351 IN NS a.l.google.com.
;; ADDITIONAL SECTION:
c.l.google.com. 40390 IN A 64.233.161.9
f.l.google.com. 72351 IN A 72.14.235.9
d.l.google.com. 38878 IN A 64.233.183.9
b.l.google.com. 38878 IN A 64.233.179.9
e.l.google.com. 38878 IN A 66.102.11.9
g.l.google.com. 44291 IN A 64.233.167.9
a.l.google.com. 39434 IN A 216.239.53.9
;; Query time: 156 msec
;; SERVER: 18.72.0.3#53(bitsy.mit.edu)
;; WHEN: Thu Dec 21 12:15:25 2006
;; MSG SIZE rcvd: 324
__________________________________________________________________
Taller 8.8: Recree la(s) consulta(s) anterior(es).
_____________________ Como podemos ver, ambas respuestas son idénticas (como en el caso de preguntar a
filabres), pero diferentes comparadas con las que devuelve nuestro servidor de
nombres. Esto significa que, si nos conectamos a www.google.es desde el MIT, veremos
la versión americana de google.
Finalmente, nótese que el servidor DNS no devuelve las direcciones IP de las réplicas
del servidor Web siempre en el mismo orden. Esto se utiliza para distribuir la
carga.________________________________________________________________________________________________
Taller 8.9: Encuentre los servidores nombres autorizados para el
dominio “ual.es” interrogando al servidor DNS “bitsy.mit.edu” (o a
otro que conozca).
_______________________________________________________________________
- ¿Qué comando y con qué argumento ha usado?
- Si ejecuta el comando dig @filabres.ual.es ual.es, ¿está usando el
servidor DNS especificado en “/etc/resolv.conf”?
Como hemos comentado anteriormente, cuando consultamos a un servidor DNS sobre
una dirección IP para la cual él no es el servidor DNS autorizado lo más frecuente
es que éste tenga que consultar a otro servidor DNS (consulta recursiva) o
nos indique a qué otro servidor DNS podemos preguntar nosotros (consulta
iterativa).
Activando el flag +trace de dig podemos conocer qué servidores DNS se han
consultado. En el siguiente ejemplo preguntamos a bitsy.mit.edu por la dirección IP
del host gogh.ace.ual.es:
alumno$ dig +trace @bitsy.mit.edu gogh.ace.ual.es
; <<>> DiG 9.2.4 <<>> +trace @bitsy.mit.edu gogh.ace.ual.es
;; global options: printcmd
. 488373 IN NS a.root-servers.net.
. 488373 IN NS h.root-servers.net.
. 488373 IN NS c.root-servers.net.
. 488373 IN NS g.root-servers.net.
. 488373 IN NS f.root-servers.net.
. 488373 IN NS b.root-servers.net.
. 488373 IN NS j.root-servers.net.
. 488373 IN NS k.root-servers.net.
. 488373 IN NS l.root-servers.net.
. 488373 IN NS m.root-servers.net.
. 488373 IN NS i.root-servers.net.
. 488373 IN NS e.root-servers.net.
. 488373 IN NS d.root-servers.net.
;; Received 436 bytes from 18.72.0.3#53(bitsy.mit.edu) in 158 ms
es. 172800 IN NS NS3.NIC.FR.
es. 172800 IN NS SUN.REDIRIS.es.
es. 172800 IN NS SUNIC.SUNET.SE.
es. 172800 IN NS NS.UU.NET.
es. 172800 IN NS NS1.NIC.es.
es. 172800 IN NS AUNIC.AUNIC.NET.
es. 172800 IN NS NS1.CESCA.es.
es. 172800 IN NS NS2.NIC.es.
;; Received 352 bytes from 198.41.0.4#53(a.root-servers.net) in 134 ms
ual.es. 7200 IN NS chico.rediris.es.
ual.es. 7200 IN NS alboran.ual.es.
ual.es. 7200 IN NS filabres.ual.es.
ual.es. 7200 IN NS sun.rediris.es.
ual.es. 7200 IN NS dns1.cica.es.
ual.es. 7200 IN NS dns2.cica.es.
;; Received 263 bytes from 192.134.0.49#53(NS3.NIC.FR) in 49 ms
ace.ual.es. 172800 IN NS filabres.ual.es.
ace.ual.es. 172800 IN NS alboran.ual.es.
;; Received 110 bytes from 130.206.1.3#53(chico.rediris.es) in 37 ms
gogh.ace.ual.es. 172800 IN A 193.147.118.57
ace.ual.es. 172800 IN NS filabres.ual.es.
ace.ual.es. 172800 IN NS alboran.ual.es.
;; Received 126 bytes from 150.214.156.2#53(filabres.ual.es) in 0 ms
__________________________________________________________________
Taller 8.10: Recree la(s) consulta(s) anterior(es).
_______________________________
Como podemos ver, bitsy.mit.edu consulta (en la versión recursiva) al servidor de
nombres raíz a.root-servers.net, que consulta a NS3.NIC.FR, que consulta a
chico.rediris.es, que consulta a filabres.ual.es._________________________________
Taller 8.11: Determine qué servidor(es) DNS de nivel más bajo tienen
en común los servidores DNS de la Universidad de Almería y los de la
Universidad de Córdoba.
________________________________________________________________
- ¿Qué comando(s) permite(n) encontrar qué servidor(es) DNS de nivel más
bajo tienen en común los servidores DNS de la Universidad de Almería y los
de la Universidad de Córdoba? ¿Cuáles son dichos servidores?
Finalmente, también podemos interrogar al servidor DNS por el nombre de un host a
partir de su dirección IP:
# Preguntamos al servidor DNS por el nombre del host que tiene la IP
# 193.147.118.57
alumno$ dig -x 193.147.118.57
; <<>> DiG 9.2.4 <<>> -x 193.147.118.57
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44233
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 6, ADDITIONAL: 7
;; QUESTION SECTION:
;57.118.147.193.in-addr.arpa. IN PTR
;; ANSWER SECTION:
57.118.147.193.in-addr.arpa. 172800 IN PTR gogh.ace.ual.es.
;; AUTHORITY SECTION:
118.147.193.in-addr.arpa. 172800 IN NS filabres.ual.es.
118.147.193.in-addr.arpa. 172800 IN NS alboran.ual.es.
118.147.193.in-addr.arpa. 172800 IN NS dns1.cica.es.
118.147.193.in-addr.arpa. 172800 IN NS dns2.cica.es.
118.147.193.in-addr.arpa. 172800 IN NS sun.rediris.es.
118.147.193.in-addr.arpa. 172800 IN NS chico.rediris.es.
;; ADDITIONAL SECTION:
filabres.ual.es. 172800 IN A 150.214.156.2
alboran.ual.es. 172800 IN A 150.214.156.32
dns1.cica.es. 163357 IN A 150.214.5.83
dns2.cica.es. 3265 IN A 150.214.4.35
sun.rediris.es. 15046 IN A 130.206.1.2
chico.rediris.es. 15295 IN A 130.206.1.3
dns2.cica.es. 127925 IN AAAA 2001:720:c10:9::4
;; Query time: 1 msec
;; SERVER: 150.214.156.2#53(150.214.156.2)
;; WHEN: Thu Dec 21 13:19:57 2006
;; MSG SIZE rcvd: 332
Como podemos ver, el host es gogh.ace.ual.es.__________________________
Taller 8.12: Recree la(s) consulta(s) anterior(es).
__________________________________________________________________
Taller 8.13: Existen servidores Web que prestan este mismo servicio.
Ejemplos:
http://remote.12dt.com/
http://www.zoneedit.com/lookup.html
Utilice algunas de estas páginas Web para comprobar que el resultado
coincide con el que devuelve dig para una determinada consulta.
_____________________________________________________________