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
Mucho más que documentos.
Descubra todo lo que Scribd tiene para ofrecer, incluyendo libros y audiolibros de importantes editoriales.
Cancele en cualquier momento.