Diferencia entre revisiones de «Servidores Bind»

(Etiqueta: nuestro-nuestra)
m (Texto reemplazado: «<div align="justify">» por «»)
 
(No se muestran 29 ediciones intermedias de 3 usuarios)
Línea 1: Línea 1:
{{Desarrollo}}
 
 
{{Definición
 
{{Definición
 
|Nombre=Servidor
 
|Nombre=Servidor
 
|imagen=Server_Bind.jpg
 
|imagen=Server_Bind.jpg
|concepto=Ordenador donde se ejecuta el servicio [[Bind]] (Berkeley Internet Name Domain)
+
|concepto=Ordenador donde se ejecuta el servicio BIND(Berkeley Internet Name Domain).   
.   
+
}}
}}<div align="justify">
+
'''Servidores Bind'''. Son los mas utilizado en el internet, una vez configurado permite que tu sitio [[Web|WEB]] y [[Correo electrónico|Correo]] sean localizados desde cualquier parte de la WWW. El software que implementan estos tipos de servidores para la traducción de dominios en direcciones IP fue escrito en los años 80 bajo el patrocinio de [[DARPA]] (Defense Advanced Research Projects Agency) y la versión más actualizada es Bind9.
'''Servidores Bind'''. Son los mas utilizado en el internet, una vez configurado permite que tu sitio [[WEB]] y [[Correo]] sean localizados desde cualquier parte de la WWW. El software que implementan estos tipos de servidores para la traducción de dominios en direcciones IP fue escrito en los años 80 bajo el patrocinio de [[DARPA]] (Defense Advanced Research Projects Agency) y la versión más actualizada es Bind 9.
 
  
==Instalación del Servidor Bind==
+
==Historia==
Para poder hacer la instalación de un Servidor  Bind 9 ejecutamos el siguiente comando:  
+
Estos [[servidores]] fueron creados con el objetivo de alcanzar una mejor comunicación e interpretación de nombres de dominios en [[IP]]; actualmente se explotan a gran escala por las demandas de [[Internet]], especialmente en sistemas [[Unix]]. Su nombre se origina por el software que implementan: Bind y la versión más actualizada es la Bind 9 que 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).
 +
 
 +
==Instalación==
 +
Para poder hacer la instalación de un Servidor  Bind 9 se ejecuta el siguiente comando:  
  
 
'''root@server1:~# apt-get install bind9'''  
 
'''root@server1:~# apt-get install bind9'''  
Línea 17: Línea 18:
 
'''/etc/bin'''
 
'''/etc/bin'''
 
   
 
   
Pero tendremos que modificar esta configuración para tener un DNS chroot.
+
Pero se tiene que modificar esta configuración para tener un [[DNS]] chroot.
  
==DNS Chroot==
+
===DNS Chroot===
 
Es recomendable ejecutar el servicio de DNS en un entorno aislado o enjaulado, para que el  
 
Es recomendable ejecutar el servicio de DNS en un entorno aislado o enjaulado, para que el  
servicio [[DNS]] no se comprometido hacia un ataque y esto pueda afectar al resto de los servicios  
+
servicio [[DNS]] no se comprometido hacia un ataque y esto pueda afectar al resto de los servicios disponibles o al sistema operativo.  
disponibles o al sistema operativo.  
 
  
 
===Configuración de DNS chroot. ===
 
===Configuración de DNS chroot. ===
Línea 33: Línea 33:
 
'''root@server1:~#'''  
 
'''root@server1:~#'''  
  
Ahora detendremos el servicio apparmor el cual es el encargado de la seguridad de nuestro sistema.  
+
Ahora se detiene el servicio apparmor el cual es el encargado de la seguridad del sistema.  
  
 
'''root@server1:~# /etc/init.d/apparmor stop'''  
 
'''root@server1:~# /etc/init.d/apparmor stop'''  
Línea 42: Línea 42:
  
 
===Modo de ejecución===
 
===Modo de ejecución===
En este paso configuremos el archivo /etc/default/bind9, el cual especificaremos que usuario va  
+
En este paso se configura el archivo /etc/default/bind9, en el cual especifica que usuario va  
ejecutar el servicio de bind y en donde se encuentra ubicado. Para eso tendremos que usar nuestro editor de texto:  
+
ejecutar el servicio de bind y en donde se encuentra ubicado. Para esto se utiliza el editor de texto:  
  
 
'''root@server1:~# vim /etc/default/bind9'''  
 
'''root@server1:~# vim /etc/default/bind9'''  
  
Dentro de este archivo tendremos agregar o modificar los siguientes parámetro de OPTIONS.
+
Dentro de este archivo se agrega o modifica los siguientes parámetros de OPTIONS.
 
   
 
   
 
'''OPTIONS="-u bind"'''  
 
'''OPTIONS="-u bind"'''  
Línea 56: Línea 56:
  
 
===Creando el árbol chroot===
 
===Creando el árbol chroot===
Tendremos que crear el árbol de directorios de chroot.  
+
Se crear el árbol de directorios de chroot.  
  
 
'''root@server1:~# mkdir -p /var/lib/named/etc'''  
 
'''root@server1:~# mkdir -p /var/lib/named/etc'''  
Línea 67: Línea 67:
  
 
===Moviendo la configuración bind al chroot ===
 
===Moviendo la configuración bind al chroot ===
Lo procederemos hacer es mover toda la configuración del servicio bind dentro de /etc/bind a  
+
Se procede a mover toda la configuración del servicio bind dentro de /etc/bind a  
 
/var/lib/named/etc para poder utilizar el chroot.  
 
/var/lib/named/etc para poder utilizar el chroot.  
  
Línea 73: Línea 73:
  
 
===Creando enlaces chroot===  
 
===Creando enlaces chroot===  
Deberemos crear un enlace simbólico de /etc/bind a /var/lib/named/etc/bind.  
+
Se debe crear un enlace simbólico de /etc/bind a /var/lib/named/etc/bind.  
  
 
'''root@server1:~# ln ­s /var/lib/named/etc/bind /etc/bind'''   
 
'''root@server1:~# ln ­s /var/lib/named/etc/bind /etc/bind'''   
  
 
===Dispositivos chroot===  
 
===Dispositivos chroot===  
Crearemos los dispositivos null y random, dentro del chroot y cambiaremos los permisos de los  
+
Se crean los dispositivos null y random, dentro del chroot y se cambian los permisos de los  
 
mismos de modo de Lectura/escritura para todos.  
 
mismos de modo de Lectura/escritura para todos.  
  
Línea 90: Línea 90:
 
   
 
   
 
===Dueño en árbol chroot===  
 
===Dueño en árbol chroot===  
Solamente cambiaremos quien sera el encargado del arbol de chroot.
+
Solamente se cambia quien sera el encargado del arbol de chroot.
 
   
 
   
 
'''root@server1:~# chown -R bind:bind /var/lib/named/var/*'''
 
'''root@server1:~# chown -R bind:bind /var/lib/named/var/*'''
Línea 97: Línea 97:
  
 
===Configuración de syslogd===  
 
===Configuración de syslogd===  
Necesitamos modificar el archivo de configuración de syslogd, para poder tener el registro de los logs de nuestro servicio de DNS.  
+
Se modifica el archivo de configuración de syslogd, para poder tener el registro de los logs del servicio DNS.  
  
 
'''root@server1:~# vim /etc/default/syslogd'''
 
'''root@server1:~# vim /etc/default/syslogd'''
 
   
 
   
Tendremos que buscar el parámetro SYSLOGD, el cual no contiene ninguna información tendremos  que agregarle lo siguiente.
+
Se tiene que buscar el parámetro SYSLOGD, el cual no contiene ninguna información, se tiene que agregar lo siguiente.
 
   
 
   
 
'''SYSLOGD=""'''  
 
'''SYSLOGD=""'''  
Línea 108: Línea 108:
  
 
===Configuración de apparmor===  
 
===Configuración de apparmor===  
Tendremos que modificar y agregar algunas opciones dentro del archivo de configuración para  
+
Se modifica y agrega algunas opciones dentro del archivo de configuración para  
 
poder agregar las rutas de servidor DNS.
 
poder agregar las rutas de servidor DNS.
 
   
 
   
 
'''root@server1:~# vim /etc/apparmor.d/usr.sbin.named'''  
 
'''root@server1:~# vim /etc/apparmor.d/usr.sbin.named'''  
  
Ya estando ahí tendremos que modificarlo.
+
Ya estando ahí se modifica.
 
   
 
   
Agregado por el Administrador indicamos el path del servidor DNS.
+
Agregado por el Administrador se indica el path del servidor DNS.
 
   
 
   
 
'''/var/lib/named/etc/bind/* rw,'''
 
'''/var/lib/named/etc/bind/* rw,'''
Línea 131: Línea 131:
 
'''Agregado/modificar por Administrador'''  
 
'''Agregado/modificar por Administrador'''  
  
Comentamos la linea por defualt y agregamos nuestra ubicación del pid del DNS
+
Se comenta la línea por defualt y se agrega la ubicación del pid del DNS
 
   
 
   
 
'''/var/lib/named/var/run/bind/run/named.pid w,'''
 
'''/var/lib/named/var/run/bind/run/named.pid w,'''
Línea 141: Línea 141:
 
'''Agregado/modificar por Administrador'''
 
'''Agregado/modificar por Administrador'''
 
    
 
    
Comentada la linea por default y agregando la ruta en donde se encuentra el archivo opciones de Bind.  
+
Comentada la línea por default y agregando la ruta en donde se encuentra el archivo opciones de Bind.  
  
 
'''#/var/run/bind/named.options r,'''
 
'''#/var/run/bind/named.options r,'''
Línea 149: Línea 149:
 
'''Agregado por el Administrador'''  
 
'''Agregado por el Administrador'''  
  
Agregamos lineas para dispositivos chroot.
+
Se agrega líneas para dispositivos chroot.
 
    
 
    
 
'''/var/lib/named/dev/null rw,'''
 
'''/var/lib/named/dev/null rw,'''
Línea 155: Línea 155:
 
'''/var/lib/named/dev/random rw,'''
 
'''/var/lib/named/dev/random rw,'''
 
    
 
    
Agregamos las zonas de dominio
+
Se agregan las zonas de dominio
 
    
 
    
 
'''/var/lib/named/etc/bind/zones/* rw,'''   
 
'''/var/lib/named/etc/bind/zones/* rw,'''   
  
Guardamos los cambios realizados.  
+
Se guardan los cambios realizados.  
  
 
===Inicio/Reinicio de los servicios===  
 
===Inicio/Reinicio de los servicios===  
Primero tendremos que reiniciar sysklogd.
+
Primero se tiene que reiniciar sysklogd.
 
   
 
   
 
'''root@server1:~# /etc/init.d/sysklogd restart'''
 
'''root@server1:~# /etc/init.d/sysklogd restart'''
 
   
 
   
Después iniciamos el apparmor.
+
Después se inicia el apparmor.
  
 
'''root@server1:~# /etc/init.d/apparmor restart'''
 
'''root@server1:~# /etc/init.d/apparmor restart'''
 
   
 
   
Por ultimo iniciamos bind9.
+
Por ultimo se inicia bind9.
 
   
 
   
 
'''root@server1:~# /etc/init.d/bind9 start'''  
 
'''root@server1:~# /etc/init.d/bind9 start'''  
  
Con esto ya tendremos configurado nuestro DNS Chroot.  
+
Con esto ya se tiene configurado el DNS Chroot.  
  
 
===Zonas DNS===  
 
===Zonas DNS===  
En las zonas DNS es donde configuramos todos los dominios que vaya a tener nuestro servidor, se  
+
En las zonas DNS es donde se configuran todos los dominios que vaya a tener el servidor, se debe crear archivo por archivo por cada dominio que se tenga.  
debe crear archivo por archivo por cada dominio que se tenga.  
 
  
 
Esta configuración deberá ser guardada en:
 
Esta configuración deberá ser guardada en:
Línea 184: Línea 183:
 
'''/etc/bind/zones'''
 
'''/etc/bind/zones'''
 
    
 
    
Tenemos que crear el archivo de configuración del domino que se agregar a nuestro DNS.
+
Se tiene que crear el archivo de configuración del domino que se agregar al DNS.
 
   
 
   
 
'''root@server1:zones# touch ascariote.net.db'''  
 
'''root@server1:zones# touch ascariote.net.db'''  
  
El siguiente archivo a crear debe contener los 3 primero segmentos de nuestra red, ejemplo  
+
El siguiente archivo a crear debe contener los 3 primero segmentos de la red, ejemplo  
nuestra red es 192.168.1.0, ya este archivo es de tipo resolución inversa quedaría de la siguiente manera 1.168.192.in-addr.arpa.  
+
la red es 192.168.1.0, ya este archivo es de tipo resolución inversa quedaría de la siguiente manera 1.168.192.in-addr.arpa.  
  
 
'''root@server1:zones# touch 1.168.192.in-addr.arpa'''  
 
'''root@server1:zones# touch 1.168.192.in-addr.arpa'''  
  
 
===Configurar el archivo zona===  
 
===Configurar el archivo zona===  
Editaremos el archivo de configuración de nuestro [[dominio]].  
+
Se edita el archivo de configuración del [[dominio]].  
  
 
'''root@server1:zones# vim ascariote.net.db'''  
 
'''root@server1:zones# vim ascariote.net.db'''  
  
'''Agregaremos las siguientes opciones'''
+
'''Se agregan las siguientes opciones'''
 
   
 
   
 
$TTL 1W
 
$TTL 1W
Línea 232: Línea 231:
 
*@ IN SOA ascariote.net. admin.ascariote.net. ( : el dominio ascariote.net se  encuentra en la maquina ascariote.net y el encargado del dominio es admin.ascariote.net.  
 
*@ IN SOA ascariote.net. admin.ascariote.net. ( : el dominio ascariote.net se  encuentra en la maquina ascariote.net y el encargado del dominio es admin.ascariote.net.  
 
*2 ;Serial Number:Es un numero que se incrementa por cada vez que sea modificado el  archivo.  
 
*2 ;Serial Number:Es un numero que se incrementa por cada vez que sea modificado el  archivo.  
*1W ; Time To Refresh: indica a los servidores eslavos cuanto tiempo deben esperar antes  de preguntar a su servidor primario si se ha hecho algún cambio.  
+
*1W ; Time To Refresh: Indica a los servidores esclavos cuanto tiempo deben esperar antes  de preguntar a su servidor primario si se ha hecho algún cambio.  
*1D ; Time to Retry : Indica el tiempo de espera para reintentar conectarse a nuestro  servidor DNS.  
+
*1D ; Time to Retry : Indica el tiempo de espera para reintentar conectarse al servidor DNS.  
 
*28D ; Time To Expire : Tiempo que no hubo comunicación con el servidor DNS, toda la información del primero se vuelve inservible y deja de responder peticiones.  
 
*28D ; Time To Expire : Tiempo que no hubo comunicación con el servidor DNS, toda la información del primero se vuelve inservible y deja de responder peticiones.  
*1W ); Negative Cache TTL: indica el tiempo de los DNS almacenados en cache.  
+
*1W ); Negative Cache TTL: Indica el tiempo de los DNS almacenados en cache.  
*@ IN NS ascariote.net: Especificamos en donde se encontrara el servidor DNS.  
+
*@ IN NS ascariote.net: Especifica en donde se encontrará el servidor DNS.  
*@ IN A 192.168.1.243: Especificamos la IP del servidor DNS.  
+
*@ IN A 192.168.1.243: Especifica la IP del servidor DNS.  
*@ IN MX 10 ascariote.net: Indicamos que se utiliza como servidor de correo con  prioridad máxima 10.  
+
*@ IN MX 10 ascariote.net: Indica que se utiliza como servidor de correo con  prioridad máxima 10.  
*www IN A 192.168.1.243 : Indicamos que el servidor web se encuentra en la dirección IP.  
+
*www IN A 192.168.1.243 : Indica que el servidor web se encuentra en la dirección IP.  
  
 
===Configurar el archivo zona inversa===  
 
===Configurar el archivo zona inversa===  
Editaremos el archivo de configuración zona inversa.  
+
Se edita el archivo de configuración zona inversa.  
  
 
'''root@server1:zones# vim 1.168.192.inaddr.arp'''a  
 
'''root@server1:zones# vim 1.168.192.inaddr.arp'''a  
  
'''Y agregaremos los siguientes parámetros:'''
+
'''Y se agrega los siguientes parámetros:'''
 
   
 
   
 
$TTL    1W
 
$TTL    1W
Línea 270: Línea 269:
 
Como pueden ver casi tiene la misma configuración que el archivo de las zonas a excepción de un parámetro.  
 
Como pueden ver casi tiene la misma configuración que el archivo de las zonas a excepción de un parámetro.  
  
*243.1.168 IN PTR ascariote.net. : Enlazamos la IP con el nombre del servidor,para la  resolución inversa.  
+
*243.1.168 IN PTR ascariote.net. : Enlaza la IP con el nombre del servidor,para la  resolución inversa.  
  
 
===Configurar named.conf===  
 
===Configurar named.conf===  
Es el archivo de configuración de nuestro servidor DNS, dentro de el tendremos que agregar  
+
Es el archivo de configuración del servidor DNS, dentro de él se tienen que agregar  
 
algunos parámetros para que mande a llamar los archivos que hemos creados.  
 
algunos parámetros para que mande a llamar los archivos que hemos creados.  
  
 
'''root@server1:zones# vim /etc/bind/named.conf'''  
 
'''root@server1:zones# vim /etc/bind/named.conf'''  
  
'''Agregaremos algunos parámetros casi al final del archivo y antes del include.'''  
+
'''Se agregan algunos parámetros casi al final del archivo y antes del include.'''  
  
 
zone "255.inaddr.arpa" {
 
zone "255.inaddr.arpa" {
Línea 308: Línea 307:
 
include "/etc/bind/named.conf.local";  
 
include "/etc/bind/named.conf.local";  
  
Solamente agregamos la zona ascariote.net, adentro indicamos que es tipo maestro y la ruta  
+
Solamente se agrega la zona ascariote.net, adentro se indica que es tipo maestro y la ruta  
donde se encuentra el archivo de configuración de la zona. Como también se agrego la resolución  
+
donde se encuentra el archivo de configuración de la zona. Como también se agrega la resolución  
inversa, indicamos tipo maestro y la ruta del archivo de configuración.  
+
inversa, se indica tipo maestro y la ruta del archivo de configuración.  
  
Ahora tendremos que reiniciar el servicio de bind9.
+
Ahora se tiene que reiniciar el servicio de bind9.
 
   
 
   
 
'''root@server1:zones# /etc/init.d/bind9 restart'''   
 
'''root@server1:zones# /etc/init.d/bind9 restart'''   
  
 
===Comprobación de DNS===  
 
===Comprobación de DNS===  
Vamos a verificar que nuestro servidor DNS ya se encuentra en linea, primero haremos la  
+
Se verifica que el servidor DNS ya se encuentra en línea, primero se hace la  
comprobación localmente en nuestro servidor.   
+
comprobación localmente del servidor.   
  
Para esto usaremos el comando host.
+
Para esto se usa el comando host.
 
   
 
   
 
'''root@server1:~# host ascariote.net 127.0.0.1'''
 
'''root@server1:~# host ascariote.net 127.0.0.1'''
Línea 338: Línea 337:
 
'''root@server1:~#'''   
 
'''root@server1:~#'''   
  
Por medio del comando netstat, para verificar que el servicio esta en escucha.
+
Por medio del comando netstat, para verificar que el servicio está en escucha.
 
   
 
   
 
'''root@server1:~# netstat -tanp | grep named'''
 
'''root@server1:~# netstat -tanp | grep named'''
Línea 350: Línea 349:
 
'''root@server1:~#'''  
 
'''root@server1:~#'''  
  
Para poder hacer una comprobación desde otra máquina tenemos que agregar la IP de nuestro
+
Para poder hacer una comprobación desde otra máquina se tiene que agregar la IP del servidor DNS.
servidor DNS.
 
 
   
 
   
 
'''lucifer:~# vim /etc/resolv.conf'''
 
'''lucifer:~# vim /etc/resolv.conf'''
 
   
 
   
Modificaremos para quede de la siguiente manera.
+
Se modifica para quede de la siguiente manera.
 
   
 
   
 
'''nameserver 192.168.1.243'''  
 
'''nameserver 192.168.1.243'''  
  
Y comprobamos.
+
Y se comprueba.
 
   
 
   
 
'''lucifer:~# dig ascariote.net'''
 
'''lucifer:~# dig ascariote.net'''
Línea 406: Línea 404:
  
 
===Logs de DNS===  
 
===Logs de DNS===  
Nuestro DNS guarda los log dentro de /var/log/syslog, para poder ver los ultimos sucesos de los  
+
El DNS guarda los log dentro de /var/log/syslog, para poder ver los últimos sucesos de los  
log de DNS tendremos que ejecutar el siguiente comando :
+
log de DNS se tiene que ejecutar el siguiente comando :
  
 
'''root@server1:~# tail -f /var/log/syslog | grep named'''   
 
'''root@server1:~# tail -f /var/log/syslog | grep named'''   
Línea 429: Línea 427:
 
sending notifies (serial 2)
 
sending notifies (serial 2)
 
    
 
    
En este archivo encontraremos si tenemos algún error en la configuración, un posible problema o  
+
En este archivo se puede apreciar si existe algún error en la configuración, un posible problema o indicando que servicio se levanto bien y sin ningún problema.
indicando que servicio se levanto bien y sin ningún problema.  
 
  
 +
== Fuentes ==
 +
*[http://es.wikipedia.org/wiki/BIND BIND]. Consultado el 08 de julio de 2011. Disponible:"es.wikipedia.org"
 +
*[http://docs.redhat.com/docs/ Redhat]. Consultado el 08 de julio de 2011. Disponible:"docs.redhat.com/docs/"
 +
*[http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/s1-bind-features.html Servidores Bind]. Consultado el 08 de julio de 2011. Disponible:"web.mit.edu/"
 +
*[http://www.linuxparatodos.net Linuxparatodos]. Consultado el 08 de julio de 2011. Disponible:"www.linuxparatodos.net"
  
== Fuentes ==
+
[[Categoría:Redes de computadoras]][[Category:Redes_informáticas]]
*http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/s1-bind-features.html
 
*http://es.wikipedia.org/wiki/BIND
 
*http://www.linuxparatodos.net
 
*http://docs.redhat.com/docs/es
 
</div>
 
[[Category:Redes_de_Computadoras]][[Category:Redes_informáticas]]
 

última versión al 02:26 3 sep 2019

Servidores Bind
Información sobre la plantilla
Server Bind.jpg
Concepto:Ordenador donde se ejecuta el servicio BIND(Berkeley Internet Name Domain).

Servidores Bind. Son los mas utilizado en el internet, una vez configurado permite que tu sitio WEB y Correo sean localizados desde cualquier parte de la WWW. El software que implementan estos tipos de servidores para la traducción de dominios en direcciones IP fue escrito en los años 80 bajo el patrocinio de DARPA (Defense Advanced Research Projects Agency) y la versión más actualizada es Bind9.

Historia

Estos servidores fueron creados con el objetivo de alcanzar una mejor comunicación e interpretación de nombres de dominios en IP; actualmente se explotan a gran escala por las demandas de Internet, especialmente en sistemas Unix. Su nombre se origina por el software que implementan: Bind y la versión más actualizada es la Bind 9 que 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).

Instalación

Para poder hacer la instalación de un Servidor Bind 9 se ejecuta el siguiente comando:

root@server1:~# apt-get install bind9

Al terminar de instalar toda la configuración de bind estará dentro de:

/etc/bin

Pero se tiene que modificar esta configuración para tener un DNS chroot.

DNS Chroot

Es recomendable ejecutar el servicio de DNS en un entorno aislado o enjaulado, para que el servicio DNS no se comprometido hacia un ataque y esto pueda afectar al resto de los servicios disponibles o al sistema operativo.

Configuración de DNS chroot.

El primer paso a dar para comenzar la configuración es detener el servicio de DNS.

root@server1:~# /etc/init.d/bind9 stop

* Stopping domain name service... bind [ OK ]

root@server1:~#

Ahora se detiene el servicio apparmor el cual es el encargado de la seguridad del sistema.

root@server1:~# /etc/init.d/apparmor stop

Unloading AppArmor profiles : done.

root@server1:etc#

Modo de ejecución

En este paso se configura el archivo /etc/default/bind9, en el cual especifica que usuario va ejecutar el servicio de bind y en donde se encuentra ubicado. Para esto se utiliza el editor de texto:

root@server1:~# vim /etc/default/bind9

Dentro de este archivo se agrega o modifica los siguientes parámetros de OPTIONS.

OPTIONS="-u bind"

por

OPTIONS="-u bind -t /var/lib/named"

Creando el árbol chroot

Se crear el árbol de directorios de chroot.

root@server1:~# mkdir -p /var/lib/named/etc

root@server1:~# mkdir /var/lib/named/dev

root@server1:~# mkdir -p /var/lib/named/var/cache/bind

root@server1:~# mkdir -p /var/lib/named/var/run/bind/run

Moviendo la configuración bind al chroot

Se procede a mover toda la configuración del servicio bind dentro de /etc/bind a /var/lib/named/etc para poder utilizar el chroot.

root@server1:~# mv /etc/bind /var/lib/named/etc

Creando enlaces chroot

Se debe crear un enlace simbólico de /etc/bind a /var/lib/named/etc/bind.

root@server1:~# ln ­s /var/lib/named/etc/bind /etc/bind

Dispositivos chroot

Se crean los dispositivos null y random, dentro del chroot y se cambian los permisos de los mismos de modo de Lectura/escritura para todos.

root@server1:~# mknod /var/lib/named/dev/null c 1 3

root@server1:~# mknod /var/lib/named/dev/random c 1 8

root@server1:~# chmod 666 /var/lib/named/dev/null

root@server1:~# chmod 666 /var/lib/named/dev/random

Dueño en árbol chroot

Solamente se cambia quien sera el encargado del arbol de chroot.

root@server1:~# chown -R bind:bind /var/lib/named/var/*

root@server1:~# chown -R bind:bind /var/lib/named/etc/bind

Configuración de syslogd

Se modifica el archivo de configuración de syslogd, para poder tener el registro de los logs del servicio DNS.

root@server1:~# vim /etc/default/syslogd

Se tiene que buscar el parámetro SYSLOGD, el cual no contiene ninguna información, se tiene que agregar lo siguiente.

SYSLOGD=""

SYSLOGD="-a /var/lib/named/dev/log"

Configuración de apparmor

Se modifica y agrega algunas opciones dentro del archivo de configuración para poder agregar las rutas de servidor DNS.

root@server1:~# vim /etc/apparmor.d/usr.sbin.named

Ya estando ahí se modifica.

Agregado por el Administrador se indica el path del servidor DNS.

/var/lib/named/etc/bind/* rw,

/etc/bind/** r,

/var/lib/bind/** rw,

/var/lib/bind/ rw,

/var/cache/bind/** rw,

/var/cache/bind/ rw,

Agregado/modificar por Administrador

Se comenta la línea por defualt y se agrega la ubicación del pid del DNS

/var/lib/named/var/run/bind/run/named.pid w,

# /var/run/bind/run/named.pid w,

# support for resolvconf

Agregado/modificar por Administrador

Comentada la línea por default y agregando la ruta en donde se encuentra el archivo opciones de Bind.

#/var/run/bind/named.options r,

/var/lib/named/var/run/bind/named.options r,

Agregado por el Administrador

Se agrega líneas para dispositivos chroot.

/var/lib/named/dev/null rw,

/var/lib/named/dev/random rw,

Se agregan las zonas de dominio

/var/lib/named/etc/bind/zones/* rw,

Se guardan los cambios realizados.

Inicio/Reinicio de los servicios

Primero se tiene que reiniciar sysklogd.

root@server1:~# /etc/init.d/sysklogd restart

Después se inicia el apparmor.

root@server1:~# /etc/init.d/apparmor restart

Por ultimo se inicia bind9.

root@server1:~# /etc/init.d/bind9 start

Con esto ya se tiene configurado el DNS Chroot.

Zonas DNS

En las zonas DNS es donde se configuran todos los dominios que vaya a tener el servidor, se debe crear archivo por archivo por cada dominio que se tenga.

Esta configuración deberá ser guardada en:

/etc/bind/zones

Se tiene que crear el archivo de configuración del domino que se agregar al DNS.

root@server1:zones# touch ascariote.net.db

El siguiente archivo a crear debe contener los 3 primero segmentos de la red, ejemplo la red es 192.168.1.0, ya este archivo es de tipo resolución inversa quedaría de la siguiente manera 1.168.192.in-addr.arpa.

root@server1:zones# touch 1.168.192.in-addr.arpa

Configurar el archivo zona

Se edita el archivo de configuración del dominio.

root@server1:zones# vim ascariote.net.db

Se agregan las siguientes opciones

$TTL 1W

@ IN SOA ascariote.net. admin.ascariote.net.(

2; Serial Number

1W; Time To Refresh

1D; Time To Retry

28D;Time To Expire

1W );Negative Cache TTL

@ IN NS ascariote.net.

@ IN A 192.168.1.243

@ IN MX 10 ascariote.net

www IN A 192.168.1.243


Ahora explicaremos:

  • Todo lo que esta después de un punto y coma (;) es comentario.
  • $TTL 1W: directiva obligatoria que indica el tiempo de vida de la información contenida en la BDs.
  • @ IN SOA ascariote.net. admin.ascariote.net. ( : el dominio ascariote.net se encuentra en la maquina ascariote.net y el encargado del dominio es admin.ascariote.net.
  • 2 ;Serial Number:Es un numero que se incrementa por cada vez que sea modificado el archivo.
  • 1W ; Time To Refresh: Indica a los servidores esclavos cuanto tiempo deben esperar antes de preguntar a su servidor primario si se ha hecho algún cambio.
  • 1D ; Time to Retry : Indica el tiempo de espera para reintentar conectarse al servidor DNS.
  • 28D ; Time To Expire : Tiempo que no hubo comunicación con el servidor DNS, toda la información del primero se vuelve inservible y deja de responder peticiones.
  • 1W ); Negative Cache TTL: Indica el tiempo de los DNS almacenados en cache.
  • @ IN NS ascariote.net: Especifica en donde se encontrará el servidor DNS.
  • @ IN A 192.168.1.243: Especifica la IP del servidor DNS.
  • @ IN MX 10 ascariote.net: Indica que se utiliza como servidor de correo con prioridad máxima 10.
  • www IN A 192.168.1.243 : Indica que el servidor web se encuentra en la dirección IP.

Configurar el archivo zona inversa

Se edita el archivo de configuración zona inversa.

root@server1:zones# vim 1.168.192.inaddr.arpa

Y se agrega los siguientes parámetros:

$TTL 1W

@ IN SOA ascariote.net. admin.ascariote.net. (

2  ; Serial Number

1W  ; Time To Refresh

1D  ; Time To Retry

28D  ; Time To Expire

1W )  ; Negative Cache TTL

@ IN NS ascariote.net.

243.1.168 IN PTR ascariote.net.

Como pueden ver casi tiene la misma configuración que el archivo de las zonas a excepción de un parámetro.

  • 243.1.168 IN PTR ascariote.net. : Enlaza la IP con el nombre del servidor,para la resolución inversa.

Configurar named.conf

Es el archivo de configuración del servidor DNS, dentro de él se tienen que agregar algunos parámetros para que mande a llamar los archivos que hemos creados.

root@server1:zones# vim /etc/bind/named.conf

Se agregan algunos parámetros casi al final del archivo y antes del include.

zone "255.inaddr.arpa" {

type master;

file "/etc/bind/db.255";

};

Agregado por el Administrador

zone "ascariote.net" {

type master;

file "/etc/bind/zones/ascariote.net.db";

};

zone "1.168.192.inaddr.arpa" {

type master;

file "/etc/bind/zones/1.168.192.inaddr.arpa";

};

include "/etc/bind/named.conf.local";

Solamente se agrega la zona ascariote.net, adentro se indica que es tipo maestro y la ruta donde se encuentra el archivo de configuración de la zona. Como también se agrega la resolución inversa, se indica tipo maestro y la ruta del archivo de configuración.

Ahora se tiene que reiniciar el servicio de bind9.

root@server1:zones# /etc/init.d/bind9 restart

Comprobación de DNS

Se verifica que el servidor DNS ya se encuentra en línea, primero se hace la comprobación localmente del servidor.

Para esto se usa el comando host.

root@server1:~# host ascariote.net 127.0.0.1

Using domain server:

Name: 127.0.0.1

Address: 127.0.0.1#53

Aliases:

ascariote.net has address 192.168.1.243

ascariote.net mail is handled by 10 ascariote.net.ascariote.net.

root@server1:~#

Por medio del comando netstat, para verificar que el servicio está en escucha.

root@server1:~# netstat -tanp | grep named

tcp 0 0 192.168.1.243:53 0.0.0.0:* LISTEN 7132/named

tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 7132/named

tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 7132/named

root@server1:~#

Para poder hacer una comprobación desde otra máquina se tiene que agregar la IP del servidor DNS.

lucifer:~# vim /etc/resolv.conf

Se modifica para quede de la siguiente manera.

nameserver 192.168.1.243

Y se comprueba.

lucifer:~# dig ascariote.net

; <<>> DiG 9.5.0-P2 <<>> ascariote.net

;; global options: printcmd

;; Got answer:

;; ->>HEADER<<-opcode: QUERY, status: NOERROR, id: 57068

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1,

ADDITIONAL: 0

;; QUESTION SECTION:

;ascariote.net.

IN

A

;; ANSWER SECTION:

ascariote.net.

604800IN A 192.168.1.243

604800IN NS ascariote.net.

;; AUTHORITY SECTION:

ascariote.net.

;; Query time: 0 msec

;; SERVER: 192.168.1.243#53(192.168.1.243)

;; WHEN: Wed Mar 4 14:25:34 2009

;; MSG SIZE rcvd: 61

lucifer:~#

Logs de DNS

El DNS guarda los log dentro de /var/log/syslog, para poder ver los últimos sucesos de los log de DNS se tiene que ejecutar el siguiente comando :

root@server1:~# tail -f /var/log/syslog | grep named

Nos deberá mostrar algo parecido a esto.

Mar 4 14:37:22 server1 named[7957]: zone 127.in-addr.arpa/IN:

Mar 4 14:37:22 server1 named[7957]: zone ascariote.net/IN: loaded

serial 2

Mar 4 14:37:22 server1 named[7957]: running

Mar 4 14:37:22 server1 named[7957]: zone 1.168.192.in-

addr.arpa/IN: sending notifies (serial 2)

Mar 4 14:37:22 server1 named[7957]: zone ascariote.net/IN:

sending notifies (serial 2)

En este archivo se puede apreciar si existe algún error en la configuración, un posible problema o indicando que servicio se levanto bien y sin ningún problema.

Fuentes

  • BIND. Consultado el 08 de julio de 2011. Disponible:"es.wikipedia.org"
  • Redhat. Consultado el 08 de julio de 2011. Disponible:"docs.redhat.com/docs/"
  • Servidores Bind. Consultado el 08 de julio de 2011. Disponible:"web.mit.edu/"
  • Linuxparatodos. Consultado el 08 de julio de 2011. Disponible:"www.linuxparatodos.net"