Normalmente los programas que necesitan traducir un nombre de dominio a dirección ip, usan un un programa llamado resolvedor que se encarga de obtener la dirección ip consultando tres lugares. Pero existen comandos como dig que permiten que el usuario pueda realizar consultas y ver las respuestas devueltas.
El comando dig permite hacer consultas a los servidores dns y ver que respuestas devuelve. Lo normal es que los programas
El siguiente ejemplo consulta al dns local sobre www.google.es.
dig www.google.es
y el resultado que muestra:
; <<>> DiG 9.7.0-P1 <<>> www.google.es
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14627
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 4, ADDITIONAL: 4
;; QUESTION SECTION:
;www.google.es. IN A
;; ANSWER SECTION:
www.google.es. 259371 IN CNAME www.google.com.
www.google.com. 518571 IN CNAME www.l.google.com.
www.l.google.com. 174 IN A 66.249.92.104
;; AUTHORITY SECTION:
google.com. 267372 IN NS ns2.google.com.
google.com. 267372 IN NS ns4.google.com.
google.com. 267372 IN NS ns3.google.com.
google.com. 267372 IN NS ns1.google.com.
;; ADDITIONAL SECTION:
ns4.google.com. 262838 IN A 216.239.38.10
ns2.google.com. 259370 IN A 216.239.34.10
ns3.google.com. 289834 IN A 216.239.36.10
ns1.google.com. 259370 IN A 216.239.32.10
;; Query time: 49 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Sat Nov 13 08:17:50 2010
;; MSG SIZE rcvd: 231
En el resultado se puede apreciar los registros de recurso devueltos por el servidor al preguntar por la dirección ip de www.google.es.
;; QUESTION SECTION:
;www.google.es. IN A IN A
Se esta preguntando por www.google.es. La letra A (Address) al final indica el tipo de registro (dato) que se ha pedido en este caso la dirección ip.
;; ANSWER SECTION:
www.google.es. 259371 IN CNAME www.google.com.
www.google.com. 518571 IN CNAME www.l.google.com.
www.l.google.com. 174 IN A 66.249.92.104
La primera línea de la respuesta dice que www.google.es es un alias de www.google.com. El alias lo indica CNAME (Canonical Name). La segunda, que www.google.com es un alias de www.l.google.com. Y por último que la dirección de www.l.google.com es 66.249.92.104. Un detalle a apreciar es que el la seccion QUESTION aparece el registro A sin dirección ip, por que se esta preguntando por el, y el la seccion ANSWER sale el mismo registro pero con la dirección ip completada.
;; AUTHORITY SECTION:
google.com. 267372 IN NS ns2.google.com.
google.com. 267372 IN NS ns4.google.com.
google.com. 267372 IN NS ns3.google.com.
google.com. 267372 IN NS ns1.google.com.
La sección AUTORITY indica los servidores dns que llevan la resolución de Google, los que tiene la copia original de los registros con los datos. Es informacion de dns por que los registros llevan NS (Name Server). En este caso hay cuatro y seguramente ns1.google.com sera el principal (servidor master) y los otros tres serán copias (servidor slave).
;; ADDITIONAL SECTION:
ns4.google.com. 262838 IN A 216.239.38.10
ns2.google.com. 259370 IN A 216.239.34.10
ns3.google.com. 289834 IN A 216.239.36.10
ns1.google.com. 259370 IN A 216.239.32.10
Por último, se ha incluido una sección con información extra llamada ADDITIONAL que muestra las direcciones ip de los servidores dns que aparecen en la sección anterior.
También se pueden utilizar los servidores dns para hacer resolución inversa, es decir, a partir de la dirección ip obtener el nombre de las máquinas.
dig -x 66.249.92.104
Con resultado:
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.2 <<>> -x 66.249.92.104
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26763
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;104.92.249.66.in-addr.arpa. IN PTR
;; ANSWER SECTION:
104.92.249.66.in-addr.arpa. 54016 IN PTR par03s01-in-f104.1e100.net.
;; Query time: 80 msec
;; SERVER: 192.168.90.2#53(192.168.90.2)
;; WHEN: Wed Nov 10 18:28:31 2010
;; MSG SIZE rcvd: 84
En el resultado se puede apreciar lo siguiente:
;; QUESTION SECTION:
;104.92.249.66.in-addr.arpa. IN PTR
Se ha preguntado por el registro PTR (pointer), es decir por el nombre de la maquina con dirección ip 66.249.92.104.
;; ANSWER SECTION:
104.92.249.66.in-addr.arpa. 54016 IN PTR par03s01-in-f104.1e100.net.
Y la respuesta dice que el nombre es par03s01-in-f104.1e1100.net. Básicamente el nombre que le han puesto no se corresponde con el que tiene en resolución directa. Es habitual que ocurra esto dado que la gente usa el nombre de dominio para conectarse (resolución directa) y no necesita para nada obtener los nombres a partir de la dirección ip (resolución inversa).
También se puede pedir otra información que no sea direcciones ip o nombres. Por ejemplo el servidor de intercambio de correo del dominio elcorteingles.es
dig elcorteingles.es mx
En este caso se pone el nombre del dominio, no de una máquina, y se pregunta por el tipo de registro MX (intercambiador de correo electrónico). El resultado es:
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.2 <<>> elcorteingles.es mx
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11438
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;elcorteingles.es. IN MX
;; ANSWER SECTION:
elcorteingles.es. 300 IN MX 10 smtpeci.elcorteingles.es.
elcorteingles.es. 300 IN MX 10 smtpeci2.elcorteingles.es.
;; Query time: 70 msec
;; SERVER: 192.168.90.2#53(192.168.90.2)
;; WHEN: Wed Nov 10 18:52:49 2010
;; MSG SIZE rcvd: 83
En la sección ANSWER se esta indicando que hay dos servidores de correo electrónico, uno llamado smtpeci.elcorteingles.es y otro smtpeci2.elcorteingles.es. Ademas el 10 que aparece en cada uno de los registros indica la prioridad a la hora de usar uno u otro. Primero se usa el que tenga el valor mas bajo, si este falla se pasa al siguiente con valor mas bajo y así hasta que se puede conectar con alguno de los servidores de correo. Como los dos tienen el mismo valor se usa el aparece primero y si falla se usa el que aparece segundo. Lo lógico es que las prioridades fuesen distintas, por ejemplo 1 y 2.
Existen más tipos de registro pero de momento estos son los que se necesitan para entender las consultas básicas al dns.
No hay comentarios:
Publicar un comentario