Inicio > Hosting > Instalar y configurar un servidor DNS con Ubuntu Server paso a paso

Instalar y configurar un servidor DNS con Ubuntu Server paso a paso


Los valores que debemos tener claros antes de comenzar son los siguientes:

  • Dirección IP del servidor: 192.168.2.1 ( sustituir por la ip propia )
  • Nombre del servidor: servidor
  • Dominio que vamos a crear: test.lan

Estos valores deberemos sustituirlos por los que necesitemos en cada caso.

Los pasos para instalar y configurar Bind en Ubuntu Server son los siguientes:

  1. Actualizamos la información de los repositorios con el siguiente comando:sudo aptitude update
  2. Instalamos el servidor DNS Bind9:sudo aptitude install bind9
  3. Hacemos una copia de seguridad del archivo que vamos a modificar:sudo cp /etc/bind/named.conf.local{,.original}
  4. Editamos el archivo /etc/bind/named.conf.local con el siguiente comando:sudo nano /etc/bind/named.conf.localy añadimos el siguiente contenido:
    zone "test.lan" {
      type master;
      file "db.test.lan";
    };
    
    zone "2.168.192.in-addr.arpa" {
      type master;
      file "db.192.168.2";
    };

    Esto se puede ver en la siguiente captura de pantalla:

    Editamos el archivo /etc/bind/named.conf.localEditamos el archivo /etc/bind/named.conf.local

    Para guardar el archivo debemos pulsar la combinación de teclas Control+O y para salir Control+X.

  5. Para comprobar la sintaxis de los archivos de configuración ejecutamos el siguiente comando:named-checkconfSi no aparece nada, la sintaxis de los archivos de configuración es correcta. ¡Ojo! Eso no significa que no haya ningún error, sólo que no hay errores de sintaxis.
    Ejecución de named-checkconf sin erroresEjecución de named-checkconf sin errores

    Si hubiésemos cometido un error de sintaxis, nos aparecería indicado junto a la línea en la que ocurre. En el siguiente ejemplo puede verse que en el archivo /etc/bind/named.conf.local en la línea 15 hay un error:

    Ejecución de named-checkconf con un error Ejecución de named-checkconf con un error

  6. Creamos el archivo /var/cache/bind/db.test.lan:sudo nano /var/cache/bind/db.test.lane incluimos el siguiente contenido:
    $ORIGIN test.lan.
    $TTL 86400 ; 1 dia
    @       IN      SOA     servidor        postmaster (
            1    ; serie
            6H   ; refresco (6 horas)
            1H   ; reintentos (1 hora)
            2W   ; expira (2 semanas)
            3H   ; mínimo (3 horas)
    )
             NS     servidor
    servidor A      192.168.2.1

    El contenido del archivo es bastante especial y no lo vamos a comentar pero para más información se puede leer el RFC 1912 y el RFC 2308. Aquí deberíamos añadir todos los equipos de nuestra red que quisiéramos mantener identificados pero como es más fácil hacerlo con DDNS (Dynamic DNS) ya lo veremos en otra ocasión.

  7. Comprobamos la zona que acabamos de crear (test.lan):named-checkzone test.lan /var/cache/bind/db.test.lanEn esta ocasión siempre nos aparecerá una salida, ya sea para indicarnos que todo está bien (OK) o algún error.
    Ejecución de named-checkzone sin erroresEjecución de named-checkzone sin errores

  8. A continuación creamos el archivo /var/cache/bind/db.192.168.2 para la zona inversa:sudo nano /var/cache/bind/db.192.168.2e incluimos el siguiente contenido:
    $ORIGIN 2.168.192.in-addr.arpa.
    $TTL 86400     ; 1 dia
    @       IN      SOA     servidor        postmaster (
            1      ; serie
            6H     ; refresco (6 horas)
            1H     ; reintentos (1 hora)
            2W     ; expire (2 semanas)
            3H     ; mínimo (3 horas)
    )
           NS      servidor.test.lan.
    1      PTR     servidor.test.lan.

    El número 1 se corresponde con el último dígito de la dirección IP del servidor (192.168.2.1).

  9. Comprobamos la zona inversa recién creada:named-checkzone 2.168.192.in-addr.arpa /var/cache/bind/db.192.168.2Al igual que antes obtendremos un mensaje para indicarnos tanto si la zona es correcta como si no lo es.
    Ejecución de named-checkzone sin erroresEjecución de named-checkzone sin errores

  10. Reiniciamos el servicio:sudo service bind9 restartSi todo va bien, veremos que está OK.
    Reiniciamos el servicioReiniciamos el servicio

  11. Revisamos el log para comprobar que todo ha ido bien. Aunque se puede hacer con el comando tail, yo prefiero less porque me permite ver todo el contenido del mismo:less /var/log/syslogEl resultado se puede ver en la siguiente captura:
    Comprobamos que no hay errores en syslogComprobamos que no hay errores en syslog

    Para salir deberemos pulsar la tecla q.

  12. Editamos el archivo /etc/resolv.conf para que nuestro servidor resuelva las peticiones DNS:sudo nano /etc/resolv.confCambiando el primero de los servidores DNS por la IP del nuestro:
    nameserver 192.168.2.1
    nameserver 8.8.8.8
  13. Probamos nuestro servidor de nombres:dig test.lanLa respuesta será muy parecida a la siguiente:
    Ejecución de dig sliceoflinux.lanEjecución de dig test.lan

  14. Probamos la resolución inversa:dig -x 192.168.2.1Esta sería la salida esperada del comando anterior:
    Ejecucuión de dig -x 192.168.2.1Ejecución de dig -x 192.168.2.1

Categorías:Hosting
  1. marzo 31, 2013 a las 6:30 pm

    I’m very pleased to discover this site. I wanted to thank you for your time for this fantastic read!! I definitely enjoyed every bit of it and i also have you book-marked to check out new stuff in your site.

  2. abril 1, 2013 a las 1:10 am

    I am in fact grateful to the holder of this web
    page who has shared this great paragraph at at this time.

  3. abril 25, 2013 a las 5:47 pm

    Howdy! I could have sworn I’ve been to this website before but after reading through some of the post I realized it’s new to me.
    Anyhow, I’m definitely glad I found it and I’ll be bookmarking and
    checking back frequently!

  4. mayo 15, 2013 a las 1:11 pm

    I was suggested this website by my cousin. I am not sure whether this post is written
    by him as no one else know such detailed about my difficulty.

    You’re amazing! Thanks!

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: