Probando as DNS con DIG

DIG é un comando habitual en GNU/Linux usado pra testear consultas DNS, nos fornece información sobre o dominio e as IP asociadas a este, así cómo o server DNS que o resolve e o tempo no que tarda en tramitarse unha solicitude de resolución de nomes.

Instalar DIG

Se non dispós de dig só tes que instalar o paquete.

En Fedora 22 pódese realizar da seguinte maneira:
sudo dnf install dig

Uso de dig

Pra comprobar cómo se realiza unha resolución de nome de dominio común.

Usamos dig da seguinte maneira:
 dig www.codigoparallevar.com
Comando dig, seguido do nome de dominio a resolveres
dig www.codigoparallevar.com
 
; <<>> DiG 9.10.2-RedHat-9.10.2-1.fc22 <<>> www.codigoparallevar.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21615
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
 
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.codigoparallevar.com.      IN      A
 
;; ANSWER SECTION:
www.codigoparallevar.com. 1449  IN      A       81.4.109.222
 
;; Query time: 915 msec
;; SERVER: 213.60.205.174#53(213.60.205.174)
;; WHEN: Ven Xuñ 05 02:14:47 CEST 2015
;; MSG SIZE  rcvd: 69

Lanzala consulta a un DNS específico

Hai veces nas que podemos querer comprobar se outro DNS é máis rápido pra nos,se nos funciona ou se resolve igual que o noso actual DNS, pra elo deberemos usar dig seguido do nome de dominio e logo seguido de “@".

Un exemplo no que probo cun servidor DNS local:
$ dig www.codigoparallevar.com @10.2.0.1
 
; <<>> DiG 9.10.2-RedHat-9.10.2-1.fc22 <<>> www.codigoparallevar.com @10.2.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 26497
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
 
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.codigoparallevar.com.      IN      A
 
;; Query time: 915 msec
;; SERVER: 10.2.0.1#53(10.2.0.1)
;; WHEN: Ven Xuñ 05 02:19:43 CEST 2015
;; MSG SIZE  rcvd: 53

A dirección que vaia precedida por “@” é tomada como servidor de nomes no que facela consulta.

É a primeira consulta que lle fago, e dende un host remoto da rede local todavía non teño o servidor configurado de todo e por eso tarda cómo 915 milisegundos en realizala consulta ( probablemente consultou a dirección a outro servidor DNS ).

Mais cando a volvo a lanzar se ve cómo xa o ten gardado na caché:
$ dig www.codigoparallevar.com @10.2.0.1
 
; <<>> DiG 9.10.2-RedHat-9.10.2-1.fc22 <<>> www.codigoparallevar.com @10.2.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 5256
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
 
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.codigoparallevar.com.      IN      A
 
;; Query time: 3 msec
;; SERVER: 10.2.0.1#53(10.2.0.1)
;; WHEN: Ven Xuñ 05 02:23:03 CEST 2015
;; MSG SIZE  rcvd: 53

Cómo podemos observar a segunda (terceira, cuarta, etc… ) consulta o tempo en resolver é duns 3 milisegundos, xa que o ten gardado na caché.