Instalación y configuración DNS en Ubuntu

El DNS es una base de datos distribuida y jerárquica que almacena información asociada a nombres de dominio en redes como Internet. Aunque como base de datos el DNS es capaz de asociar diferentes tipos de información a cada nombre, los usos más comunes son la asignación de nombres de dominio a direcciones IP y la localización de los servidores de correo electrónico de cada dominio.

Estos son un resumen de los pasos para instalar un servidor DNS en un servidor Ubuntu:

1.-Instalar software

Tenemos que instalar el paquete bind9. Si utilizamos apt-get ejecutamos la siguiente instrucción:

sudo apt-get install bind9

En el caso de que no tengamos disponible la utilidad apt-get tendremos que instalar el paquete y TODAS sus dependencias por el método tradicional:

sudo dpkg -i bind9_9.3.2-2ubuntu1.12_i386.deb

2.- Creación del fichero named.conf.local

Tenemos que editar el siguiente fichero para definir las zonas (nombres de dominio) que queramos configurar:

sudo vi /etc/bind/named.conf.local

E introducimos lo siguiente, reemplazando 2 variables:

– Reemplazamos server.com por el dominio que nosotros deseemos:
– Reemplazamos 0.168.192 por la dirección de la red al revés, por ejemplo, si estuvieramos en una red 10.228.20.x, introduciríamos 0.20.228.10

# This is the zone definition. replace example.com with your domain name
zone "server.com" {
        type master;
        file "/etc/bind/zones/server.com.db";
        };

# This is the zone definition for reverse DNS. replace 0.168.192 with your network address in reverse notation - e.g my network address is 192.168.0
zone "0.168.192.in-addr.arpa" {
     type master;
     file "/etc/bind/zones/rev.0.168.192.in-addr.arpa";
};

3.- Editar el fichero de opciones named.conf.options

sudo vi /etc/bind/named.conf.options

En este fichero sólo tenemos que establecer la dirección IP de nuestros DNS de la red. En el caso de que el servidor DNS que estamos montando no sepa resolver el dominio, reenviará la petición a estos DNS

forwarders {
      # Replace the address below with the address of your provider's DNS server
      123.123.123.123;
	  123.123.123.124;
};

4.- Crear los ficheros de configuración de nuestra zona:

sudo mkdir /etc/bind/zones

Miramos el nombre del fichero que habíamos definido en el fichero /etc/bind/named.conf.local, en nuestro caso es /etc/bind/zones/server.com.db
y cremos el fichero:

sudo vi /etc/bind/zones/server.com.db

En este fichero ya es donde tenemos que definir la equivalencia entre ips y dominios:

;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     server.com. root.server. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@ IN NS  server.com.
server.com IN A 1.1.1.1
server1 IN A 1.1.1.2

IMPORTANTE: Eliminar todos los comentarios de la forma //, A mí me dio problemas. Y ojo también con los “.” después del nombre del dominio, no se pueden eliminar.

El siguiente punto de configuración es crear el fichero de reverse DNS zone, que a partir de una ip nos dirá el dominio.

Nos fijamos en el fichero que habíamos definido en el fichero /etc/bind/named.conf.local, en nuestro caso teníamos: file “/etc/bind/zones/rev.0.168.192.in-addr.arpa”;
Por lo que el fichero sería:

sudo vi /etc/bind/zones/rev.0.168.192.in-addr.arpa
//replace server.com with yoour domain name, ns1 with your DNS server name.
// The number before IN PTR server.com is the machine address of the DNS server. in my case, it's 1, as my IP address is 192.168.0.1.
@ IN SOA ns1.example.com. admin.example.com. (
                        2006081401;
                        28800;
                        604800;
                        604800;
                        86400
)

                     IN    NS     ns1.server.com.
1                    IN    PTR    server.com
120					 IN    PTR    server2

IMPORTANTE: El número “1” que tenemos en la última fila es la dirección de la máquina de la red, por ejemplo, si tenemos un servidor con ip 192.168.0.120, el número que tenemos que poner es 120.

5.- Configurar este DNS en nuestra máquina (/etc/resolv.conf)

Introducimos el nuevo servidor DNS y dejamos también por si acaso el servidor DNS original de nuestra red.

search server.com
nameserver 192.168.0.1
nameserver 1.1.1.1

6.- Reiniciar el servicio bind y probar el servidor DNS

Por último reiniciamos el servicio bind y probamos que funciona.

sudo /etc/init.d/bind9 restart

Hay varias utilizades para saber si funciona: dig, nslookup y ping:

dig server.com
dig server1.server.com
nslookup 192.168.0.1
ping server1.server.com

Referencia:

https://help.ubuntu.com/6.06/ubuntu/serverguide/C/dns.html

https://help.ubuntu.com/community/BIND9ServerHowto

http://es.wikipedia.org/wiki/Domain_Name_System

Anuncios
Esta entrada fue publicada en mini-tutorial y etiquetada . Guarda el enlace permanente.

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