Está en la página 1de 37

Unidad 11 DNS (Domain Name System)

Objetivos
Describir el concepto y terminologa de nombres de dominio Configurar un servidor de nombres master y esclavo, y un cliente DNS

Domain Name System


RFC 1034 y 1035 Sistema que permite la bsqueda en una base de datos con esquema de rbol
Nombra un tem de informacin especfica tal como una direccin IP que pertenece a un nodo en el sistema DNS El nombre del nodo es especificado como Fully Qualified Domain Name (FQDN)

Jerrquico
Dominio root: . (punto) Top Level Domains (TLDs)
Genricos (gTLDs) como com, org, net Cdigo de pas (ccTLDs) como nl, au, uk, ec, cl Subdominios

Domain Name (FQDN)

Descentralizado
Cada dominio implementa sus propias tablas y servidores Cada dominio puede hacer su propia delegacin de subdominio

Ejemplo de jerarqua DNS

Resource Records
La informacin (por ejemplo una direccin IP) es asociada con un nodo usando Resource Records Los RR identifican el origen de la informacin que est almacenada Registros comunes para hosts:
A (Address): La direccin IP del nodo PTR (Pointer): El hostname del nodo CNAME (Common Name): El nodo para el cual este es un alias HINFO (Hostinfo): Informacin acerca de este nodo

Registros comunes para dominios:


NS (Name Server): El servidor de nombres del nodo MX (Mail Exchanger): El servidor de correo del nodo SOA (Start of Authority): Informacin del servidor autorizado del nodo

Ejemplo de Resource Records

Bsquedas DNS (DNS lookups)


pc387# host www.exaple.com

4 5

6 7

A: 200.25.205.20

Reverse DNS Lookups


Bsquedas Direccin IP a hostname

PTR pc387.will.example.com A 200.25.205.21

Servidores de Nombres
Master nameservers
Son autorizados para un dominio Pueden iniciar transferencias de zona a servidores de nombre esclavos Da servicio a todas las peticiones cliente Bsquedas en cach para otros dominios

Slave nameservers
Son tambin autorizados para un dominio Recuperan informacin de un master nameserver en una transferencia de zona Sirve a todas las peticiones cliente Bsquedas en cach para otros dominios

Caching-Only nameservers
No tiene informacin para un dominio Sirve a todas las peticiones cliente Bsquedas en cach para todos los dominios (pero no son autorizados)

Escenario Estructura de Nombres de Dominio


com

example

sys1 Master Name Server

9.19.98.1
sys6 Slave Name Server

sys99.example.com

sys4

9.19.98.2
sys2

9.19.98.3
sys3

9.19.98.4 9.19.98.4
sys4e

9.19.98.6

9.19.98.5
sys5

Configuracin del Servidor de Nombres Master


Crear un archivo de control named Crear un archivo de zona de nombre Crear archivos de zona IP Crear un archivo de zona IP local Crear un archivo de cach Iniciar el demonio named

Archivo de control del servidor de nombres Master


# cat /etc/named.conf options { directory "/var/named"; }; zone "example.com" IN { type master; file "named.example.com"; }; zone 98.19.9.in-addr.arpa" IN { type master; file "named.9.19.98"; }; zone 99.19.9.in-addr.arpa" IN { type master; file "named.9.19.99"; }; zone "localhost" IN { type master; file "localhost.zone"; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; }; zone "." IN { type hint; file "named.ca"; };

Sintaxis de un archivo de zona named

Archivo de Zona Name


# cat /var/named/named.example.com ;NAME TTL ; Default TTL $TTL 86400 @ CLASS TYPE RDATA IN SOA sys1.example.com. root.sys1.example.com. 2009060701 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum TTL sys1.example.com. sys6.example.com. 9.19.98.1 9.19.98.2 9.19.98.3 9.19.98.4 9.19.98.4 9.19.98.5 9.19.98.6 (

IN IN sys1 sys2 sys3 sys4 sys4e sys5 sys6 IN IN IN IN IN IN IN

NS NS A A A A A A A

3600

Archivo de Zona IP
# cat /var/named/named.9.19.98 ;NAME TTL ; Default TTL $TTL 86400 @ CLASS TYPE RDATA IN SOA sys1.example.com. root.sys1.example.com. 2009060701 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum TTL sys1.example.com. sys6.example.com. sys1.example.com. sys2.example.com. sys3.example.com. sys4.example.com. (

IN IN 1 2 3 4 IN IN IN IN

NS NS PTR PTR PTR PTR

3600

Archivos de Zona Locales (1)


# cat /var/named/named.localhost ;NAME TTL ; Default TTL $TTL 86400 @ CLASS TYPE RDATA

IN

SOA

IN IN 1 IN

NS NS PTR

sys1.example.com. root.sys1.example.com. 2009060701 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum TTL sys1.example.com. sys6.example.com. localhost.

Archivos de Zona Locales (2)


# cat /var/named/named.127.0.0 ;NAME TTL ; Default TTL $TTL 86400 @ CLASS TYPE RDATA

IN

SOA

IN IN @ IN

NS NS A

sys1.example.com. root.sys1.example.com. 2009060701 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum TTL sys1.example.com. sys6.example.com. 127.0.0.1

Archivos de Cach
# cat /var/named/named.ca ;NAME . sys99.example.com. TTL CLASS 9999999 IN 9999999 IN TYPE NS A RDATA sys99.example.com. 9.19.93.99

O
# cat /var/named/named.ca ;NAME . a.root-servers.net. . b.root-servers.net. . c.root-servers.net. ; y as sucesivamente TTL 3600000 3600000 3600000 3600000 3600000 3600000 CLASS IN IN IN IN IN IN TYPE NS A NS A NS A RDATA a.root-servers.net. 198.41.0.4 b.root-servers.net. 128.9.0.107 c.root-servers.net. 192.33.4.12

Pasos Finales de configuracin de Servidor de Nombres Master


Asegurarse de que el hostname es el FQDN
# hostname

Configurar el hostname
# vi /etc/sysconfig/network

Editar /etc/resolv.conf
# vi /etc/resolv.conf domain example.com nameserver 208.67.222.222 nameserver 208.67.220.220

Iniciar named
# service named start

Pasos para agregar un host al dominio


Actualizar el archivo de zona de nombre
Agregar un registro A de entrada de host Agregar cualquier registro/s opcional como CNAME Incrementar el valor serial en el registro SOA

Actualizar el archivo de zona IP


Agregar un registro PTR de entrada de direccin IP para cada interfaz Incrementar el valor serial en el registro SOA

Hacer un refresh del demonio named Revisar servidores de nombre esclavos

Configuracin de un servidor de nombre esclavo


Crear el archivo de control named Crear el archivo de zona IP local Crear el archivo de cach Iniciar el demonio named

Archivos de Control named del esclavo


# cat /etc/named.conf options { directory "/var/named"; }; zone "example.com" IN { type slave; file "named.example.com.bak"; masters {9.19.98.1;}; }; zone 98.19.9.in-addr.arpa" IN { type master; file "named.9.19.98.bak"; masters {9.19.98.1;}; }; zone 99.19.9.in-addr.arpa" IN { type master; file "named.9.19.99.bak"; masters {9.19.98.1;}; }; zone "localhost" IN { type master; file "localhost.zone"; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; }; zone "." IN { type hint; file "named.ca"; };

Archivos de Zona Locales (1)


# cat /var/named/named.localhost ;NAME TTL ; Default TTL $TTL 86400 @ CLASS TYPE RDATA

IN

SOA

IN IN 1 IN

NS NS PTR

sys1.example.com. root.sys1.example.com. 2009060701 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum TTL sys1.example.com. sys6.example.com. localhost.

Archivos de Zona Locales (2)


# cat /var/named/named.127.0.0 ;NAME TTL ; Default TTL $TTL 86400 @ CLASS TYPE RDATA

IN

SOA

IN IN @ IN

NS NS A

sys1.example.com. root.sys1.example.com. 2009060701 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum TTL sys1.example.com. sys6.example.com. 127.0.0.1

Archivos de Cach
# cat /var/named/named.ca ;NAME . sys99.example.com. TTL CLASS 9999999 IN 9999999 IN TYPE NS A RDATA sys99.example.com. 9.19.93.99

O
# cat /var/named/named.ca ;NAME . a.root-servers.net. . b.root-servers.net. . c.root-servers.net. ; y as sucesivamente TTL 3600000 3600000 3600000 3600000 3600000 3600000 CLASS IN IN IN IN IN IN TYPE NS A NS A NS A RDATA a.root-servers.net. 198.41.0.4 b.root-servers.net. 128.9.0.107 c.root-servers.net. 192.33.4.12

Pasos finales para la configuracin de servidor de nombre esclavo


Asegurarse de que el hostname es el FQDN # hostname Configurar el hostname # vi /etc/sysconfig/network Editar /etc/resolv.conf # vi /etc/resolv.conf domain example.com nameserver 9.19.99.6 nameserver 9.19.98.1 Iniciar named # service named start

Nameservers Caching-Only
til si se necesita ms servidores DNS pero se desea evitar el overhead de descargar informacin de zona a servidores secundarios.

Manejando el nameserver
El manejo del demonio servidor de nombres se realiza a travs de la red con el utilitario rndc Necesita configurar claves de autenticacin primero
En /etc/named.conf En /etc/rndc.conf

Generar llaves con rndc-confgen


La mayora de distribuciones configuran las llaves rndc durante la instalacin

Cuando est configurado, use rndc para:


Recargar los archivos de configuracin y la informacin de zona Escribir las estadsticas de servidor a archivos de estadsticas Descargar la base de datos activa Detener el servidor Recuperar el status del servidor Cambiar el nivel de depuracin Liberar el cach de los servidores

Ejecucin enjaulada del servidor de nombres (chroot jail)


La ejecucin del demonio en modo chroot jail es una medida de seguridad
Cuando se inicia con la opcin -t, el demonio ejecuta la llamada del sistema chroot() para hacer cd en un directorio que ser la raz del filesystem No puede acceder a ningn archivo fuera de ese directorio nunca ms

Necesita una configuracin cuidadosa:


Todos los archivos /dev, libreras /lib, archivos de configuracin y dems deben ser copiados al directorio chroot jail

Fedora/CentOS configura una jaula para BIND (/var/named/chroot) si el RPM bind-chroot est instalado

Configuracin del Cliente


Asegurarse de que el hostname es el FQDN # hostname Configurar el hostname # vi /etc/sysconfig/network Editar /etc/resolv.conf # vi /etc/resolv.conf domain example.com nameserver 9.19.98.1 nameserver 9.19.99.6 Iniciar named # service named start

Depuracin de problemas DNS


Revisar la correcta configuracin de los archivos /etc/resolv.conf en los clientes ping -n a todos los servidores de nombres Use hosts, nslookup y dig para consultar los servidores de dominio
Revise si las bsquedas normal y reversa funcionan para todos los sistemas

Revise los archivos /var/named/*


Tener cuidado de los puntos perdidos al final de los FQDN

Use hosts, nslookup y dig para consultar los servidores de dominio

host, nslookup y dig


Consulta a los servidores de nombre de dominio host es solamente usado para consultas: Hostname IP e IP Hostname # host sys1 sys1.example.ec has address 10.0.0.1 nslookup es una herramienta ms avanzafa dig es una herramienta antigua

nslookup, consultas no interactivas


# nslookup sys3 Server: sys1.example.com Address: 9.19.98.1#53 Name: sys3.example.com Address: 9.19.98.3 # nslookup -querytype=ANY example.com Server: sys1.example.com Address: 192.168.13.1#53 example.com origin = sys1.example.com mail addr = root. sys1.example.com serial = 2009060701 refresh = 28800 retry = 14400 expire = 3600000 minimum = 86400 example.com nameserver = sys1.example.com. example.com nameserver = sys6.example.com.

nslookup, consultas interactivas


# nslookup > sys3 Server: Address: sys1.example.com 9.19.98.1#53

Name: sys3.example.com Address: 9.19.98.3 > set querytype=ANY > example.com Server: sys1.example.com Address: 9.19.98.1#53 example.com origin = sys1.example.com mail addr = root.sys1.example.com serial = 2009060701 refresh = 28800 retry = 14400 expire = 3600000 minimum = 86400 example.com nameserver = sys1.example.com. example.com nameserver = sys6.example.com. > exit

Consultas Dig
# dig @sys1.example.com example.com ns ; <<>> DiG 9.3.4-P1 <<>> @sys1.example.com example.com ns ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50804 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 2 ;; QUESTION SECTION: ;example.com. ;; ANSWER SECTION: example.com. example.com. ;; ADDITIONAL SECTION: sys1.example.com. sys6.example.com. ;; ;; ;; ;;

IN

NS

86400 86400

IN IN

NS NS

sys1.example.com. sys6.example.com.

86400 86400

IN IN

A A

9.19.98.1 9.19.98.6

Query time: 6 msec SERVER: 9.19.98.1#53(sys1.example.com) WHEN: Thu Jan 15 13:18:06 2009 MSG SIZE rcvd: 104

Volcados (Dump) de la base de datos activa


El servidor de nombres retiene mucha informacin en memoria
Informacin de dominio propia Informacin cacheada Estadstica

Toda esa informacin puede volcarse a disco a travs de una peticin


til observar esta informacin en caso de problemas Almacenada en un directorio identificado en named.conf

Los volcados son iniciados desde rndc


rndc dumpdb: informacin DNS a named_dump.db rndc stats: Estadsticas a named.stats

Ejemplo del volcado de una base de datos activa


; ; Start view _default ; ; Cache dump of view '_default' ; $DATE 20090115182408 ; ; Address database dump ; ; sys3.example.com [v4 TTL 86391] [v6 TTL 21] [v4 success] [v6 nxrrset] ; 9.19.98.3 [srtt 21] [flags 00000000] ; sys6.example.com [v4 TTL 86391] [v6 TTL 21] [v4 success] [v6 nxrrset] ; 9.19.98.6 [srtt 4] [flags 00000000] ; ; Unassociated entries ; ; Start view _bind ; ; Cache dump of view '_bind' ; $DATE 20090115182408 ; ; Address database dump ; ; Unassociated entries ; ; Dump complete