Servidor con Debian: Instalación y configuración de un servidor DNS

Buenos días, continuamos con la saga de configuración del servidor con Debian, donde la última entrega fue:

Instalación y configuración de un servidor web (IV)

En esta entrada os explicaré como instalar y configurar un servidor DNS para asignar ips a los clientes de nuestra red y a las páginas web.

Instalando un DNS en nuestro servidor, además podremos conseguir aumentar la velocidad de navegación de nuestros clientes. Al tener un servidor DNS en la red local, aumenta considerablemente la velocidad de respuesta de éste hacía las peticiones de nuestros clientes, ya que, esas peticiones tienen un tiempo de vida (TTL) que sirve para cuando otro cliente pida la misma petición, le responda con la información que obtuvo en la primera consulta.

Instalación del servidor DNS

La aplicación que utilizaremos será Bind9. Para instalarlo seguiremos los siguientes pasos:

  1. Nos logueamos como root.
  2. Ejecutamos el comando
    apt-get install bind9
  3. Ya tenemos la aplicación, ahora procederemos a configurarla.

Configuración de Bind9

Para realizar su configuración, seguiremos los siguientes pasos:

  1. Lo primero de todo, será añadir en el fichero de la ruta /etc/bind/named.conf.local las siguientes lineas (en negritas)
    //
    // 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 "spotype.com" {
     #Tipo de servidor,en nuestro caso el maestro
     type master;
     #El archivo que contiene la configuración de resolución directa
     file "db.spotype";
     allow-query {192.168.1.0/24;};
    };
    zone "1.168.192.in-addr.arpa" {
     type master;
     #El archivo que contiene la configuración de resolución inversa
     file "db.192.168.1";
     allow-query {192.168.1.0/24;};
    };
  2. Ahora nos iremos a la ruta /var/cache/bind/ y crearemos dos archivos, db.spotype y db.192.168.1 con el siguiente comando:
    touch db.spotype
    touch db.192.168.1
  3. Procedemos a editarlos, primero editaremos db.spotype (será el archivo de resolución directa), añadiendo las siguientes lineas
    $TTL 86400 ; 1 day
    @ IN SOA twitter.spotype.com. mail.spotype.com. (
     19423 ; serial
     21600 ; refresh (6 hours)
     3600 ; retry (1 hour)
     604800 ; expire (1 week)
     21600 ; minimum (6 hours)
     )
    spotype.com. IN NS twitter.spotype.com.
    
    $ORIGIN spotype.com.
    twitter    IN  A     192.168.1.254
    tuenti     IN  A     192.168.1.3
    facebook   IN  A     192.168.1.200
    plataforma IN CNAME twitter
    www        IN CNAME twitter
    revista    IN CNAME twitter
  4. Ahora editaremos db.192.168.1 (será el archivo de resolución inversa), añadiendo las siguientes lineas:
    $TTL 86400 ; 1 day
    @ IN SOA twitter.spotype.com. mail.spotype.com. (
     12998 ; serial
     21600 ; refresh (6 hours)
     3600 ; retry (1 hour)
     604800 ; expire (1 week)
     21600 ; minimum (6 hours)
     )
     @ IN NS twitter.spotype.com.
    
    $ORIGIN 1.168.192.in-addr.arpa
    254 IN  PTR twitter.spotype.com.
    3   IN  PTR tuenti.spotype.com.
    200 IN  PTR facebook.spotype.com.

    NOTA: (debe tener tantos registros PTR como registros A tenga el fichero de la resolución directa)

  5. Guardamos y reiniciamos el servicio bind9
  6. En los clientes, deberemos de modificar el fichero hosts para dejarlo de la manera que estaba, es decir, con la configuración inicial:

    127.0.0.1 locahost 
    ::1

Modificaciones en el servidor DHCP

Las modificaciones realizadas en dicho servidor son las siguientes:

  • En el fichero dhcpd.conf de la ruta /etc/dhcp/ , en la parte de la subnet, cambiamos el dns con la dirección 192.168.2.2 por la de nuestro servidor, para que quede así
    subnet 192.168.1.0 netmask 255.255.255.0 {
    #rango
     range 192.168.1.3 192.168.1.253;
    #puerta de enlace
     option routers 192.168.1.254;
    #dns
     option domain-name-servers 192.168.1.254;
    #broadcast
     option broadcast-address 192.168.1.255;
    #nombre de dominio
     option domain-name "spotype.com";
    }
  • Y reiniciamos el servicio
    service isc-dhcp-server restart

Prueba de funcionamiento: nslookup y dig

Nslookup:

> set q=ns
> spotype.com
Servidor:  twitter.spotype.com
Address:  192.168.1.254

spotype.com     nameserver = twitter.spotype.com
twitter.spotype.com     internet address = 192.168.1.254
 
> set q=a
>plataforma.spotype.com
Servidor:  twitter.spotype.com
Address:  192.168.1.254

Nombre:  twitter.spotype.com
Address:  192.168.1.254
Aliases:  plataforma.spotype.com

> set q=PTR
> 192.168.1.254
Servidor:  twitter.spotype.com
Address:  192.168.1.254

254.1.168.192.in-addr.arpa      name = twitter.spotype.com
1.168.192.in-addr.arpa  nameserver = twitter.spotype.com
twitter.spotype.com     internet address = 192.168.1.254
> www.josedomingo.org
Servidor:  twitter.spotype.com
Address:  192.168.1.254

Respuesta no autoritativa:
Nombre:  www.josedomingo.org
Address:  134.0.11.146

Dig:

root@Facebook:/# dig -t ns spotype.com
; <<>> DiG 9.8.1-P1 <<>> -t ns spotype.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35644
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;spotype.com. IN NS
;; ANSWER SECTION:
spotype.com. 86400 IN NS twitter.spotype.com.
;; ADDITIONAL SECTION:
twitter.spotype.com. 86400 IN A 192.168.1.254
;; Query time: 11 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Feb 10 09:42:43 2014
;; MSG SIZE rcvd: 67

root@Facebook:/# dig plataforma.spotype.com
; <<>> DiG 9.8.1-P1 <<>> plataforma.spotype.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18538
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;plataforma.spotype.com. IN A
;; ANSWER SECTION:
plataforma.spotype.com. 86400 IN CNAME twitter.spotype.com.
twitter.spotype.com. 86400 IN A 192.168.1.254
;; AUTHORITY SECTION:
spotype.com. 86400 IN NS twitter.spotype.com.
;; Query time: 4 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Feb 10 09:34:49 2014
;; MSG SIZE rcvd: 92

root@Facebook:/# dig -x 192.168.1.254
; <<>> DiG 9.8.1-P1 <<>> -x 192.168.1.254
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35578
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;254.1.168.192.in-addr.arpa. IN PTR
;; ANSWER SECTION:
254.1.168.192.in-addr.arpa. 86400 IN PTR twitter.spotype.com.
;; AUTHORITY SECTION:
1.168.192.in-addr.arpa. 86400 IN NS twitter.spotype.com.
;; ADDITIONAL SECTION:
twitter.spotype.com. 86400 IN A 192.168.1.254
;; Query time: 13 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Feb 10 09:35:19 2014
;; MSG SIZE rcvd: 107

root@Facebook:/# dig www.josedoming.org
; <<>> DiG 9.8.1-P1 <<>> www.josedoming.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 19135
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;www.josedoming.org. IN A
;; AUTHORITY SECTION:
org. 900 IN SOA a0.org.afilias-nst.info. noc.afilias-nst.info. 2010894054 1800 900 604800 86400
;; Query time: 693 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Feb 10 09:35:55 2014
;; MSG SIZE rcvd: 99
Anuncios

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 )

Google photo

Estás comentando usando tu cuenta de Google. 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 )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.