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!!