BIND (Berkeley Internet Name Server)
BIND es el servidor DNS mas comúnmente implementado en Sistemas Operativos Linux, y actualmente el mas usando en Internet. Originalmente BIND nació a principios de los años 80 bajo el patrocinio de DARPA (Agencia de Investigación de Proyectos Avanzados de Defensa) agencia del Departamento de Defensa de los Estados Unidos, el cual fue desarrollado en la Universidad de California, Berkeley por cuatro estudiantes. A mediados de los años 80 su desarrollo paso a manos de los empleados de DEC (Digital Equipment Corporation, compañía que mas tarde seria adquirida por Compaq y esta a su vez comprada por HP) Paul Vixie,empleado de DEC continuó trabajando en BIND luego de desvincularse de DEC. Más adelante ayudaría a fundar la ISC (Internet Systems Consortium), la cual se convirtió en la responsable del mantenimiento de BIND. El desarrollo de BIND 9 fue realizado con el auspicio conjunto del área comercial y militar. La mayoría de las funcionalidades de BIND 9 fueron impulsadas por proveedores de UNIX quienes querían asegurar que BIND se mantuviera competente con la oferta de Microsoft en el sector de soluciones DNS. La versión mas actual de BIND, en particular la versión 9.0 fue reescrita desde cero, esto con el fin de reparar algunas de sus funcionalidades arquitectónicas de la misma (problemas en la programación de Bajo Nivel) que agrega características importantes como: TSIG, notificación DNS, nsupdate, IPv6, rndc flush, vistas, procesamiento en paralelo, y una arquitectura mejorada en cuanto a portabilidad.Proceso de instalación del servidor DNS
Para instalar el servicio DNS Bind9, se puede abrir el gestor de paquetes Synaptic (Sistema > Administración) y buscar Bind9. A continuación, se selecciona la instalación pulsando el botón derecho sobre la línea del paquete Bind9 y luego se pulsa en Aplicar los cambios.
Inicialmente lo haremos desde la consola o terminal:
sudo apt-get update
sudo apt-get upgrade
apt-get install bind9 bind9-doc dnsutils
El servicio DNS está compuesto por dos programas:
El dominio named(demonio servidor): servidor de nombres de dominio que contiene la base de datos con información relativa a un segmento de la red y que responde a las peticiones.
El dominio named(demonio servidor): servidor de nombres de dominio que contiene la base de datos con información relativa a un segmento de la red y que responde a las peticiones.
El resolver (cliente): genera las peticiones. Se trata de un conjunto de rutinas que permiten que los clientes accedan a los servidores de nombres para resolver la búsqueda de una dirección IP asociada a un nombre.
Configuraciones previas que debe tener el servidor DNS
Configurando el fichero /etc/hosts
A este fichero deberemos agregar el nombre del equipo que desempeñara la función de servidor DNS asi como la dirección IP asignada a este equipo, al final este fichero deberá verse de una forma similar a esta.# Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost 192.168.1.10 dns1.tuDominio.com dns1 ::1 localhost6.localdomain6 localhost6Como ejemplo nosotros asignaremos al servidor DNS la dirección IP 192.168.1.10, usted deberá adecuar esta dirección IP según sea su caso. Configurando el fichero /etc/sysconfig/network A este fichero deberemos agregar igualmente el nombre del equipo que desempeñara la función de servidor DNS, al final este fichero deberá verse de una forma similar a esta. NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=dns1.tuDominio.com
Configurando el fichero /etc/sysconfig/network-scripts/ifcfg-eth(N)
A este fichero deberemos agregar igualmente el nombre del equipo que desempeñara la función de servidor DNS, al final este fichero deberá verse de una forma similar a esta. NOTA: La letra (N) indica el numero de la tarjeta de red sobre la cual escucha el DNS# nVidia Corporation MCP61 Ethernet DEVICE=eth0 BOOTPROTO=dhcp HWADDR=00:E0:4D:3F:C3:39 ONBOOT=yes DHCP_HOSTNAME=dns1.tuDominio.com
Ficheros de configuración del servidor DNS
La configuración del servidor DNS dependerá en gran medida de los siguientes ficheros./var/named/chroot/etcEn esta ruta se deberá crear el fichero
named.conf /var/named/chroot/var/namedEn esta ruta se crearan los ficheros de zona que serán invocados por named.conf
Creación de los ficheros de zona
Procederemos con la creación de nuestras zonas de dominio, para ello teclearemos en terminal lo siguiente:[BASH]# touch /var/named/chroot/var/named/tuDominio.com.zone [BASH]# touch /var/named/chroot/var/named/1.168.192.in-addr-arpa.zoneLo que hicimos fue crear dos ficheros vacíos a los cuales nombramos
tuDominio.com.zoney
1.168.192.in-addr-arpa.zoneEl siguiente paso ahora sera añadir las instrucciones para que puedan ser identificados como ficheros de zona y que a su vez puedan ser invocados por “named.conf”.
Editando el fichero “tuDominio.com.zone”
El siguiente paso sera editar el fichero “tuDominio.com.zone” al cual deberemos añadir el siguiente contenido.
[BASH]# vi /var/named/chroot/var/named/tuDominio.com.zone ---------------------------------------------------------------------- $TTL 86400 @ IN SOA dns1.tuDominio.com.com. admin.tuDominio.com. ( 2008061001; Numero de Serie 28800; Tiempo de Refresco 7200; Tiempo de Reintentos 604800; Expiracion 86400; Tiempo Total de Vida ) @ IN NS dns1 @ IN MX 10 correo @ IN A 192.168.1.10 dns1 IN A 192.168.1.10 correo IN A 192.168.1.11Los parámetros mas importantes del fichero anterior son descritos en la siguiente tabla:
dns1 | La palabra dns1 se refiere al nombre del equipo que fungirá como servidor DNS, es este caso hacemos el supuesto que nuestro equipo tiene asignada la dirección IP 192.168.1.10 |
admin | El nombre admin corresponde al usuario que administrara el servidor DNS. |
tuDominio.com | Éste es nuestro dominio referencial con el que estamos trabajando,otros ejemplos de dominio son: * linuxparatodos.net * gmail.com |
PUNTO AL FINAL | Recuerde no olvidar poner el punto al final de las sentencias: dns1.tuDominio.com. <---------- root.tuDominio.com. <---------- |
correo | Estamos haciendo el supuesto que ademas de un DNS contamos con un servidor de correo electrónico al cual hemos asignado la dirección Ip 192.168.1.11 |
NS (Name Server) | Asigna Nombre al DNS |
MX (Mail Exchanger) | Registro de Mail Exchange, el cual indica a dónde debe ser dirigido el correo |
A (Address) | Registro de dirección que especifica una dirección IP que se debe asignar a un nombre |
SOA (Start of Authority) | Registro de recursos que declara información importante de autoridad relacionada con espacios de nombres al servidor de nombres |
Editando el fichero “1.168.192.in-addr.arpa.zone” A este fichero deberemos añadir el siguiente contenido.
[BASH]# vi /var/named/chroot/var/named/ 1.168.192.in-addr.arpa.zone ------------------------------------------------------------------------ $TTL 86400 @ IN SOA dns1.tuDominio.com. root.tuDominio.com. ( 2008061002; Numero de Serie 28800; Tiempo de Refresco 7200; Tiempo de Reintentos 604800; Expiracion 86400; Tiempo Total de Vida ) @ IN NS dns1.tuDominio.com. 10 IN PTR dns1.tuDominio.com.El numero 10 hace referencia al ultimo octeto de la dirección IP asignada a nuestro DNS, nos referimos a la dirección IP 192.168.1.10. Por ejemplo si la dirección IP del servidor DNS fuera la 254.168.1.25, el numero que debiera ir colocado en la parte inferior de su izquierda debiera ser el numero [25]. Ejemplo:
25 IN PTR dns1.tuDominio.com.
Creación y configuración del fichero “named.conf”
Abra una terminal y genere el fichero “named.conf” dentro de la ruta “/var/named/chroot/etc/”[BASH]# touch /var/named/chroot/etc/named.confUna vez creado asegúrese de agregarle los siguientes propietarios
[BASH]# chown root:named named.confAl terminar solo deberá añadir al fichero el siguiente contenido
[BASH]# vi named.conf ---------------------------------------------------------------------- options { directory "/var/named/"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; allow-recursion { 127.0.0.1; 192.168.1.0/24; }; forwarders { 200.33.146.209; 200.33.146.217; }; forward first; }; zone "." { type hint; file "named.ca"; }; zone "localhost" { type master; file "localhost.zone"; allow-update { none; }; }; zone "tuDominio.com" { type master; file "tuDominio.com.zone"; allow-update { none; }; }; zone "1.168.192.in-addr.arpa" { type master; file "1.1.192.in-addr.arpa.zone"; allow-update { none; }; };Los parámetros mas importantes del fichero anterior son descritos en la siguiente tabla
zone | Define las características de una zona, tal como la ubicación de su archivo de configuración y opciones especificas de la zona. |
"tuDominio.com" | Aquí debe ir el nombre de nuestro dominio |
file "tuDominio.com.zone"; | Contiene los ficheros de configuración de tus zonas de tu dominio. |
allow-update{ none; }; | Especifica los host que están autorizados para actualizar dinamicamente la información en sus zonas. Por defecto, no se autoriza la actualización dinámica de la información. Esto se logra añadiendo la palabra none. |
"1.168.192.in-addr.arpa" | IP de resolución inversa. En este caso estamos usando nuestra IP referencial 192.168.1.10 |
type master; | Designa el servidor de nombres actual como el servidor autoritario para esa zona |
file "1.168.192.in-addr.arpa.zone"; | Contiene los ficheros de configuración de tus zonas de tu dominio. |
Iniciar , detener o reiniciar el servidor DNS
Para iniciar el servidor FTP por primera vez solo deberá teclear en terminal el siguiente comando:[root@ localhost ~]# /etc/init.d/named startIgualmente existen opciones ya sea para reiniciar, detener, recargar o conocer el status en el que se encuentra el servidor DNS. Estas opciones pueden ser consultadas en la siguiente tabla:
start | Inicia el servicio |
stop | Detiene el servicio |
restart | Reinicia el servicio.-La diferencia con reload radica en que al ejecutar un restart este mata todos los procesos relacionado con el servicio y los vuelve a generar de nueva cuenta |
reload | Recarga el servicio.-La diferencia con restart radica en que al ejecutar un reload este solamente carga las actualizaciones hechas al fichero de configuración del servicio sin necesidad de matar los procesos relacionados con el mismo, por lo que podría entenderse que hace el cambio en caliente. |
condrestart | Reinicio Condicional.- Solamente se inicia si el servicio se encuentra ejecutándose. |
status | Da a conocer el estado en el que se encuentra el servicio |
[root@ localhost ~]# service named startY de igual manera podemos usar las opciones antes descritas en la tabla anterior. Recuerde que estos comandos se ejecutan como root. Para verificar que bind esta cargando las zonas, deberemos ejecutar el siguiente comando
[BASH]#tail -80 /var/log/messages | grep named
No hay comentarios:
Publicar un comentario