Está en la página 1de 10

20/09/2014

1
15
DNS
Open Source & GNU/Linux Enterprise Expert (LPI)
16
Domain Name System
Domain Name Systemo DNS (en castellano: sistema de nombres de dominio) es un sistema de
nomenclatura jerrquica para computadoras, servicios o cualquier recurso conectado a Internet o a
una red privada. Este sistema asocia informacin variada con nombres de dominios asignado a cada uno de
los participantes. Su funcin ms importante, es traducir (resolver) nombres inteligibles para los humanos
en identificadores binarios asociados con los equipos conectados a la red, esto con el propsito de poder
localizar y direccionar estos equipos mundialmente.
El servidor DNS utiliza una base de datos distribuida y jerrquica que almacena informacin asociada
a nombres de dominio en redes como Internet. Aunque como base de datos el DNS es capaz de asociar
diferentes tipos de informacin a cada nombre, los usos ms comunes son la asignacin de nombres de
dominio a direcciones IP y la localizacin de los servidores de correo electrnico de cada dominio.
La asignacin de nombres a direcciones IP es ciertamente la funcin ms conocida de los protocolos DNS.
Por ejemplo, si la direccin IP del sitio FTP de prox.mx es 200.64.128.4, la mayora de la gente llega a este
equipo especificando ftp.prox.mx y no la direccin IP. Adems de ser ms fcil de recordar, el nombre es
ms fiable.
La direccin numrica podra cambiar por muchas razones, sin que tenga que cambiar el nombre.
Domain Name System
Open Source & GNU/Linux Enterprise Expert (LPI)
20/09/2014
2
17
Domain Name System
Inicialmente, el DNS naci de la necesidad de recordar fcilmente los nombres de todos los servidores
conectados a Internet. En un inicio, SRI (ahora SRI International) alojaba un archivo llamado HOSTS que
contena todos los nombres de dominio conocidos (tcnicamente, este archivo existe - la mayora de los
sistemas operativos actuales pueden ser configurados para revisar su archivo hosts).
El crecimiento explosivo de la red caus que el sistema de nombres centralizado en el archivo hosts no
resultara prctico y en 1983, Paul Mockapetris public los RFCs 882 y 883 definiendo lo que hoy en da ha
evolucionado hacia el DNS moderno. (Estos RFCs han quedado obsoletos por la publicacin en 1987 de los
RFCs 1034 y 1035).
Domain Name System
Open Source & GNU/Linux Enterprise Expert (LPI)
18
RootServers
Domain Name System
Open Source & GNU/Linux Enterprise Expert (LPI)
20/09/2014
3
19
Rootservers
Los Rootservers son los 13 servidores DNS principales del mundo, situados en varios puntos del planeta,
distribuidos mayoritariamente en Estados Unidos. Estos servidores se encargan de resolver peticiones DNS
para los dominios de ms alto nivel.
Estos servidores estn bajo el dominio root-servers.org, pudiendo diferenciarlos a travs de una letra con
la que se los asocia. Son los siguientes:
VeriSign | root-server A
Instituto para la Formacin Cientfica | root-server B
Cogent-Communications | root-server C
Universidad de Maryland | root-server D
Centro de Investigaciones Ames de la NASA | root-server E
Consorcio de Sistemas de Internet (ISC) | root-server F (Sistema distribuido con sede en Bs. As. ARG)
Departamento de Defensa de EEUU | root-server G
Laboratorio de investigacin de la Armada de los EEUU | root-server H
Autonmica/NORDUnet | root-server I
VeriSign | root-server J
Centro de Coordinacin de redes IP Europeas | root-server K
Corporacin de Internet para la Asignacin de Nombre y Nmeros | root-server L
WIDE Project | root-server M
Domain Name System
Open Source & GNU/Linux Enterprise Expert (LPI)
20
Rootservers
Como datos curiosos, todos los root-servers utilizan el famoso BIND (Berkeley Internet Name Domain)
como servidor DNS menos los servidores H, L y K, que utilizan NSD (Name Server Daemon).
Los rootservers distribuidos utilizan anycast para mejorar y equilibrar la carga, dando un servicio
descentralizado.
Como concepto de historia, tambin es importante saber que en Octubre de 2002 se intent realizar
una denegacin de servicio a los rootservers (basado en un ping flood), que de haber sido efectiva hubiese
dejado a ms la mitad del planeta con retardos o sin conexin a Internet.
Domain Name System
Open Source & GNU/Linux Enterprise Expert (LPI)
20/09/2014
4
21
BIND
BIND (Berkeley Internet Name Domain, anteriormente : Berkeley Internet Name Daemon) es el servidor
de DNS ms comnmente usado en Internet, especialmente en sistemas Unix, en los cuales es un Estndar
de facto. Es patrocinado por la Internet Systems Consortium.
BIND fue creado originalmente por cuatro estudiantes de grado en la University of California, Berkeley y
liberado por primera vez en el 4.3BSD. Paul Vixie comenz a mantenerlo en 1988 mientras trabajaba para
la DEC.
Una nueva versin de BIND (BIND 9) fue escrita desde cero en parte para superar las dificultades
arquitectnicas presentes anteriormente para auditar el cdigo en las primeras versiones de BIND, y
tambin para incorporar DNSSEC (DNS Security Extensions).
BIND 9 incluye entre otras caractersticas importantes: TSIG, notificacin DNS, nsupdate, IPv6, rndc flush,
vistas, procesamiento en paralelo, y una arquitectura mejorada en cuanto a portabilidad. Es comnmente
usado en sistemas GNU/Linux.
Domain Name System
Open Source & GNU/Linux Enterprise Expert (LPI)
22
BIND
BIND fue escrito originalmente a principios de los 80 bajo el
patrocinio de la DARPA.
A mediados de los 80, el desarrollo del BIND qued a cargo de
empleados de DEC. Uno de estos empleados era Paul Vixie,
quien continu trabajando en BIND luego de desvincularse de
DEC.
Ms adelante ayudara a fundar la ISC, la cual se convirti en la
organizacin responsable del mantenimiento de BIND.
El desarrollo de BIND 9 fue realizado con el auspicio conjunto
del rea comercial y militar.
La mayora de las funcionalidades de BIND 9 fueron impulsadas
por proveedores de UNIX quienes queran asegurar que BIND
se mantuviera competente con la oferta de Microsoft en el
sector de soluciones DNS, y las funcionalidades relativas
a DNSSEC fueron impulsadas por el ejrcito de Estados Unidos
quien sinti que la seguridad en DNS era importante.
Domain Name System
Open Source & GNU/Linux Enterprise Expert (LPI)
20/09/2014
5
23
BIND Instalacin
Si nuestro servidor o PC est permanentemente conectado a Internet, puede resultar ventajoso instalar BIND
para mantener una tabla local con todos los nombres que resuelve el DNS autoritativo de la red.
root@server:~# apt-getinstall bind9 bind9-doc dnsutils
Configuracion
La configuracin generada durante la instalacin es perfectamente funcional, no requiere modificaciones. Sin
embargo, vamos personalizar la instalacin en 2 aspectos principales: vamos a definir a cules servidores
consultar el nuestro para pedir ayuda en la resolucin de nombres, si no es posible hacer esto localmente
(forwarders) y vamos a fortalecer algunos aspectos de seguridad.
Como forwarders podemos optar por varias hiptesis: una es utilizar los servidores DNS de nuestro proveedor
de acceso a Internet.
Otra posibilidad muy interesante es utilizar uno de los diversos servicios pblicos de DNS disponibles en la
actualidad, como:
OpenDNS (http://www.opendns.com/)
Google Public DNS (http://code.google.com/speed/public-dns/).
Domain Name System
Open Source & GNU/Linux Enterprise Expert (LPI)
24
BIND Instalacin
Estos servicios prometen suministrar no slo resoluciones ms rpidas, sino tambin diversos
servicios adicionales de seguridad, como filtros de direcciones maliciosos y otros ms.
En este caso, utilizaremos los servidores OpenDNS (http://www.opendns.com/). Para tener otra
opcin, tambin se aadir la que nos brinda nuestro ISP o router hogareo.
Por seguridad slo sern recibidas conexiones por la interfaz local o por la destinada a la red interna
(listen-on { 127.0.0.1; 192.168.1.100; };). As mismo, slo sern contestados los pedidos de resolucin
que partan del propio puesto o de la red interna (allow-query { 127.0.0.1; 192.168.1.0/24; };). Todos
los otros pedidos sern ignorados, para evitar eventuales utilizaciones abusivas de nuestro servidor
DNS por parte de terceros.
La configuracin est guardada en el archivo /etc/bind/named.conf.options:
Domain Name System
Open Source & GNU/Linux Enterprise Expert (LPI)
20/09/2014
6
25
BIND /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
forwarders {
// OpenDNS servers
208.67.222.222;
208.67.220.220;
// ADSL router
192.168.1.1;
};
Domain Name System
Open Source & GNU/Linux Enterprise Expert (LPI)
26
BIND /etc/bind/named.conf.options (continuacin)
// Security options
listen-on port 53 { 127.0.0.1; 192.168.1.100; };
allow-query { 127.0.0.1; 192.168.1.0/24; };
allow-recursion { 127.0.0.1; 192.168.1.0/24; };
allow-transfer { none; };
auth-nxdomain no; # conform to RFC1035
// listen-on-v6 { any; };
};
Domain Name System
Open Source & GNU/Linux Enterprise Expert (LPI)
20/09/2014
7
27
Verificar que el archivo de configuracin no contiene errores:
root@server:~# named-checkconf
Actualizar el archivo /etc/resolv.conf para que la resolucin de nombres se haga localmente:
nameserver 127.0.0.1
Verificar tambin que en el archivo /etc/nsswitch.conf la resolucin de nombres pase
tambin por el servicio DNS:
# [...]
hosts: files dns
# [...]
Reiniciar el servicio DNS:
root@server:~# /etc/init.d/bind9 restart
Domain Name System
Open Source & GNU/Linux Enterprise Expert (LPI)
28
BIND Verificacion
Para verificar la configuracin, debe buscar la direccin IP de cualquier sitio en internet. El servidor
DNS deber mostrar nuestra direccin (127.0.0.1) y las direcciones IP del sitio buscado, se mostrarn
de forma correcta:
root@server:~# nslookup www.debian.org
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
Name: www.debian.org
Address: 206.12.19.7
Name: www.debian.org
Address: 128.31.0.51
Domain Name System
Open Source & GNU/Linux Enterprise Expert (LPI)
20/09/2014
8
29
BIND Verificacion
El proceso inverso, es decir, buscar un nombre a partir de una direccin IP, tambin debe funcionar:
root@server:~# nslookup 206.12.19.7
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
7.19.12.206.in-addr.arpa name = bellini.debian.org.
Authoritative answers can be found from:
. nameserver = c.root-servers.net.
. nameserver = d.root-servers.net.
Domain Name System
Open Source & GNU/Linux Enterprise Expert (LPI)
30
BIND Configuracion de los Clientes (Windows)
Para los sistemas Windows, debe indicar, las propiedades del protocolo de Internet (TCP(IP)) de
conexin de red, y debe determinar la direccin de nuestro servidor DNS (192.168.1.100) como
servidor DNS preferido.
Domain Name System
Open Source & GNU/Linux Enterprise Expert (LPI)
20/09/2014
9
31
BIND Configuracion de los Clientes (Linux)
Para los sistemas Linux, se debe editar el archivo /etc/resolv.conf para substituir o aadir el
nameserver con la direccin IP de nuestro servidor:
# [...]
nameserver 192.168.1.100
# [...]
Configuracion automatica de los Clientes
El servidor DNS puede ser atribuido a los clientes automticamente, a travs del protocolo DHCP. Para
esto, basta acrecentar la opcin domain-name-servers como la o las direcciones de los servidores
DNS al archivo /etc/dhcp/dhcpd.conf del servidor DHCP:
# [...]
option domain-name-servers 192.168.1.100;
# [...]
Domain Name System
Open Source & GNU/Linux Enterprise Expert (LPI)
32
Referencias
ISC Bind (https://www.isc.org/software/bind/)
Linux Home Networking: Quick HOWTO: Ch18 Configuring DNS
(http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch18_:_Configuring_DNS)
DNS Howto, 5. A simple domain (http://tldp.org/HOWTO/DNS-HOWTO-5.html)
Securing Debian Manual (http://www.debian.org/doc/manuals/securing-debian-howto/ch-sec-services.en.html#s-sec-
bind)
Debian Clusters, Name Service: DNS and BIND:
(http://debianclusters.cs.uni.edu/index.php/Name_Service:_DNS_and_BIND)
Domain Name System
Open Source & GNU/Linux Enterprise Expert (LPI)
20/09/2014
10
33
Domain Name System
Open Source & GNU/Linux Enterprise Expert (LPI)

También podría gustarte