8.8 Ejemplos de consultas

8.8.1 ¿Cuáles son mis servidores DNS?

A la hora de determinar el servidor DNS que estamos utilizando existen dos alternativas:

  1. 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.

  2. 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.

____________________________________________________________

8.8.2 ¿Cuál es la dirección IP del host ...?

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).

_____________________

8.8.3 ¿Cuáles son los servidores de nombres del dominio ...?

# 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.

_______________________________________________________________________________

8.8.4 ¿Cómo interrogamos a otro servidor DNS?

# 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).

_______________________________________________________________________

8.8.5 Averiguando la jerarquía de servidores DNS

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.

________________________________________________________________

8.8.6 Resolución inversa

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.

_____________________________________________________________