Domain Name Service (DNS)
Problema En la red todo equipo esta identificado por numero especifico llamado Numero IP. El numero IP es un conjunto de 4 numero binarios (ej: 200.124.31.10). Cada persona desea acceder a un conjunto de servicios a traves de internet, para ello necesitaria saber la dirección IP donde se aloja el servicio. Sin embargo es dificil recordar los numeros IP's
Solución Asociar un nombre entendible a los IP's que proveen servicios. Este nombre sera transformado al numero IP (Mediante otro servicio) para realizar la petición directamente. Este servicio que realiza la transformación de nombre a IP (y viceversa) se conoce como Domain Name Service. Pero con esta solución se deben solucionar algunos problemas.
Problemas de la Solución Los numeros IP y nombres asociados a ellos cambian constantemente. Es practicamente imposible para un ente central tener la infomación actualizada de los nombres y sus IP's asociados. La solución a este problema es distribuir, esta información en nodos que conocen la información parcial de sus redes asociadas. La resolución de nombres se realiza por delegamiento.
Terminologia de DNS Host Name: El nombre de un host es una sola palabra (formada por letras, números y guiones). Ejemplos de nombres de host son malpelo, eisc y www. Fully Qualified Host Name (FQHN): Es el nombre completo de un host. Está formado por el hostname, seguido de un punto y su correspondiente nombre de dominio. Por ejemplo, eisc.univalle.edu.co Domain Name: El nombre de dominio es una sucesión de nombres concatenados por puntos. Algunos ejemplos son univalle.edu.co, edu.co y co. Top Level Domains (TLD): Los dominios de nivel superior son aquellos que no pertenecen a otro dominio. Ejemplos de este tipo son com, org, co y es.
Arquitectura DNS El sistema DNS funciona principalmente en base al protocolo UDP. Los requerimientos se realizan a través del puerto 53. El sistema está estructurado en forma de árbol. Cada nodo del árbol está compuesto por un grupo de servidores que se encargan de resolver un conjunto de dominios (zona de autoridad). Un servidor puede delegar en otro (u otros) la autoridad sobre alguna de sus sub-zonas (esto es, algún subdominio de la zona sobre la que él tiene autoridad). Un subdominio puede verse como una especialización de un dominio de nivel anterior. Por ejemplo, univalle.edu.co es un subdominio de edu.co, que a su vez lo es del TLD co.
Arquitectura DNS Los servidores con autoridad sobre los TLD son los llamados root servers (o servidores raíz ) del sistema. (Acutalmente 13 )
Pasos de Resolución El servidor de nombres inicial consulta a uno de los servidores raíz (cuya dirección IP debe conocer previamente). Este devuelve el nombre del servidor a quien se le ha delegado la sub-zona. El servidor inicial interroga al nuevo servidor. El proceso se repite nuevamente a partir del punto 2 si es que se trata de una sub-zona delegada. Al obtener el nombre del servidor con autoridad sobre la zona en cuestión, el servidor inicial lo interroga. El servidor resuelve el nombre correspondiente, si este existe. El servidor inicial informa al cliente el nombre resuelto.
Tipos de Registro DNS A (Address): Este registro se utiliza para traducir nombres de hosts del dominio en cuestión a direcciones IP. CNAME (Canonical Name): El nombre canónico es un alias para un host determinado. (No define una dirección IP, sino un nuevo nombre.) NS (Name Server): Especifica el servidor (o servidores) de nombres para un dominio. MX (Mail Exchange): Define el servidor encargado de recibir el correo electrónico para el dominio. PTR (Pointer): Especifica un registro inverso, a la inversa del registro A, permitiendo la traducción de direcciones IP a nombres. TXT (Text): Permite asociar información adicional a un dominio. Esto se utiliza para otros fines, como el almacenamiento de claves de cifrado
BIND Es el servidor DNS usado por la gran mayoria del mundo. Para instalarlo instale los siguiente paquetes (Ubuntu 7.10 S erver) (dpkg -i) Libdns32 Libisc32 Libsccc30 Libcccfg30 Bind9 Dnsutils
BIND Una instalados los paquetes se debe realizar la siguiente configuración /etc/bind/named.conf.local: Configuración sobre la ubicación de informacion por zonas. /etc/bind/named.conf.options: Opciones de Configuración servidores (S ervidores de res olución superiores). /etc/bind/zones /[dominio].db: Informacion de resolución directa. /etc/bind/zones /rev.[numero de red invertido].db.inaddr.arpa: Informacion de resolución inversa.
Configuracion general S uponga que se va ha configurar el servidor DNS para el dominio example.com numero de red 192.168.0 named.conf.local # This is the zone definition. replace example.com with your domain name zone "example.com" { type master; file "/etc/bind/zones/example.com.db"; }; # This is the zone definition for reverse DNS. replace 0.168.192 with your network address in reverse notation - e.g my network address is 192.168.0 zone "0.168.192.in-addr.arpa" { }; type master; file "/etc/bind/zones/rev.0.168.192.in-addr.arpa";
named.conf.options forwarders { }; # Replace the address below with the address of your provider's DNS server 123.123.123.123; // Servidor de DNS para redireccionar
zones/example.com.db example.com. IN SOA ns1.example.com. admin.example.com. ( ) 2006081401 28800 3600 604800 38400 example.com. IN NS ns1.example.com. example.com. IN MX 10 mta.example.com. www IN A 192.168.0.2 mta IN A 192.168.0.3 ns1 IN A 192.168.0.1
zones/rev.0.168.192.inaddr.arpa @ IN SOA ns1.example.com. admin.example.com. ( ) 2006081401; 28800; 604800; 604800; 86400 IN NS ns1.example.com. 1 IN PTR example.com
Reiniciando el Servicio sudo /etc/init.d/bind9 restart Como recordaran los servicios se arrancan desde la carpeta /init.d Para indicarle el DNS a una maquina linux (modificar /etc/resolv.conf) search example.com // Dominio al que pertenece el equipo nameserver 192.168.0.1
/etc/hosts Ofrece una manera directa de realizar resolución de numeros IP sin requerir de servidor DNS Formato [IP] [Nombre Completo] [Nombre Corto] 192.168.131.90 eisc.univalle.edu.co eisc Verificación Toda verificación de nombre se puede hacer con los comando nslookup o hosts
Ejercicio Practico Configure un servidor DNS para la red 192.168.10 (ars.com) con las siguiente caracteristicas. En caso de no poder resolver se debe apoyar en el servidor 192.168.131.21. Definir dos host www(192.168.10.1) y servicios(192.168.10.14) dentro el dominio ars.com. Configurar el sistema operativo para que consulte el servidor recien configurado. Verificar el funcionamiento usando los comandos host, nslookup. Entregar informe escrito con capturas de pantalla (En caso de no asistir) en que detalle el proceso realizado.
Lecturas Recomendadas http://ubuntuforums.org/showthread.php?t=236093 http://blog.smaldone.com.ar/2006/12/05/como-funciona-el-dn