DNS. Domain Name System. Sistema de Nombres de Dominio. Administración de Redes de Computadores. Ficha: 149822. John Deivis Tabares Tobón. Luis Fernando Ramirez Gallego. Configuracion del servidor DNS en Debian. Servidor DNS: Sistema De Nombres De Dominio (en ingles: Domain Name System ) es un sistema de nomenclatura jerárquica para computadoras, servicios o cualquier recurso conectado a Internet o a una red privada. Este sistema asocia información variada con nombres de dominios asignados a cada uno de los participantes. Su función más importante, es traducir (resolver) nombres inteligibles para los humanos en identificadores binarios asociados con los equipos conectados a la red. En otras es el que básicamente permite realizar la traducción entre un nombre de una página Web como lo entendemos nosotros (por ejemplo www.google.com) a una dirección IP (74.125.229.81) que es lo que realmente entienden los servidores en Internet. Bind9 (Berkeley Internet Name Daemon) es el servidor de DNS más comúnmente usado en Internet, especialmente en sistemas Unix fue escrita desde cero en parte para superar las dificultades arquitectónicas presentes anteriormente para auditar el código en las primeras versiones de BIND, y también para incorporar DNSSEC (DNS Security Extensions). BIND 9 incluye entre otras características importantes: TSIG, notificación DNS, nsupdate, IPv6, rndc flush, vistas, procesamiento en paralelo, y una arquitectura mejorada en cuanto a portabilidad. Es comúnmente usado en sistemas GNU/Linux. Tipos de registro A = Address – (Dirección) Este registro se usa para traducir nombres de servidores de alojamiento a direcciones IPv4. AAAA = Address – (Dirección) Este registro se usa en IPv6 para traducir nombres de hosts a direcciones IPv6. CNAME = Canonical Name – (Nombre Canónico) Se usa para crear nombres de servidores de alojamiento adicionales, o alias, para los servidores de alojamiento de un dominio. Es usado cuando se están corriendo múltiples servicios (como ftp y servidor web) en un servidor con una sola dirección ip. Cada servicio tiene su propia entrada de DNS (como ftp.ejemplo.com. y www.ejemplo.com.). esto también es usado cuando corres múltiples servidores http, con diferente nombres, sobre el mismo host. NS = Name Server – (Servidor de Nombres) Define la asociación que existe entre un nombre de dominio y los servidores de nombres que almacenan la información de dicho dominio. Cada dominio se puede asociar a una cantidad cualquiera de servidores de nombres. MX (registro) = Mail Exchange – (Registro de Intercambio de Correo) Asocia un nombre de dominio a una lista de servidores de intercambio de correo para ese dominio. PTR = Pointer – (Indicador) También conocido como 'registro inverso', funciona a la inversa del registro A, traduciendo IPs en nombres de dominio. SOA = Start of authority – (Autoridad de la zona) Proporciona información sobre el servidor DNS primario de la zona. HINFO = Host INFOrmation – (Información del sistema informático) Descripción del host, permite que la gente conozca el tipo de máquina y sistema operativo al que corresponde un dominio. TXT = TeXT - ( Información textual) Permite a los dominios identificarse de modos arbitrarios. LOC = LOCalización - Permite indicar las coordenadas del dominio. WKS - Generalización del registro MX para indicar los servicios que ofrece el dominio. Obsoleto en favor de SRV. SRV = SeRVicios - Permite indicar los servicios que ofrece el dominio. SPF = Sender Policy Framework - Ayuda a combatir el Spam. En este registro se especifica cual o cuales hosts están autorizados a enviar correo desde el dominio dado. El servidor que recibe, consulta el SPF para comparar la IP desde la cual le llega, con los datos de este registro. Para la instalacion del servidor DNS utilizaremos los sigueintes requisitos: Utilizaremos dos maquinas virtuales (virtual box) con los siguientes sistemas operatavios: - CentOS 5.4: como modo servidor. - Windows xp: como modo cliente. Nuestras maquinas estaran conectadas por red interna. Este servidor estara montado junto a nuestro servidor DHCP entonces constara con la direccion ip 192.168.0.114 con mascara de 255.255.255.248: - Nombre de dominio: abc.com - Nombre de nuestro servidor DNS: dns.abc.com (192.168.0.114) - Nombre de nuestro servidor web: www.abc.com (192.168.0.115) - Nombre de nuestro servidor ftp: ftp.abc.com (192.168.0.115) - Alias de nuestro servidor: admin.abc.com Los tipos de registro que utilizaremos serán: - NS. - A. - CNAME. Lo primero será descargar el BIND9. root@debian:~# apt-get install bind9 Ahora que tenemos el Bind9 instalado vamos a proceder a configurarlo, lo primero que vamos a hacer es decirle que envie las peticiones externas hacia el servidor DNS de nuestro ISP o hacia cualquiera que queramos. Para esto modificaremos el archivo /etc/bind/named.conf.local donde configuraremos las zonas el archivo root@debian:~# #nano /etc/bind/named.conf.local zone “abc.com”: Es el nombre de dominio que va a tener nuestro servidor. type master: Tipo maestro (servidor primario). file “/etc/bind/directorio”: ruta donde estarán los archivos con las zonas directas. zone “0.168.192.in-addr.arpa”: Dirección de red al revés. type master: Tipo maestro (servidor primario). file “/etc/bind/inversa”: Ruta donde estarán los archivos con las zonas inversas Luego lógicamente tenemos que crear los archivos que están consignados en named.conf.local para que el servidor pueda resolver las consultas solicitadas, lo siguiente que haremos es una copia de seguridad del archivo db.local que se encuentra en /etc/bin/db.local donde configuraremos las zonas directas y lo mismo hacemos para las zonas inversas copiamos el archivo db.127 que se encuentra en la misma parte /etc/bin/db.127 root@debian:~# cp /etc/bind/db.local /etc/bind/directa root@debian:~# cp /etc/bind/db.127 /etc/bind/inversa Así se verá el archivo db.local sin configurar. Pasamos a configurar el archivo directo que fue el que copiamos de db.local, en este archivo se van a consignar las listas de direcciones ip y nombres de los hosts que hay dentro de nuestra red, root@debian:~# nano /etc/bind/directo Tipos de registros NS: Name Server – (Servidor de Nombres) Define la asociación que existe entre un nombre de dominio y los servidores de nombres que almacenan la información de dicho dominio. Cada dominio se puede asociar a una cantidad cualquiera de servidores de nombres. A: Address – (Dirección) Este registro se usa para traducir nombres de servidores de alojamiento a direcciones IPv4. CNAME: Canonical Name – (Nombre Canónico) Se usa para crear nombres de servidores de alojamiento adicionales, o alias, para los servidores de alojamiento de un dominio. Es usado cuando se están corriendo múltiples servicios (como ftp y servidor web) en un servidor con una sola dirección ip. Así se verá el archivo db.127 sin configurar. Luego pasamos a configurar el archivo inversa que fue el que copiamos de db.127, entonces para la zona inversa se usan los mismos parámetros de el archivo de configuración para búsqueda de zona directa pero con la diferencia que vamos a especificar primero la ip de los host y luego el nombre, que ya no va a ser dirección (A) sino que va ser nombre (PTR). root@debian:~# nano /etc/bind/inversa PTR: Pointer – (Indicador) También conocido como 'registro inverso', funciona a la inversa del registro A, traduciendo IPs en nombres de dominio. Luego de haber hecho y configurado las listas nos ponemos a nosotros mismo como servidor DNS, modificamos el archivo /etc/resolv.conf root@debian:~# nano /etc/resolv.conf Domain: Nombre del dominio. Search: Por cual servidor va a buscar. NameServer: Dirección ip donde está configurado el servidor. Después de a ver realizado todo los pasos, reiniciamos nuestro servidor y miramos que si este traduciendo las direcciones y listo root@debian:~# /etc/init.d/bind9 restart root@debian:~# nslookup dns.abc.com Ahora miraremos con nuestra maquina cliente para ver si nuestro servidor DNS nos está resolviendo Inicio>accesorios>cmd nslookup dns.abc.com nslookup www.abc.com nslookup admin.abc.com