Instalar servidor DNS en debian

¿Que DNS?

 

Es e protocolo de resolución de nombres para redes TCP/IP, Como internet. Un servidor DNS aloja la información que permite a los equipos clientes resolver nombres DNS alfanuméricos fáciles de recordar para las direcciones IP que los equipos utilizan para comunicarse entre si.

TIPO DE DOMINIO DNS:

 

DOMINIO DE NIVEL SUPERIOR: Nombre de dos o tres letras que se utiliza para indicar un país, una región o el tipo de organización que usa un nombre: ( Ejemplo: “.com” )

DOMINIO DE SEGUNDO NIVEL: Nombre de longitud variable registrados que un individuo u organización utiliza e internet. Estos nombres siempre se basan en un dominio a nivel superior apropiado, según el tipo de organización o ubicación geográfica donde se utiliza el nombre ( EJEMPLO: “RED-ORBITA.” )

SUBDOMINIO: Nombres adiciones que puede crear una organización derivados del nombre de domino registrado de segundo nivel, Incluyen los nombres agregados para desarrollar del árbol de nombres de DNS en una organizaron y que la dividen en departamentos o ubicaciones geográficas (EJEMPLO: “ ROKITOH.RED-ORBITA.COM”)

Herramientas:

 

Virtualbox (Como siempre)

Debian Stable (Sin interfaz grafica)

Bind9 (Nuestro servidor DNS)

Pues antes de nada vamos a configurar nuestro direccionamiento ip

rokitoh@redorbita:~# nano /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
#iface eth0 inet dhcp
auto eth0
iface eth0 inet static
address 192.168.1.233
netmask 255.255.255.0
gateway 192.168.1.1

Iniciamos la nueva configuracion

 

rokitoh@redorbita:~# /etc/init.d/networking restart
Deconfiguring network interfaces…done.

Instalar y configurar Bind9

 

rokitoh@redorbita:~# apt-get install bind9

Detenemos los servicios de bind9

rokitoh@redorbita:~# /etc/init.d/bind9 stop
Stopping domin name service…: bind9

Editamos el fichero /etc/default/bind9 . Queremos que el demonio del bind se ejecute con el usuario bind sin privilegios, “chrooted” al directorio /var/lib/named. Para ello, buscamos donde pone <<OPTIONS=”-u bind”>> y lo substituimos por <var/lib/named”>

rokitoh@redorbita:~# nano /etc/default/bind9



 

 


#run resolvconf? RESOLVCONF=yes #startup options for the server OPTIONS="-u bind -t /var/lib/named"
 

 

 

Creamos el arbol de directorio


rokitoh@redorbita:~# mkdir -p /var/lib/named/etc rokitoh@redorbita:~# mkdir /var/lib/named/dev rokitoh@redorbita:~# mkdir -p /var/lib/named/var/cache/bind rokitoh@redorbita:~# mkdir -p /var/lib/named/var/run/bind/run
A continuación movemos toda la configuración de bind9 a /var/lib/named/etc
rokitoh@redorbita:~# mv /etc/bind /var/lib/named/etc
Creamos un enlace simbólico de /etc/bind a /var/lib/named/etc/bind
rokitoh@redorbita:~# ln -s /var/lib/named/etc/bind /etc/bind
Creamos los dispositivos "null" y "random" y les damos permisos de lectura y escritura
rokitoh@redorbita:~# mknod /var/lib/named/dev/null c 1 3 rokitoh@redorbita:~# mknod /var/lib/named/dev/random c 1 8 rokitoh@redorbita:~# chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random rokitoh@redorbita:~# chown -R bind:bind /var/lib/named/var/* rokitoh@redorbita:~# chown -R bind:bind /var/lib/named/etc/bind
Solamente cambiaremos quien sera el encargado del arbol de chroot.
rokitoh@redorbita:~# chown ­R bind:bind /var/lib/named/var/* rokitoh@redorbita:~# chown ­R bind:bind /var/lib/named/etc/bind
Necesitamos modificar el archivo de configuración de rsyslogd, para poder tener el registro de los logs de nuestro servicio de DNS.
rokitoh@redorbita:~# nano /etc/default/rsyslogd
# Options for rsyslogd
# -m 0 disables 'MARK' messages (deprecated, only used in compat mode < 3)
# -r enables logging from remote machines (deprecated, only used in compat mode < 3)
# -x disables DNS lookups on messages received with -r
# -c compatibility mode
# See rsyslogd(8) for more details
RSYSLOGD_OPTIONS="-a /var/lib/named/dev/log"

Iniciamos Bind9

 
rokitoh@redorbita:~# /etc/init.d/bind9 start
Para comprobar los errores que se puedan dar en el servidor DNS
 
rokitoh@redorbita:~ less /var/log/syslog

Configurar zonas DNS

 
En las zonas DNS es donde configuramos todos los dominios que vaya a tener nuestro servidor, se
 
debe crear archivo por archivo por cada dominio que se tenga.

TIPOS DE REGISTRO DE ZONAS

 
A = Address (Dirección) Este registro se usa para traducir nombres de hosts a direcciones IPv4.
AAAA = Address(Dirección) Este registro se usa para traducir nombres de hosts a direcciones IPv6.
CNAME = Canonical Name (Nombre Canónico) Se usa para crear nombres de hosts adicionales, o alias, para los hosts de un dominio. Es usado cuando se están corriendo múltiples servicios (como ftp y web server) en un servidor con una sola direccion ip. Cada servicio tiene su propia entrada de DNS (como ftp.ejemplo.com. y www.ejemplo.com.). esto también es usado cuando corres múltiples servidores http, con diferente nombres, sobre el mismo host.
NS = Name Server(Servidor de Nombres) Define la asociación que existe entre un nombre de dominio y los servidores de nombres que almacenan la información de dicho dominio. Cada dominio se puede asociar a una cantidad cualquiera de servidores de nombres.
MX (registro) = Mail Exchange(Registro de Intercambio de Correo) Asocia un nombre de dominio a una lista de servidores de intercambio de correo para ese dominio.
PTR = Pointer – (Indicador) También conocido como 'registro inverso', funciona a la inversa del registro A, traduciendo IPs en nombres de dominio.
 
SOA = Start of authority(Autoridad de la zona) Proporciona información sobre la zona.
HINFO = Host INFOrmation (Información del sistema informático) Descripción del host, permite que la gente conozca el tipo de máquina y sistema operativo al que corresponde un dominio.
TXT = TeXT - ( Información textual) Permite a los dominios identificarse de modos arbitrarios.
LOC = LOCalización - Permite indicar las coordenadas del dominio.
WKS - Generalización del registro MX para indicar los servicios que ofrece el dominio. Obsoleto en favor de SRV.
SRV = SeRVicios - Permite indicar los servicios que ofrece el dominio. RFC 2782
SPF = Sender Policy Framework - Ayuda a combatir el Spam. En este registro se especifica cual o cuales hosts están autorizados a enviar correo desde el dominio dado. El servidor que recibe consulta el SPF para comparar la IP desde la cual le llega, con los datos de este registro.

Configurar el arcivo de zona

 
Nos vamos a la carpeta
 
rokitoh@redorbita:~# cd /etc/bind/
Copiamos al archivo
 
rokitoh@redorbita:/etc/bind~# cp db.255 redorbita.com
Accedemos a redorbita.com
 
rokitoh@redorbita:/etc/bind~# nano redorbita.com
Donde pone "localhost" ahí deberemos poner el nombre de nuestro dominio.
y abajo de todo "A" pondremos nuestra dirección ip.
$TTL    1W
@       IN      SOA     redorbita.com. root.redorbita.com (
2               ; Serial Number
1W            ; Time To Refresh
1D             ; Time To Retry
28D           ; Time To Expire
1W )         ; Negative Cache TTL
;
@       IN      NS      redorbita.com.
@       IN      A       192.168.1.233
Ahora nos toca configurar la zona infeversa
rokitoh@redorbita:/etc/bind~# cp db.125 1.168.192.in.addr.arpa
Accedemos a 1.168.192.in.addr.arpa
 
rokitoh@redorbita:/etc/bind~# nano 1.168.192.in.addr.arpa
Aquí el mismo procedimiento. en "localhost" ponemos nuestro nombre de dominio
 
y "1.0.0" lo remplazamos por nuestra dirección ip
$TTL    1W
@       IN      SOA     redorbita.com. admin.redorbita.com. (
2                     ; Serial Number
1W                  ; Time To Refresh
1D                   ; Time To Retry
28D                  ; Time To Expire
1W )                ; Negative Cache TTL
;
@       IN      NS      redorbita.com.
233.1.168       IN      PTR     redorbita.com.

Configurar named.conf.

  Es el archivo de configuración de nuestro servidor DNS, dentro de el tendremos que agregar algunos parámetros para que mande a llamar los archivos que hemos creados.
rokitoh@redorbita:/etc/bind~# nano named.conf
Solamente modificamos "redorbita.com" que lo tendrás que sustituir por el nombre de tu dominio y las rutas de la zona directa y inversa (Lo que esta en rojo)
zone "255.in­addr.arpa" { type master; file "/etc/bind/db.255"; }; ######################################## #### Agregado por el Administrador ##### ######################################## zone "redorbita.com" { type master; file "/etc/bind/zones/redorbita.com"; }; zone "1.168.192.in­addr.arpa" { type master; file "/etc/bind/zones/1.168.192.in-addr.arpa"; }; ####################################### include "/etc/bind/named.conf.local";

Modificar /etc/resolv.conf

 
Mediante el fichero /etc/resolv.conf podemos indicar los resolvers DNS que va a utilizar un determinado equipo. Hoy veremos como funciona por defecto con un conjunto de resolvers y como configurarlo en round-robin.
 
rokitoh@redorbita:/etc/bind~# nano /etc/resolv.conf
Aquí debemos intruducir la dirección ip de nuestro servidor y el nombre de dominio
domain  redorbita.com nameserver 192.168.1.233

Comprobaciones

  Ahora vamos a comprobar que nuestro servidor funciona correctamente.
rokitoh@redorbita:~# host redorbita.com 192.168.1.233 Using domain server: Name: 192.168.1.233 Address: 192.168.1.233#53 Aliases:

Mediante Netstat

 
rokitoh@redorbita:~# netstat ­tanp | grep named
tcp   0  0 192.168.1.233:53  0.0.0.0:*   LISTEN
tcp   0  0 127.0.0.1:53      0.0.0.0:*   LISTEN
tcp   0  0 127.0.0.1:953     0.0.0.0:*   LISTEN
rokitoh@redorbita:~#