¿Y tú , sabes cómo instalar y configurar un servidor de DNS de Cache usando Bind en Centos 6/RHEL?

0
994

Se sabe que Bind es el servidor de nombre de dominio de Internet de Berkeley y tiene una gran variedad de usos en los sistemas operativos de red tales como Unix-Linux. Tambien se sabe que  el servicio de DNS nos permite resolver un nombre de dominio en direcciones IP’s.

Para nuestro caso, uno de sus multiples usos de Bind es el sistema de DNS de Cache, el cual nos va a proporcionar la información relacionada a las consultas sobre la base de datos contenidos en la memoria cache del DNS y es autorizada unicamente para el host local, el proposito es disminuir el tiempo de respuesta a las consultas de nuestra o nuestas maquinas locales.

Para ello es necesario instalar las herramientas necesarias tales como:

  • bind
  • bind-utils

 
[root@athena ~]#  yum -y install  bind bind-utils bind-chroot

Verificamos la version del bind con el comando  bind  -v

[root@athena ~]# named -v
BIND 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6
[root@athena ~]#

Ahora bien si tenemos el SELinux activado, hay que solicitar permiso de escritura en los archivos de zona, tal como se muestra a continuacion.

[root@athena ~]# setsebool -P named_write_master_zones 1

y  permitir las consultas del DNS en el puerto 53 agregando unas reglas al firewall usando iptables:

[root@athena ~]# iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 53 -j ACCEPT
[root@athena ~]# iptables -A INPUT -m state –state NEW -m udp -p udp –dport 53 -j ACCEPT

Ahora modificamos el archivo named.conf cambiando y/o agregando los siguentes valores:

listen-on port 53 {127.0.0.1; any;};
listen-on-v6 port 53 {none;};
allow-transfer{none;};
allow-query {localhost; any;};
recursion yes;

dnssec-enable no;  // Deshabilitamos dnssec
dnssec-validation no;  // Deshabilitamos dnssec
dnssec-lookaside auto;

forwarders {XXX.XXX.XXX.XXX; XXX.XXX.XXX.XXX;};
forward first;  // o tambien puede ser
forward only;

allow-recursion { any ; };
allow-query-on {any;};
allow-query-cache { any; };

El IPv6, lo desactivamos, para ello es necesario editar el archivo /etc/sysconfig/named e insertamos un -4 en la seccion de options, tal como se muestra a continuacion.

[root@athena ~]# echo ‘OPTIONS=”-4″‘ >> /etc/sysconfig/named

Ahora abrimos el archivo /etc/resolv.conf y cambiamos el nameserver a 127.0.0.1.

Habilitamos el servicio
[root@athena ~]# chkconfig named on
[root@athena ~]# service named start
[root@athena ~]# service named status
version: 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6
CPUs found: 2
worker threads: 2
number of zones: 8
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
recursive clients: 0/0/1000
tcp clients: 0/100
server is up and running
named (pid  10180) is running…
[root@athena ~]#

Ejecutamos en netstat para ver los puertos.

[root@athena ~]# netstat  -ntul
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 0.0.0.0:902                 0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:2000                0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:8307              0.0.0.0:*                   LISTEN      
tcp        0      0 10.21.203.1:53              0.0.0.0:*                   LISTEN      
tcp        0      0 192.168.183.1:53            0.0.0.0:*                   LISTEN      
tcp        0      0 10.150.99.22:53             0.0.0.0:*                   LISTEN      
tcp        0      0 170.110.20.87:53            0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:53                0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:953               0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:6169              0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:6170              0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:443                 0.0.0.0:*                   LISTEN      
tcp        0      0 :::5900                     :::*                        LISTEN      
tcp        0      0 :::111                      :::*                        LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 ::1:631                     :::*                        LISTEN      
tcp        0      0 :::443                      :::*                        LISTEN      
udp        0      0 0.0.0.0:5000                0.0.0.0:*                               
udp        0      0 0.0.0.0:32802               0.0.0.0:*                               
udp        0      0 0.0.0.0:2727                0.0.0.0:*                               
udp        0      0 0.0.0.0:4520                0.0.0.0:*                               
udp        0      0 10.21.203.1:53              0.0.0.0:*                               
udp        0      0 192.168.183.1:53            0.0.0.0:*                               
udp        0      0 10.150.99.22:53             0.0.0.0:*                               
udp        0      0 170.110.20.87:53            0.0.0.0:*                               
udp        0      0 127.0.0.1:53                0.0.0.0:*                               
udp        0      0 0.0.0.0:68                  0.0.0.0:*                               
udp        0      0 0.0.0.0:5060                0.0.0.0:*                               
udp        0      0 0.0.0.0:975                 0.0.0.0:*                               
udp        0      0 0.0.0.0:4569                0.0.0.0:*                               
udp        0      0 0.0.0.0:111                 0.0.0.0:*                               
udp        0      0 0.0.0.0:631                 0.0.0.0:*                               
udp        0      0 :::975                      :::*                                    
udp        0      0 :::111                      :::*                                    
[root@athena ~]#

Finalmente  la prueba final de un test.

[root@athena ~]# dig @localhost www.midominio.com

 

Suerte!!