Domain Name System#
Puertos que utiliza en la capa de transporte#
$ getent services | grep domain
domain 53/udp
domain 53/tcp
![]() |
![]() |
Registros#
Registro A#
Se utiliza para asociar algún nombre de dominio con una dirección IPv4
Nombre | TTL | Clase | Tipo | Valor |
---|---|---|---|---|
www.example.com. |
3600 | IN | A | 192.0.2.1 |
Registro AAAA#
Se utiliza para asociar algún nombre de dominio con una dirección IPv6
Nombre | TTL | Clase | Tipo | Valor |
---|---|---|---|---|
www.example.com. |
3600 | IN | AAAA | 2001:db8::1 |
Registro CNAME#
Asocia un nombre de dominio con otro
Nombre | TTL | Clase | Tipo | Valor |
---|---|---|---|---|
server.example.com. |
3600 | IN | CNAME | web.example.net. |
Registro PTR#
Asocia una dirección IP con un nombre de dominio
Registro PTR para IPv4#
Utiliza la zona inversa in-addr.arpa.
y asigna los octetos en orden inverso con notación decimal
Se puede buscar la dirección IP en formato "normal" utilizando el parámetro -x
de dig
$ dig +all -x 192.0.2.100
Se puede buscar la dirección IP convertida a nombre de dominio de la zona inversa in-addr.arpa.
$ dig +all 100.2.0.192.in-addr.arpa.
Nombre | TTL | Clase | Tipo | Valor |
---|---|---|---|---|
100.2.0.192.in-addr.arpa. |
3600 | IN | PTR | alpha.example.org. |
Registro PTR para IPv6#
Utiliza la zona inversa ip6.arpa.
y asigna los nibbles en orden inverso con notación hexadecimal
Se puede buscar la dirección IP en formato "normal" utilizando el parámetro -x
de dig
$ dig +all -x 2001:db8::1
Se puede buscar la dirección IP convertida a nombre de dominio de la zona inversa ip6.arpa.
$ dig +all 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.
Nombre | TTL | Clase | Tipo | Valor |
---|---|---|---|---|
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa. |
3600 | IN | PTR | omega.example.net. |
Registros NS (glue records)#
- También conocidos como glue records, son el elemento que liga a las zonas DNS entre sí
- Lista a los servidores autoritativos para esa zona
- Sirve para realizar delegación de subzonas a otros servidores
- El servidor "anterior" utiliza este registro guarda la referencia al siguiente
- Es el concepto implícito mediante el cual funcionan las consultas DNS
Nombre | TTL | Clase | Tipo | Valor |
---|---|---|---|---|
example.com. |
3600 | IN | NS | ns1.example.com. |
example.com. |
3600 | IN | NS | ns2.example.net. |
example.com. |
3600 | IN | NS | ns3.example.org. |
Archivo /etc/resolv.conf
#
- https://linux.die.net/man/5/resolv.conf
- https://wiki.debian.org/resolv.conf
- https://www.freebsd.org/cgi/man.cgi?query=resolv.conf
- http://clfs.org/view/clfs-sysroot/arm/network/resolv.html
# cat /etc/resolv.conf
nameserver 208.67.222.222
nameserver 208.67.220.220
Archivo /etc/hosts
#
- https://linux.die.net/man/5/hosts
- ftp://ftp.iitb.ac.in/LDP/en/solrhe/chap9sec95.html
- https://support.rackspace.com/how-to/modify-your-hosts-file/
- https://www.siteground.com/kb/how_to_use_the_hosts_file/
- https://docs.acquia.com/article/using-etchosts-file-custom-domains-during-development
# cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 linux.local linux
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Búsquedas#
Búsqueda recursiva#
- El cliente le pregunta el registro al servidor
- El servidor realiza la búsqueda iterativa preguntando a otros servidores
- Regresa el mejor resultado obtenido
- Respuesta no autoritativa
![]() |
$ dig +all www.unam.mx.
; <<>> DiG 9.9.5-9+deb8u15-Debian <<>> +all www.unam.mx.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12777
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.unam.mx. IN A
;; ANSWER SECTION:
www.unam.mx. 3077 IN A 132.247.10.44
;; Query time: 44 msec
;; SERVER: 208.67.222.222#53(208.67.222.222)
;; WHEN: Tue Feb 13 16:53:11 CST 2018
;; MSG SIZE rcvd: 56
Búsqueda iterativa#
- El cliente pregunta por cada parte del registro a los servidores autoritativos para esa zona
- Requiere varias consultas a múltiples servidores
- El cliente pregunta por la raíz del espacio de nombres de DNS
- Esta zona raíz tiene el dominio
root-servers.net
- Normalmente no es necesario preguntar por la zona raíz, ya que viene precargada en los clientes de DNS
![]() |
Zona raíz#
$ dig +all NS .
; <<>> DiG 9.9.5-9+deb8u15-Debian <<>> +all NS .
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16846
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 27
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;. IN NS
;; ANSWER SECTION:
. 109132 IN NS a.root-servers.net.
. 109132 IN NS b.root-servers.net.
. 109132 IN NS c.root-servers.net.
. 109132 IN NS d.root-servers.net.
. 109132 IN NS e.root-servers.net.
. 109132 IN NS f.root-servers.net.
. 109132 IN NS g.root-servers.net.
. 109132 IN NS h.root-servers.net.
. 109132 IN NS i.root-servers.net.
. 109132 IN NS j.root-servers.net.
. 109132 IN NS k.root-servers.net.
. 109132 IN NS l.root-servers.net.
. 109132 IN NS m.root-servers.net.
;; ADDITIONAL SECTION:
a.root-servers.net. 368328 IN A 198.41.0.4
a.root-servers.net. 242234 IN AAAA 2001:503:ba3e::2:30
b.root-servers.net. 172541 IN A 199.9.14.201
b.root-servers.net. 172541 IN AAAA 2001:500:200::b
c.root-servers.net. 172541 IN A 192.33.4.12
c.root-servers.net. 172541 IN AAAA 2001:500:2::c
d.root-servers.net. 172541 IN A 199.7.91.13
d.root-servers.net. 172541 IN AAAA 2001:500:2d::d
e.root-servers.net. 172541 IN A 192.203.230.10
e.root-servers.net. 172541 IN AAAA 2001:500:a8::e
f.root-servers.net. 172541 IN A 192.5.5.241
f.root-servers.net. 172541 IN AAAA 2001:500:2f::f
g.root-servers.net. 172541 IN A 192.112.36.4
g.root-servers.net. 172541 IN AAAA 2001:500:12::d0d
h.root-servers.net. 172541 IN A 198.97.190.53
h.root-servers.net. 172541 IN AAAA 2001:500:1::53
i.root-servers.net. 172541 IN A 192.36.148.17
i.root-servers.net. 172541 IN AAAA 2001:7fe::53
j.root-servers.net. 172541 IN A 192.58.128.30
j.root-servers.net. 172541 IN AAAA 2001:503:c27::2:30
k.root-servers.net. 172541 IN A 193.0.14.129
k.root-servers.net. 172541 IN AAAA 2001:7fd::1
l.root-servers.net. 172541 IN A 199.7.83.42
l.root-servers.net. 172541 IN AAAA 2001:500:9f::42
m.root-servers.net. 172541 IN A 202.12.27.33
m.root-servers.net. 172541 IN AAAA 2001:dc3::35
;; Query time: 2 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Feb 13 16:38:02 CST 2018
;; MSG SIZE rcvd: 811
NS de mx.
#
- El cliente pregunta por la primer parte del nombre DNS a alguno de los servidores raíz
$ dig +all NS mx. a.root-servers.net.
; <<>> DiG 9.9.5-9+deb8u15-Debian <<>> +all NS mx. a.root-servers.net.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13130
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 9
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;mx. IN NS
;; ANSWER SECTION:
mx. 86400 IN NS m.mx-ns.mx.
mx. 86400 IN NS e.mx-ns.mx.
mx. 86400 IN NS x.mx-ns.mx.
mx. 86400 IN NS i.mx-ns.mx.
mx. 86400 IN NS c.mx-ns.mx.
mx. 86400 IN NS o.mx-ns.mx.
;; ADDITIONAL SECTION:
m.mx-ns.mx. 97448 IN A 200.94.176.1
m.mx-ns.mx. 110581 IN AAAA 2001:13c7:7000::1
e.mx-ns.mx. 97448 IN A 189.201.244.1
x.mx-ns.mx. 97448 IN A 201.131.252.1
i.mx-ns.mx. 97448 IN A 207.248.68.1
c.mx-ns.mx. 97448 IN A 192.100.224.1
c.mx-ns.mx. 158141 IN AAAA 2001:1258::1
o.mx-ns.mx. 97448 IN A 200.23.1.1
;; Query time: 55 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Feb 13 16:36:25 CST 2018
;; MSG SIZE rcvd: 285
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47526
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;a.root-servers.net. IN NS
;; AUTHORITY SECTION:
root-servers.net. 10800 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2018013000 14400 7200 1209600 3600000
;; Query time: 74 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Feb 13 16:36:25 CST 2018
;; MSG SIZE rcvd: 105
NS de unam.mx.
#
- El cliente pregunta por la segunda parte del dominio a alguno de los servidores NS de la zona
mx.
$ dig +all unam.mx. @i.mx-ns.mx.
; <<>> DiG 9.9.5-9+deb8u15-Debian <<>> +all unam.mx. @i.mx-ns.mx.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19690
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 5
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;unam.mx. IN A
;; AUTHORITY SECTION:
unam.mx. 86400 IN NS ns3.unam.mx.
unam.mx. 86400 IN NS ns4.unam.mx.
;; ADDITIONAL SECTION:
ns3.unam.mx. 86400 IN A 132.248.108.215
ns3.unam.mx. 86400 IN AAAA 2001:1218:100:10a:108::215
ns4.unam.mx. 86400 IN A 132.248.204.32
ns4.unam.mx. 86400 IN AAAA 2001:1218:403:203:204::32
;; Query time: 53 msec
;; SERVER: 207.248.68.1#53(207.248.68.1)
;; WHEN: Tue Feb 13 16:39:55 CST 2018
;; MSG SIZE rcvd: 160
Consulta al DNS de unam.mx.
por www
#
- El cliente pregunta por la siguiente parte del nombre de dominio al servidor autoritativo
$ dig +all www.unam.mx. @ns3.unam.mx.
; <<>> DiG 9.9.5-9+deb8u15-Debian <<>> +all www.unam.mx. @ns3.unam.mx.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48227
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 8
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.unam.mx. IN A
;; ANSWER SECTION:
www.unam.mx. 7200 IN A 132.247.10.44
;; AUTHORITY SECTION:
unam.mx. 7200 IN NS ns1.unam.mx.
unam.mx. 7200 IN NS ns4.unam.mx.
unam.mx. 7200 IN NS ns5.unam.mx.
unam.mx. 7200 IN NS ns3.unam.mx.
unam.mx. 7200 IN NS ns2.unam.mx.
;; ADDITIONAL SECTION:
ns1.unam.mx. 7200 IN A 132.248.108.221
ns2.unam.mx. 7200 IN A 132.248.204.25
ns3.unam.mx. 7200 IN A 132.248.108.215
ns3.unam.mx. 7200 IN AAAA 2001:1218:100:10a:108::215
ns4.unam.mx. 7200 IN A 132.248.204.32
ns4.unam.mx. 7200 IN AAAA 2001:1218:403:203:204::32
ns5.unam.mx. 7200 IN A 132.248.243.37
;; Query time: 67 msec
;; SERVER: 132.248.108.215#53(132.248.108.215)
;; WHEN: Tue Feb 13 16:42:33 CST 2018
;; MSG SIZE rcvd: 282