Implementado servidor DNS con BIND en CentOS 5
Bueno, la implementación que haré aquí va ser básica, como para que uno se familiarice con los archivos de configuración y pueda ver ipso facto lo que ha realizado, ten en cuenta que con BIND se puedes hacer complejas configuraciones, pero como escribí antes esto es básico.
Instalando paquetes necesarios
Los paquetes que se necesitan para instalar BIND son:
- bind
- bind-utils
- bind-libs
- bind-chroot
- caching-nameserver
Los instalamos con nuestro manejador de paquetes:
# yum install bind bind-utils bind-libs bind-chroot caching-nameserver
Si yum se demora demasiado, puedes bajar los rpm’s : Aqui
*Ten en cuenta que los rpm son de la versión *-9.3.3.7, mientra que la versión que te bajarías con Yum seria: *-9.3.3.10
Configuración:
Para esto necesitaremos un dominio y una ip publica.
El dominio referencial sera: “ejemplo.com”
Nuestra ip referencial: 200.110.10.10
Rutas:
Los archivos de configuración se rencuentran en dos rutas que se complementan, estas son:
Ruta 1: /var/named/chroot/etc
Ruta 2: /var/named/chroot/var/named
En la ruta1 se va encontrar el archivo “named.conf”, el archivo mas importante, y en la ruta2 se van a encontrar el archivo “.zone” y el de resolucion inversa “.in-addr.arpa.zone”, los cuales van a ser llamados por “named.conf”.
Ruta1
Conociendo esto ya podemos crear “named.conf” en ruta1: (aun cuando ya existe un archivo de ejemplo en la ruta)
# vi /var/named/chroot/etc/named.conf
Dentro tendrá: Este contenido.
En esta configuración aun no esta la nuestra, sino solo hace referencia a los archivos que ya existen en ruta2, el contenido que vamos a agregar para nuestro propósito es el siguiente
antes de la ultima linea)
# configuración para ejemplo.com
zone “ejemplo.com.” {
type master;
file “ejemplo.com.zone”;
allow-update { none; };
};zone “10.110.200.in-addr.arpa” {
type master;
file “10.110.200.in-addr.arpa.zone”;
};
Aquí se define la zona para nuestro dominio y también la resolución inversa para nuestra ip.
Al final nuestro archivo “named .conf” quedaría: Asi.
Ruta2
Ahora pasemos a crear los archivos a los que estamos llamando en nuestro named.conf, creamos la zona del dominio:
# vi /var/named/chroot/var/named/ejemplo.com.zone
Dentro tendría lo siguiente:
$TTL 86400
@ IN SOA <nombre_maquina> administrador (
42 ; Serial formato: yyyymmddn donde n es un número cualquiera
10800 ; Refresh después de tres horas
3600 ; Reintentar después de una hora
604800 ; Expirar después de una semana
86400 ) ; TTL(Time to Live) mínimo de un díaIN NS <nombre_maquina>
ejemplo.com. IN A 200.110.10.10
<nombre_maquina> IN CNAME ejemplo.com.
www IN CNAME ejemplo.com
ftp IN CNAME ejemplo.com
Aquí se resuelve el Canonical Name para peticiones tanta si estas vengan para FTP, web o DNS. Y se enlaza nuestra IP al dominio.
Ahora creamos el archivo para la resolución inversa de nuestra ip:
# vi /var/named/chroot/var/named/10.110.200.in-addr.arpa.zone
Dentro tendría lo siguiente:
$TTL 86400
@ IN SOA ejemplo.com. administrador (
200706246 ; Serial
28800 ; Refresh
7200 ; Retry
604800 ; Expire
86400) ; Minimum TTL
NS ejemplo.com.
NS <nombre_maquina>.ejemplo.com.
;
; Servers
;
10 PTR ejemplo.com.
10 PTR <nombre_maquina>.ejemplo.com.
10 PTR www.ejemplo.com.
10 PTR ftp.ejemplo.com.
En la linea “10 PTR ….”, no olvide reemplazar el 10 por el ultimo numero de tu ip.
Listo se supone que tu servidor DNS ya debería trabajar, pero aun falta algunos detalles, como cambiarle el nombre a tu servidor y también la ip.
Para cambiar el nombre al servidor editamos el archivo “network”:
# vi /etc/sysconfig/network
Y ponemos:
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=<nombre_maquina>.ejemplo.com
<nombre_maquina>, va ser el nombre que deseemos, el cual se va reemplazar en los archivos de zona donde seguro ya lo has visto.
Ahora cambiamos la ip del servidor DNS, editando “resolv.conf”
# vi /etc/resolv.conf
Y ponemos
nameserver 200.110.10.10
Listo ahora si todo ya debería funcionar, solo nos falta levantar el servicio:
# service named start
Y para que este inicie al arranque del sistema:
# chkconfig named –level 345 on
Bueno espero te halla servido, no creí escribir tanto pero en fin ^^
Cualquier duda, error, etc; solo deja comentario.
Saludos linuxeros ….


hola man!! que pasa con los archivo int.zone y ext.zone
en centos 5 esos archivos no se usan man porque para cada dominio se usa un archivo de configuracion unico
gracias por mini manual me ayudo mucho ya que tengo que configurarlo en redhat y no me funcionaba ahora creo que si .
Denada amigo. Si kieres algun manual yo te. Lo escribo
ok mandame si lo tinees uno en redhat ya que no me levanta el servidor
que error te da en el log de bind???
0.0.0.0.0. 0..0.0.0.0
no file found master
no file inverse
hago todos los paso y creo el archivo inverso y al levantar el servicio me aparece este error service named restart
sigue este manual amigo https://www.ibercom.com/soporte/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=1605
muchas gracias amigo, exelente tu manual
gracias amigo jason
Por favor explicame como hago para instalarlo en la version de centos 5.4 final ya que el archivo que tu mensionas el named.conf el que me aparece a mi se llama named.caching-nameserver.conf hay otros mas como: named.rfc1912.zones localtime y rndc.key asi que creo que puede ser que en esta version hayan cambiado algunos archivos el que mas se parece al que tu haces mension es el primero que te mensione pero no estoy seguro porfa dime que puedo hacer recuerda que es la version de centos 5.4 final.
En el link tienes un tutorial completo para montar un servidor con CentOS 5.4 http://www.howtoforge.com/perfect-server-centos-5.4-x86_64-ispconfig-2
no puedo realizar nada despues de las rutas osea nose que se realiza para las rtas..? que ago?
Estoy instalando bind sobre Centos 5.4 y he seguido tus instrucciones, sustituyendo el por fi4server (nombre de lña maquina donde va ha residir el servidor de DNS) y 200.110.10.10 por 192.168.1.155 (la ip del futuro servidor de DNS). Y no he conseguido arrancar el servicio named.
Cuando ejecuto ‘service named start’ la consola me devuelve los siguientes mensajes:
root@FI4SERVER:/usr/share/doc/bind-9.3.6/sample/etc# service named start
Iniciando named:
Error en la configuración de named:
zone localdomain/IN: loaded serial 42
zone localhost/IN: loaded serial 42
zone 0.0.127.in-addr.arpa/IN: loaded serial 1997022700
zone 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 1997022700
zone 255.in-addr.arpa/IN: loaded serial 42
zone 0.in-addr.arpa/IN: loaded serial 42
zone ejemplo.com/IN: has no NS records
_default/ejemplo.com./IN: bad zone
zone 1.168.192.in-addr.arpa/IN: loaded serial 200706246
El contenido de named.conf es
========================
// Red Hat BIND Configuration Tool
//
// Default initial “Caching Only” name server configuration
//
options {
directory “/var/named”;
dump-file “/var/named/data/cache_dump.db”;
statistics-file “/var/named/data/named_stats.txt”;
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
zone “.” IN {
type hint;
file “named.root”;
};
zone “localdomain.” IN {
type master;
file “localdomain.zone”;
allow-update { none; };
};
zone “localhost.” IN {
type master;
file “localhost.zone”;
allow-update { none; };
};
zone “0.0.127.in-addr.arpa.” IN {
type master;
file “named.local”;
allow-update { none; };
};
zone “0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa.” IN {
type master;
file “named.ip6.local”;
allow-update { none; };
};
zone “255.in-addr.arpa.” IN {
type master;
file “named.broadcast”;
allow-update { none; };
};
zone “0.in-addr.arpa.” IN {
type master;
file “named.zero”;
allow-update { none; };
};
# configuración para ejemplo.com
zone “ejemplo.com.” {
type master;
file “ejemplo.com.zone”;
allow-update { none; };
};
zone “1.168.192.in-addr.arpa” {
type master;
file “1.168.192.in-addr.arpa.zone”;
};
include “/etc/rndc.key”;
El contenido de ejemplo.com.zone es
========================
$TTL 86400
@ IN SOA fi4server administrador (
42 ; Serial formato: yyyymmddn donde n es un número cualquiera
10800 ; Refresh después de tres horas
3600 ; Reintentar después de una hora
604800 ; Expirar después de una semana
86400 ) ; TTL(Time to Live) mínimo de un día
IN NS fi4server
ejemplo.com. IN A 192.168.1.155
fi4server IN CNAME ejemplo.com.
www IN CNAME ejemplo.com
ftp IN CNAME ejemplo.com
El contenido de 1.168.192.in-addr.arpa.zone es
========================
$TTL 86400
@ IN SOA ejemplo.com. administrador (
200706246 ; Serial
28800 ; Refresh
7200 ; Retry
604800 ; Expire
86400) ; Minimum TTL
@ NS ejemplo.com.
;NS fi4server.ejemplo.com.
;
; Servers
;
155 IN PTR ejemplo.com.
155 IN PTR fi4server.ejemplo.com.
155 IN PTR http://www.ejemplo.com.
155 IN PTR http://ftp.ejemplo.com.
Me puedes ayudar en encontrar que es lo que he hecho mal?
Muchas gracias.
Rafa.
te has visto este manual Rafa??? https://www.ibercom.com/soporte/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=1605