Diseño Web
16
Ago
2008

Instalar y Configurar un Servidor DNS con BIND9 en Debian Etch con Chroot

  • Sigue a Vensign en Twitter
  • Digg Esto!
  • Compartelo en Facebook
  • Compartelo en Buzz
Visto 8.895 veces | 50 Comentarios | Imprimir Imprimir
En esta oportunidad veremos como instalar y configurar un servidor DNS con Bind9 en Debian 4.0 Etch. El protocolo de DNS (Domain Name System) 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.vensign.com) a una dirección IP (172.30.30.1) que es lo que realmente entienden los servidores en Internet. Es un servicio fundamental y sin el simplemente no existiría Internet como la conocemos hoy en día. BIND9 es un servidor de DNS de código abierto, gratis y que es utilizado por la gran mayoría de los servidores DNS que existen en Internet. Voy a suponer que tienes un cierto nivel de conocimientos de Linux (no mucho se requiere realmente) solo que sepas abrir un terminal y escribir comandos eso es todo. Te aconsejo que sigas esta guía paso a paso para que le saques el mayor provecho. Esta instalación fue probada en servidores Debian Etch 4.0. Funciona bien en servidores basados en Debian y en versiones de Ubuntu previas a 8.04. Vamos a comenzar... En este caso vamos a hacer la configuración típica de servidores DNS con un servidor primario o maestro con dirección IP 192.168.249.1 y un servidor secundario con dirección IP 192.168.249.2 en caso de que falle el primero. Se utilizará como dominio ejemplo ejemplo.lan

Instalando BIND 9.5

Esta parte aplica tanto para instalar el servidor maestro como el secundario, para esto ejecutamos los siguientes comandos como root:
apt-get update && apt-get upgrade
Para asegurarnos de tener actualizados nuestros repositorios:
apt-get bind9 dnsutils
Con esto se instala el servidor Bind9 y los dnsutils son varias utilidades de DNS que nos serviran más adelante para comprobar nuestro servidor.

Chroot Bind

Cuando se habla de realizar un Chroot a un servicio en Linux se refiere que se va a crear una jaula a su alrededor, esto se hace para medidas de seguridad sobre todo en servidores que están expuestos a Internet como es el caso de nuestros servidores DNS. Esto hace que el servicio se ejecute con su propio usuario dentro de directorios que no tienen privilegios de root para que si llegan a quedar comprometidos el atacante no pueda accesar a otros recursos del sistema. Para hacer el Chroot de Bind ejecutamos los siguientes pasos:
/etc/init.d/bind9 stop
Para detener el bind Luego apuntamos el archivo de configuración al directorio que vamos a crear para el Chroot:
vim /etc/default/bind9
Puedes utilizar el editor de tu preferencia en cambio de vim (puede ser nano, emacs, etc) Y modificamos la línea que dice OPTIONS="-u bind" por:
OPTIONS="-u bind -t /var/lib/named"
Luego creamos los directorios necesarios para el Chroot
mkdir -p /var/lib/named/etc
mkdir /var/lib/named/dev
mkdir -p /var/lib/named/var/cache/bind
mkdir -p /var/lib/named/var/run/bind/run
Ahora movemos la configuración del Bind de /etc a /var/named/etc:
mv /etc/bind /var/lib/named/etc
Creamos un link simbólico entre la configuración vieja y la nueva para no tener problemas cuando se actualice el Bind:
ln -s /var/lib/named/etc/bind /etc/bind
Luego creamos los dispositivos necesarios para la jaula:
mknod /var/lib/named/dev/null c 1 3
mknod /var/lib/named/dev/random c 1 8
Y por último modificamos los permisos necesarios:
chmod 666 /var/lib/named/dev/*
chown -R bind:bind /var/lib/named/var/*
chown -R bind:bind /var/lib/named/etc/bind
Con esto ya creamos la Jaula y Bind tiene su propio espacio de directorios para sus procesos. Ahora debemos modificar sysklogd para que se registren (log) los eventos del Bind:
vim /etc/default/syslogd
Puedes utilizar el editor de tu preferencia en cambio de vim (puede ser nano, emacs, etc) Y modificamos la línea que dice SYSLOGD="" por:
SYSLOGD="-a /var/lib/named/dev/log"
Ahora debemos modificar el archivo resolv.conf de nuestro servidor:
vim /etc/resolv.conf
Y agregamos la siguientes líneas (recuerda cambiar ejemplo.lan por tu nombre de dominio):
search ejemplo.lan
nameserver 127.0.0.1
Reiniciamos el sysklogd:
/etc/init.d/sysklogd restart
E iniciamos el Bind:
/etc/init.d/bind9 start
Este procedimiento lo tenemos que repetir para el servidor secundario. Ahora vamos a configurar nuestros servidores.

Configurar Servidor Maestro

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, yo en lo personal utilizo OpenDNS. Para esto modificamos el archivo /etc/bind/named.conf.options:
vim /etc/bind/named.conf.options
Y descomentamos las líneas que dicen forwarders para que quede de la siguiente forma:
forwarders { 208.67.222.222 };
Recuerda utilizar la IP del DNS de tu ISP, también puedes utilizar la que está en el ejemplo ya que es la de OpenDNS. Luego vamos a crear nuestra zona que no es más que lo que va a manejar nuestro dominio de ejemplo.lan para esto seguimos los siguientes puntos:
mkdir /etc/bind/zones/
vim /etc/bind/zones/master_ejemplo.lan
Luego dentro de este archivo colocamos la siguiente configuración:
$TTL 3D

@       IN      SOA     ns1.ejemplo.lan. hostmaster.ejemplo.lan. (
                        200808161       ; serial, fecha AAAA-MM-DD + serial
                        8H              ; refrescamiento, en segundos
                        2H              ; reentrar, segundos
                        4W              ; expira, segundos
                        1D )            ; minimo, segundos
;
                TXT     "Ejemplo.LAN, servicio de DNS"
                NS      ns1             ; Direccion Inet del servidor de dominio
                NS      ns2
                MX      10 mail        ; Exchanger de Mail primario
localhost    A    127.0.0.1
ns1          A    192.168.249.1
ns2          A    192.168.249.2
www          CNAME    ns1
Este es un archivo de Zona básico donde declaramos el dominio de ejemplo.lan, los servidores de dominio ns1 y ns2, además declaramos como servidor www (servidor web) a ns1 pero podría ser cualquier otro servidor donde tengas instalado Apache o algún otro servidor Web. Ahora editamos el archivo /etc/bind/named.conf.local:
vim /etc/bind/named.conf.local
Y escribimos las siguientes líneas:
zone "ejemplo.lan" {
        type master;
        file "/etc/bind/zones/master_ejemplo.lan";
};
Ya con esto podemos probar nuestro servidor master a ver si funciona: /etc/init.d/bind9 restart ping ns1.ejemplo.lan Deberia responder nuestro servidor ns1, recuerda que el servidor debe tener una dirección IP fija y que no debe estar corriendo ningún cliente dhcp. Tambien podemos probar ejecutando: host ns1.ejemplo.lan Debería responder con la dirección de nuestro servidor. Por útilmo para configurar nuestro servidor master modificamos el archivo /etc/bind/named.conf.options y agregamos la siguiente línea:
dnssec-enable yes;
Creamos una llave segura esto es para que la comunicación entre el servidor master y el secundario sea encriptada.
dnssec-keygen -a hmac-md5 -b 128 -n host ejemplo.lan
Anota el resultado ya que lo utilizaremos tanto en el servidor MASTER como en el SECUNDARIO. Modificamos el archivo /etc/bind/named.conf y agregamos las siguientes líneas:
include "/etc/bind/rndc.key";

key "TRANSFER" {
        algorithm hmac-md5;
        secret "---HASHKEY---";
};

server 192.168.249.2 {
        keys {
        TRANSFER;
    };
};

Donde dice HASHKEY colocas la clave que generamos anteriormente. Y luego reiniciamos el servidor Bind:
/etc/init.d/bind9 restart
Con esto ya tenemos configurado nuestro servidor master vayamos ahora con nuestro servidor secundario.

Configurar Servidor Secundario o Esclavo DNS

La instalación del servidor Bind en el Secundario es exactamente igual que la del servidor Maestro, voy a mostrar sólo los archivos de configuración que necesitan modificación:
mkdir /etc/bind/zones/
vim /etc/bind/zones/slave_ejemplo.lan
Luego dentro de este archivo colocamos la siguiente configuración:
$TTL 3D

@       IN      SOA     ns1.ejemplo.lan. hostmaster.ejemplo.lan. (
                        200808161       ; serial, fecha AAAA-MM-DD + serial
                        8H              ; refrescamiento, en segundos
                        2H              ; reentrar, segundos
                        4W              ; expira, segundos
                        1D )            ; minimo, segundos
;
                TXT     "Ejemplo.LAN, servicio de DNS"
                NS      ns1             ; Direccion Inet del servidor de dominio
                NS      ns2
                MX      10 mail        ; Exchanger de Mail primario
localhost    A    127.0.0.1
ns1          A    192.168.249.1
ns2          A    192.168.249.2
www          CNAME    ns1
Esto es idéntico al master solo que identificamos como slave al archivo. Luego modificamos el archivo: vim /etc/bind/named.conf.local Y escribimos:
zone "ejemplo.lan" {
        type slave;
        file "/etc/bind/zones/slave_ejemplo.lan";
        masters { 192.168.249.1; };
        allow-notify { 192.168.249.1; };
};
Luego modificamos:
vim /etc/bind/named.conf
Y agregamos las siguientes líneas
server 192.168.249.1 {
        keys {
        TRANSFER;
    };
};
Y repetimos lo que hicimos de último con el servidor Maestro. Modificamos el archivo /etc/bind/named.conf y agregamos las siguientes líneas: include "/etc/bind/rndc.key"; key "TRANSFER" { algorithm hmac-md5; secret "---HASHKEY---"; }; server 192.168.249.1 { keys { TRANSFER; }; }; Donde dice HASHKEY colocas la clave que generamos anteriormente. Y luego reiniciamos el servidor Bind:
/etc/init.d/bind9 restart
Ya con esto tenemos configurado el servidor Esclavo o Secundario, ahora debes indicarle a tus PC que que estan son las direcciones de servidores DNS primario y secundario que deben utilizar y si quieres probar que uno funciona cuando el otro se cae puedes detener el bind en cualquiera de los dos. Espero que les haya servido este tutorial, cualquier duda, pregunta o sugerencia puedes dejar tu comentario y lo responderé a la brevedad posible. Saludos Olivers Si quieres recibir notificaciones de cuando se publican nuevos artículos y tutoriales en Vensign por favor subscribete a nuestro boletín RSS.

Otros artículos que te pueden interesar

  1. Instalar y configurar OpenSIPS 1.4.3 Actualización: Se actualizó este tutorial a la versión 1.4.3 que...
  2. Instalar un Servidor LAMP en Ubuntu/Debian Un servidor LAMP se refiere a la mezcla de Linux+Apache+Mysql+PHP...
  3. Servidor FTP con proftp en Ubuntu / Debian En este tutorial vamos a hablar de cómo instalar y...
  4. Como instalar un Servidor DHCP en Ubuntu   Un servidor DHCP asigna dinámicamente direcciones IP a las...
  5. Como cambiar y recuperar la clave en un servidor MySQL En este mini tutorial les voy a explicar como pueden...

Creative Commons License
Este trabajo está licenciado bajo Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 Unported License

Comparte este Artículo!

  • Sigue a Vensign en Twitter
  • Digg Esto!
  • Compartelo en Facebook
  • Compartelo en Buzz

Suscribirse sin comentar

50 Comentarios

  1. Hola
    Te comento que todo salio bien solo la parte de la seguridad “llave incriptada ” que no funciona me salta el siguiente error
    Stopping domain name service….: bindrndc: connect failed: 127.0.0.1#953: connection refused
    failed!
    Starting domain name service…: bind failed!

    Si pudieras darme algun consejo como superarlo te lo agradesco

    Atte
    neco

  2. tengo instalado como servidor ubuntu 8.04,me configura muy bien hasta la configuracion del servidor maestro, despues empieza con errores, cuando se realiza la encriptacion empieza el problema, y peor cuando se configura el servidor secundario o esclavo, ya directamente no reponde podrias indicarme donde esta el problema.
    gracias.
    saludos.

  3. Hola voce, nos tienes que poner cuales son los errores que te estan apareciendo para poder ayudarte.

    Saludos
    Olivers

  4. Lo siento disculpame, la anterior fue un error que cometi, el error que me sale es la siguiente.

    host ns1.mmitalia.org not found 2 (SERVFAIL)

    podria indicarme donde esta el error.
    la otra duda que tengo es: se debe configurar en forwarders { 208.67.222.222 }; con la IP PUBLICA o Con la IP de mi red interna.
    Te agradesco la ayuda.
    saludos
    voce

  5. Hola voce, el primer error lo más seguro es que se deba a que no tienes ningún servidor llamado ns1.mmitalia.org. Tienes que llamar a tu servidor maestro así (ojo no tiene que ser necesariamente ns1.algo) puedes llamarlo como quieras solo lo tienes que cambiar en el archivo de configuración, y recuerda que al cambiarle el nombre lo tienes que colocar en tu archivo /etc/hostname.

    Con respecto a la duda esa IP tiene que ser la de un servidor DNS externo en el que confies, ya sea el de tu ISP o algún otro servidor externo del cual va a depender tu servidor DNS.

    Espero que te sirva, cualquier otra duda vuelve a escribir

    Saludos
    Olivers

  6. Chinaski says:

    Hola,

    Sólo para comentarte que he seguido los pasos para configurar un servidor principal en debian usando vmware fusion en mac osx leopard y que funciona a la perfección.

    saludos

  7. chechuironman says:

    Este dns no es cache no?

  8. @ Chinaski Muchas gracias por tu comentario es muy bueno saber que tambien funciona para MAC OSX.

    @ Chechuironman, A que te refieres con cache?

  9. Merci por el tuto. :-)

  10. javier says:

    Hola a todos..
    En la empresa donde estoy existe un servidor dns primario y secundario donde solo dan servicio de resolucion de nombres al correo, intranet y da salida hacia el proveedor de internet, el problema q tengo es que necesito realizar un servidor dns unicamente para resolucion de nombres internos de algunos servidores.

    He creado un archivo en /etc/bind/db.midominio.com

    El cual contiene lo siguiente:
    ;
    ; BIND data file for local loopback interface
    ;
    $TTL 604800
    @ IN SOA ns.midominico.com. root.localhost. (
    1 ; Serial
    604800 ; Refresh
    86400 ; Retry
    2419200 ; Expire
    604800 ) ; Negative Cache TTL
    ;
    @ IN NS ns
    host1 A 10.50.1.40
    host2 A 10.50.1.34

    luego reinicio el servicio bind del servidor y coloco en el /etc/resolv.conf del host1

    nameserver ip-del-servidor-dns

    Y no resuelve el nombre… alguna sugerencia que puedan darme?…

    Gracias

  11. hola esto me permitiria ver las demas computadoras y viceversa claro que habria que asignarle un ip a c/u ya que son 5 que corren en windows xp y 2 servidores en fedora una esta en wireless y todas estan conectadas a traves de un swicth linksys sd208

    de antemano gracias

  12. Hola javier, revisa bien el tutorial y verifica que hayas seguido todos los pasos. Tambien tienes que ver el archivo lo tienes que colocar dentro de la carpeta /etc/bind/zones a menos que lo hayas cambiado en tu archivo de configuración de bind.

    Como te digo verifica bien el tutorial si sigues con problemas por favor escribe

    Saludos
    Olivers

  13. PedroCol says:

    Hola Olivers, un saludo.
    Hice todo como aparece en la guia, pero me da un mensaje a diario como que falta el archivo “log” yo lo creo y sigue indicando lo mismo.

    /etc/default/syslogd: line 15: /var/lib/named/dev/log:
    Eso aparece en el archivo en la linea 15 sin los dos puntos al final.

    Otra pregunta yo estoy probando con una IP publica, es decir la que me asigna el proveedor desde mi DHCP.

    Creo que eso solo debe funcionar si se utiliza una red privada, sacame de esa duda, muchas gracias.

    Asunto: Cron test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.daily )
    Fecha: Tue, 3 Feb 2009 06:25:12 -0430

    /etc/cron.daily/sysklogd:
    /etc/default/syslogd: line 15: /var/lib/named/dev/log: No existe el fichero o el directorio

  14. Hola PedroCol, por lo que veo en las últimas líneas este error no tiene nada que ver con Bind, sino con alguna línea del Cron (que es un servicio que se ejecuta periódicamente) puedes revisar este archivo donde te lo indica en /etc/cron.daily/sysklogd y revisar la línea 15.

    En cuanto a la otro que me preguntas que si solo funciona para una red privada, la respuesta es no, los DNS pueden ser utilizados y se utilizan de hecho para resolver direcciones tanto públicas como privadas, eso si para utilizarlo como me dices con una IP pública tendrías que tener el nombre de dominio registrado y una IP fija o con algún servicio como mydns.

    Espero que te sirva

    Saludos
    Olivers

  15. PedroCol says:

    Hola amigo Olivers:
    Bien el problema que tenia con el error de la linea 15 lo pude resolver creando un directorio de nombre “log” yo no me envio el error desde el “cron”

    Ahora que me dices que puedo usar el “bind” desde una red publica, quiero entonces preguntar si el servidor de dominios “cdmon.com” seria el que a mi me puede servir porque tengo cuenta alli, ellos me dicen que tienen tres NS para esa funcion, seria ns1.net, ns2.net y ns3.net, bien me puedes sugerir donde colocar eos ns, para que apunten a cdmon.com.

    Muchas gracias.

  16. Carlos says:

    Antes que nada gracias por el material,la duda que tengo es la siguiente, mi proveedor me ofrece un ip estatica que es privada 10.201.xx.xxx y yo quisiera saber si podria en esa ip colocar un servidor web? tengo que registrar el nombre del dominio o opendns me soluciona eso?
    desde ya muchas gracias

  17. Hola Carlos, gracias por tu comentario. Si si puedes colocar tu servidor web con esa IP, tienes que tener cuidado sin embargo de proteger lo más que puedas ese servidor (bloquear puertos, servicios, etc) un firewall sería una buena idea.

    En cuanto al dominio si lo tienes que registrar y colocarlo en tu servidor DNS o en algún servidor de dominio que apunte hacia tu servidor Web, creo que OpenDNS tiene un servicio parecido pero no estoy seguro, solo lo he utilizado como servidor DNS particular.

    Espero que compartas la experiencia de montar tu servidor Web con nosotros, cualquier duda puedes escribir aquí.

    Saludos
    Olivers

  18. Intento e intento pero nada.. ingreso el master, y el servicio se inicia sin problema alguno, pero cuando intento meter el slave, siguiendo los pasos que indicas, no anda mas el bind.. :( ya no se que hacer

    “rndc: connect failed: 127.0.0.1#953: connection refused”

    tengo esto en el name.conf.local

    zone “midominio.com” {
    type master;
    file “/etc/bind/zones/midominio.com”;
    };

    y esto en zones/midominio.com

    $TTL 3D

    @ IN SOA ns1.midominio.com. hostmaster.midominio.com. (
    200808161 ; serial, fecha AAAA-MM-DD + serial
    8H ; refrescamiento, en segundos
    2H ; reentrar, segundos
    4W ; expira, segundos
    1D ) ; minimo, segundos
    ;
    TXT “midominio.com, servicio de DNS”
    NS ns1 ; Direccion Inet del servidor de dominio
    NS ns2
    MX 10 mail ; Exchanger de Mail primario
    localhost A 127.0.0.1
    ns1 A MIIP
    ns2 A MIIP
    www CNAME ns1

    Hasta hay el bind9 funciona.. pero..

    ahora cuando trato de poner el slave lo primero que hago es crear el slave_midominio.com

    y dejo esto

    $TTL 3D

    @ IN SOA ns1.midominio.com. hostmaster.midominio.com. (
    200808161 ; serial, fecha AAAA-MM-DD + serial
    8H ; refrescamiento, en segundos
    2H ; reentrar, segundos
    4W ; expira, segundos
    1D ) ; minimo, segundos
    ;
    TXT “midominio.com, servicio de DNS”
    NS ns1 ; Direccion Inet del servidor de dominio
    NS ns2
    MX 10 mail ; Exchanger de Mail primario
    localhost A 127.0.0.1
    ns1 A MIIP
    ns2 A MIIP
    www CNAME ns1

    ahora edito el name.conf.local y agrego esto

    zone “midominio.com” {
    type slave;
    file “/etc/bind/zones/slave_midominio.com” masters { MIIP; };
    allow-notify { MIIP; };
    ;
    };

  19. hay ya no funciona mas.. asi que agrego en name.conf esto por si es por eso que no funciona

    server 192.168.249.1 {
    keys {
    TRANSFER;
    };
    };

    pero tampoco.

  20. hay la ip es MIIP pero no va.. alguna ayuda?

  21. Hola Nanos, disculpa la tardanza en responder, cual es el mensaje de error que te arroja el bind?

    Puedes ver los logs después de correr bind ejecutando tail /var/log/messages y tail/var/log/syslog

    Para ver cual es el problema, si quieres pega los resultados aqui solo lo que tengo que ver con bind porque puedes tener muchos mensajes ahi y vemos como te podemos ayudar mejor

    Saludos
    Olivers

  22. henser says:

    buenas olivers me sale este error a lo que hago este comando

    Host ns1.compuhenser.no-ip.org not found: 3(NXDOMAIN)

  23. henser says:

    saludos ya me responde el host

    pero despues que coloco el haskey no funciona el bind

    /etc/init.d/bind9 restart
    Stopping domain name service…: bind9rndc: connect failed: 127.0.0.1#953: connection refused
    .
    Starting domain name service…: bind9 failed!

  24. Hola henser, el primer error se debe a que el bind aún no está corriendo deberia ser el comando:

    /etc/init.d/bind9 start

    El segundo debe ser un error en la configuración, debes ver en /var/log/syslog cual es el error que está arrojando para poder ayudarte mejor. Busca las líneas que digan algo de Bind.

    Puedes ejecutar:

    cat /etc/log/syslog

    Para ver los logs

    Saludos
    Olivers

  25. henser says:

    saludos eh logrado corregir varios errores mios pero al configurar el segundo servidor y reiniciar bind me da error

    tail /var/log/syslog
    May 13 00:12:49 Zeus named[2010]: loading configuration: failure
    May 13 00:12:49 Zeus named[2010]: exiting (due to fatal error)
    May 13 00:17:02 Zeus /USR/SBIN/CRON[5274]: (root) CMD ( cd / && run-parts –report /etc/cron.hourly)
    May 13 00:17:35 Zeus named[5719]: starting BIND 9.5.1-P1 -u bind -t /var/lib/named
    May 13 00:17:35 Zeus named[5719]: found 2 CPUs, using 2 worker threads
    May 13 00:17:35 Zeus named[5719]: using up to 4096 sockets
    May 13 00:17:35 Zeus named[5719]: loading configuration from ‘/etc/bind/named.conf’
    May 13 00:17:35 Zeus named[5719]: /etc/bind/named.conf.local:16: zone ‘compuhenser.no-ip.org’: already exists previous definition: /etc/bind/named.conf.local:10
    May 13 00:17:35 Zeus named[5719]: loading configuration: failure
    May 13 00:17:35 Zeus named[5719]: exiting (due to fatal error)

  26. Hola henser por lo que puedo ver tienes definido dos veces compuhenser.no-ip.org una en el archivo named.conf.local en la línea 10 y 16, revisa eso y dinos como te fue.

    Saludos
    Olivers

  27. henser says:

    hola olivers.

    tu colocas esto

    Y escribimos las siguientes líneas:

    zone “ejemplo.lan” {
    type master;
    file “/etc/bind/zones/master_ejemplo.lan”;
    };

    y luego esto

    Luego modificamos el archivo:

    vim /etc/bind/named.conf.local

    Y escribimos:

    zone “ejemplo.lan” {
    type slave;
    file “/etc/bind/zones/slave_ejemplo.lan”;
    masters { 192.168.249.1; };
    allow-notify { 192.168.249.1; };
    };

    las zonas se llaman igual por eso en las dos coloque compuhenser.no-ip.org

    Saludos

  28. Claro henser pero si te fijas bien una es en el archivo master_ejemplo.lan y otro en /etc/bind/named.conf.local según el error que veo que tienes lo declaraste dos veces dentro del archivo /etc/bind/named.conf.local (es decir está repetido):

    May 13 00:17:35 Zeus named[5719]: /etc/bind/named.conf.local:16: zone ‘compuhenser.no-ip.org’: already exists previous definition: /etc/bind/named.conf.local:10

    Según el error en la línea 10 y 16 tienes definido lo mismo.

    Revisa este archivo y verifica que no repites dos veces al misma zona.

    Saludos
    Olivers

  29. henser says:

    saludos olivers amigo si coloco asi falla

    //
    // Do any local configuration here
    //

    // Consider adding the 1918 zones here, if they are not used in your
    // organization
    //include “/etc/bind/zones.rfc1918″;

    zone “compuhenser.no-ip.org” {
    type master;
    file “/etc/bind/zones/master_compuhenser.no-ip.org”;
    };

    zone “compuhenser.no-ip.org” {
    type slave;
    file “/etc/bind/zones/slave_compuhenser.no-ip.org”;
    masters { 192.168.0.1; };
    allow-notify { 192.168.0.1; };
    };

    pero asi no

    //
    // Do any local configuration here
    //

    // Consider adding the 1918 zones here, if they are not used in your
    // organization
    //include “/etc/bind/zones.rfc1918″;

    zone “compuhenser.no-ip.org” {
    type master;
    file “/etc/bind/zones/master_compuhenser.no-ip.org”;
    };

    zone “compuhenser2.no-ip.org” {
    type slave;
    file “/etc/bind/zones/slave_compuhenser.no-ip.org”;
    masters { 192.168.0.1; };
    allow-notify { 192.168.0.1; };
    };

    otra pregunta como hago para detener el bind el el primer servidos en ns1. saludos

  30. Hola henser, creo que tienes una pequeña confusión, son dos servidores distintos el maestro y el esclavo (una pc es el master y una pc es el slave) si no no hay redundancia, y en el archivo /etc/bind/named.conf.local del esclavo solo debe ir:

    zone “ejemplo.lan” {
    type slave;
    file “/etc/bind/zones/slave_ejemplo.lan”;
    masters { 192.168.249.1; };
    allow-notify { 192.168.249.1; };
    };

    Por eso el error.

    En cuanto a la última pregunta no te entendí muy bien pero para detener el servicio bind ejecutas:

    /etc/init.d/bind9 stop

    Si estas en un ambiente de prueba puedes utilizar máquinas virtuales para simular los dos servidores

    Espero que te sirva cualquier cosa vuelve a preguntar.

    Saludos
    Olivers

  31. holas instale esl bind9 pero cuando ejecuto este comando: /etc/init.d/bind9 start
    me sale: Starting domain name service…: bind9 failed!

  32. Hola Mari, tienes que revisar los logs en busca del error porque con esa información no es suficiente, puedes ver unos comentarios más arriba como verificar el log, debes ejecutar:

    cat /var/log/syslog

    Y ver las líneas que tengan referencia a Bind para ver el error

    Verifica esto y coloca aquí las líneas donde especifica los errores con Bind

    Saludos
    Olivers

  33. hola Oliver, te saludo un joven estudiante de informatica de Peru y te deseo agradecer y felicitar pues tu informacion es muy valioza, para nostros que iniciamos y tenemos alguna duda yo estoy aprendiendo estos temas por internet y me sirvio mucho tu tutorial y tus respuestas gracias, un saludo

    Marco A…

  34. Gerson says:

    Hola Oliver

    Te felicito por tu brilante tutorial, solo necesito saber, ¿si mi ISP entrega solo IP DHCP como hago para cambiarla la ip, en esta configuracion de tu tutorial o solo tomo una ip dinamica de ese pool de direcciones del ISP y la coloco en el archivo de la zona vim /etc/bind/zones/master_ejemplo.lan, y con eso condeno la IP de ese pool, hermano agradezco la respuesta.

    Otro pregunta como hago para que configurar el servidor de correo y el WEB salgan por este mismo servidor DNS y lo tengo instalado en el mismo equipo.

    Nota: el sercio de comunicacion que utilizo son el ISP es un ADSL con IP DHCP

    Gracias de antemano por tu respuesta

  35. Hola Gerson, para este caso que tu proveedor solo te da una IP dinámica debes utilizar un servicio como mydns (hay muchos disponibles la mayoria gratis) que te permite que con direcciones dinámicas tengas una dirección “fija”. Lo otro que debes tener si quieres poner tu propio servidor Web con dominio (ejemplo.com .net o lo que sea) tienes que tener el dominio registrado.

    Disculpa la tardanza en responder

    Saludos
    Olivers

  36. erika says:

    buenas tardes mi problema radica en que tengo el debian instalado en una maquina virtual y pues en el momento de restaurar el bind me dice Stopping domain name service….: bindrndc: connect failed: 127.0.0.1#953: connection refused
    failed!
    Starting domain name service…: bind failed!
    el mismo que le salia a algunos sera que me pueden ayudar ahhh y otra pregunta es necesario tener internet para qeu este servicio pueda instalarce

  37. Hola erika, me preguntas que si es necesario tener internet para que este servicio pueda instalarse, pues si lo quieres instalar a través de apt-get pues si necesitas Internet o algún repositorio local, si tienes el CD o Imagen de Debian puedes probar instalarlo desde ahí. Hay muchos tutoriales en Internet de como colocar el CD como repositorio.

    Si ya instalaste el Bind que no me quedó muy claro por tu comentario, el error que te da debe ser un error en la configuración, debes ver en /etc/log/syslog cual es el error que está arrojando para poder ayudarte mejor. Busca las líneas que digan algo de Bind.

    Puedes ejecutar:

    cat /var/log/syslog

    Para ver los logs

    Saludos
    Olivers

  38. Brehaf says:

    Muy buena olivers he seguido tu tutorial pero me da error, comentarte que soy un poco novato el sistema que tengo es Ubuntu 8.10 .
    cuando escribo:
    /etc/init.d/bind9 start
    sale
    Starting domain name service…: bind9 failed!
    si pengo esto me sale
    /etc/init.d/bind9 restart
    Stopping domain name service…: bind9rndc: connect failed: 127.0.0.1#953: connection refused

    y con esto:
    cat /etc/log/syslog
    da este error
    cat: /etc/log/syslog: No such file or directory

    no se que hacer llevo mas de dos meses buscado informacion pero no soy capaz de hechar a funciona esto

    un saludo

  39. Hola, he realizado todos los pasos que has realizado para crear el servidor dns, pero al arrancarlo me da un problema de permisos, esto es lo que me sale en el log: (uso ubuntu server 9.10)

    Sep 14 15:18:19 srvblackpearl named[15795]: starting BIND 9.5.1-P2 -u bind -t /var/lib/named
    Sep 14 15:18:19 srvblackpearl named[15795]: found 4 CPUs, using 4 worker threads
    Sep 14 15:18:19 srvblackpearl named[15795]: using up to 4096 sockets
    Sep 14 15:18:20 srvblackpearl named[15795]: loading configuration from ‘/etc/bind/named.conf’
    Sep 14 15:18:20 srvblackpearl named[15795]: none:0: open: /etc/bind/named.conf: permission denied
    Sep 14 15:18:20 srvblackpearl named[15795]: loading configuration: permission denied
    Sep 14 15:18:20 srvblackpearl named[15795]: exiting (due to fatal error)
    Sep 14 15:18:20 srvblackpearl kernel: [16970.350478] type=1503 audit(1252934300.001:34): operation=”inode_permission” requested_mask=”r::” denied_mask=”r::” fsuid=108 name=”/var/lib/named/etc/bind/named.conf” pid=15799 profile=”/usr/sbin/named

  40. Hola juan, estás utilizando sudo para iniciar el DNS?

  41. Oliver
    Hola, sabes me muestra el siguiente error cuando reinicio bin

    etc/init.d/bind9 restart
    Stopping domain name service…: bind9rndc: connect failed: 127.0.0.1#953: connection refused

    busque el ficherosyslog en /etc/log/syslog pero en etc no existe el directorio log, como puedo solucionar este problema.

    te lo agradecería.

  42. Hola victor, yo me equivoque en el comentario un lapsus mental y coloque mal el directorio donde se encuentran los logs, el correcto es:

    /var/log/syslog

    El problema que te sale me parece que es debido a que no estás ejecutando como root, debes ser root para poder ejecutar este comando

    Saludos
    Olivers

  43. Maricruz says:

    Hola, estoy tratando de configurar un DNS en Ubunto 9.10Server, pero tengo un error: **SERVER CAN´T FIND X.X.X.10.in-addr.arpa; SERVFAIL cuando intento que en el comando nslookup me resuelva el servidor tecleando la direccion ip. Cuando utilizo sistemas.com (nombre del dominio) si resuelve correcto el servidor DNS. Cual puede ser error?

  44. Miguel says:

    Hola Oliver

    Se puede montar un servicio DNS con BIND teniendo una IP DINAMICA??
    Si se usa un servicio como no-ip o dyndns o cdmon podrias pasarme un ejemplo via coreo o mejor postearlo… ya que deseo montar un server de correo y tengo problemas con el MX.

    Muchas Gracias
    Miguel

  45. Jorge says:

    Hola Oliver bueno para empezar he seguido al pie el tutorial y me ha resultado bien, localmente dentro de mi pc ejecuto http://www.sole.org y me da la pagina todo chido.
    dentro del Fordware bueno esa cosa tengo 4 isp 3 de la compañia que me da el servicio de internet y el otro es que publicaste, bueno ahora el problema es como le hago para que pueda verlo en otra maquina que de este dentro de la red o sea desde internet, para empezar en mi modem tango direccionado el puerto 80 y el 53 hacia mi ip 192.168.0.12 OK. Bueno yo he provado desde otra maquina ajena a mi red
    con http://www.sole.org y me da error pero si escribo mi ip publica que podriamos decir que es esta 201.170.20.90 si puedo ver mi pagina a que se debe esto. si puedes ayudarme te agradeceria mucho.

  46. Hola Jorge,

    Si entiendo bien quieres que desde Internet puedan accesar a tu dominio, para hacer esto tienes que tener el dominio registrado (hay muchos sitios de registro de dominios), y ellos normalmente te dan un acceso a un panel de configuración donde colocas las IPs publicas de tu DNS, en este caso del que configuraste.

    Eso tarda unas horas en propagarse a través de los servidores en Internet. Ahora por lo que pude ver ese dominio ya está registrado a estas personas SOLE – The International Society of Logistics.

    No se si sea tu empresa si no lo es tendrías que registrar otro nombre.

    Espero que esto aclare tus dudas, cualquier otra pregunta vuelve a escribir

    Saludos
    Olivers

  47. Cordial Salido Olivers

    Mira tengo el siguiente problema y me gustaria que me colaboraras si no es molestia… te pego el error:

    Sistema Fedora 13
    [root@redes named]# service named start
    Starting named: [FAILED]

    [root@redes named]# tail -f /var/log/messages
    May 30 04:28:56 redes named[3768]: starting BIND 9.7.0-P1-RedHat-9.7.0-9.P1.fc13 -u named -t /var/named/chroot
    May 30 04:28:56 redes named[3768]: built with ‘–build=i386-redhat-linux-gnu’ ‘–host=i386-redhat-linux-gnu’ ‘–program-prefix=’ ‘–disable-dependency-tracking’ ‘–prefix=/usr’ ‘–exec-prefix=/usr’ ‘–bindir=/usr/bin’ ‘–sbindir=/usr/sbin’ ‘–sysconfdir=/etc’ ‘–datadir=/usr/share’ ‘–includedir=/usr/include’ ‘–libdir=/usr/lib’ ‘–libexecdir=/usr/libexec’ ‘–sharedstatedir=/var/lib’ ‘–mandir=/usr/share/man’ ‘–infodir=/usr/share/info’ ‘–with-libtool’ ‘–localstatedir=/var’ ‘–enable-threads’ ‘–enable-ipv6′ ‘–with-pic’ ‘–disable-static’ ‘–disable-openssl-version-check’ ‘–with-pkcs11=/usr/lib/pkcs11/PKCS11_API.so’ ‘–with-dlz-ldap=yes’ ‘–with-dlz-postgres=yes’ ‘–with-dlz-mysql=yes’ ‘–with-dlz-filesystem=yes’ ‘–with-gssapi=yes’ ‘–disable-isc-spnego’ ‘build_alias=i386-redhat-linux-gnu’ ‘host_alias=i386-redhat-linux-gnu’ ‘CFLAGS= -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector –param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables’ ‘CPPFLAGS= -DDIG_SIGCHASE’
    May 30 04:28:56 redes named[3768]: adjusted limit on open files from 1024 to 1048576
    May 30 04:28:56 redes named[3768]: found 1 CPU, using 1 worker thread
    May 30 04:28:56 redes named[3768]: using up to 4096 sockets
    May 30 04:28:56 redes named[3768]: loading configuration from ‘/etc/named.conf’
    May 30 04:28:56 redes named[3768]: reading built-in trusted keys from file ‘/etc/named.iscdlv.key’
    May 30 04:28:56 redes named[3768]: using default UDP/IPv4 port range: [1024, 65535]
    May 30 04:28:56 redes named[3768]: using default UDP/IPv6 port range: [1024, 65535]
    May 30 04:28:56 redes named[3768]: listening on IPv4 interface lo, 127.0.0.1#53
    May 30 04:28:56 redes named[3768]: listening on IPv4 interface eth1, 192.168.1.1#53
    May 30 04:28:56 redes named[3768]: listening on IPv6 interface lo, ::1#53
    May 30 04:28:56 redes named[3768]: generating session key for dynamic DNS
    May 30 04:28:56 redes named[3768]: could not configure root hints from ‘named.ca’: permission denied
    May 30 04:28:56 redes named[3768]: loading configuration: permission denied
    May 30 04:28:56 redes named[3768]: exiting (due to fatal error)

    Mil Gracias

  48. Hola Juan, este es un problema con el SELinux en Fedora, RedHat etc, que no permite que se modifiquen los archivos master del servidor Bind.

    Debes modificar SELinux para que permita modificar los archivos maestros (master) en el servidor maestro por el named (menos seguro) o llevar los archivos que quieras modificar a los directorios que crea SELinux para estos archivos:

    named_zone_t : para los archivos de zonas – $ROOTDIR/var/named/*
    named_conf_t : archivos de configuracion named – $ROOTDIR/etc/{named,rndc}.*
    named_cache_t: archivos modificables por named – $ROOTDIR/var/{tmp,named/{slaves,data}}

    Si quieres saber quien es $ROOTDIR simplemente ejecuta echo $ROOTDIR.

    Quizas esto te sirva de ayuda:

    http://www.bind9.net/BIND-FAQ (Busca la parte de SELinux)

    https://lists.isc.org/pipermail/bind-users/2005-December/060469.html

    Espero que esto te sirva

    Saludos
    Olivers

  49. Hey! mira esto bro:
    [root@redes named]# service named restart
    Stopping named: [ OK ]
    Starting named: [ OK ]

    Hombre muchisimas gracias, copie los archivos de configuracion a /var/named/chroot en sus respectivas carpetas y corrio

    Un Abrazo!

Deja tu comentario, duda o sugerencia

Agrega tu comentario, o trackback desde tu sitio web. Tambien puedes Registrarte o ingresar en Vensign para obtener mucho más (volveras a esta página luego de registrarte)

Puedes utilizar el siguiente código HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Este blog soporta Gravatares. Para obtener tu avatar, por favor registrate en Gravatar.

54 queries. 1,788 seconds.