Implementación de un servidor DNS
Ya está de sobra mencionar que debemos comenzar con actualizar nuestro sistema:
apt-get update apt-get upgrade apt-get dist-upgrade
Tras lo cuál instalamos nuestro servidor:
apt-get install bind9
Con respecto a la configuración, comenzamos habilitando nuestro servidor como "forwarder" editando el archivo /etc/bind/named.conf.options buscando la siguiente sección, y colocando las direcciones de DNS's ya funcionales, para este ejemplo utilizaremos los que nos proporciona google:
options { directory "/var/cache/bind" // If there is a firewall between you and nameservers you want // to talk to, you may need to fix the firewall to allow multiple // ports to talk. See http://www.kb.cert.org/vuls/id/800113 // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0's placeholder. forwarders { 8.8.8.8; 4.4.8.8; }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; };
A continuación, creamos el archivo /etc/bind/named.conf.local para declarar nuestro dominio, que será manejado por nuestro DNS:
zone "ficticio.mx" { type master; file "/etc/bind/db.ficticio.mx"; allow-query { any; }; };
Analizándo el contenido del archivo anterior vemos que se ha declarado el dominio como de tipo "master" puesto que estamos configurando nuestro DNS como primario, si fuera secundario deberiamos declararlo como "slave". A continuación se especifica el archivo que contendrá la configuración y base de datos de los equipos que conformarán nuestro dominio. Y luego se especifica que cualquier equipo podrá realizar consultas en nuestro servidor.
Posteriormente creamos nuestro archivo de base de datos /etc/bind/db.ficticio.mx con el siguiente contenido:
; ; Archivo de configuración para la zona ficticio.mx ; $TTL 604800 @ IN SOA ficticio.mx. root.ficticio.mx ( 201203101 ; Serial 1200 ; Refresh 300 ; Retry 2419200 ; Expire 1200 ) ; Negative Cache TTL ; ficticio.mx. IN NS ns1.ficticio.mx. ficticio.mx. IN NS ns2.ficticio.mx. ficticio.mx. IN MX 10 mail.ficticio.mx. ; localhost IN A 127.0.0.1 ficticio.mx. IN A 192.168.1.216 ; ns1 IN A 192.168.1.216 ; www IN A 192.168.1.216 mail IN A 192.168.1.216 ftp IN A 192.168.1.216 ;
Dónde la instrucción TTL (Time To Live) indica la validez (en segundos) de la consulta, tras la cual deberá ejecutarse una actualización. 604800 segundos equivalen a una semana.
El número Serial debería incrementarse cada vez que se modifica la zona. El campo Refresh indica el intervalo de tiempo que los DNS secundarios deben refrescar la información del archivo de zona si han habido cambios (20 munutos). Retry indica el intervalo de tiempo que los DNS secundarios deben reintentar actualizar la información si el DNS primario no responde (5 minutos). Expire indica el tiempo que el DNS secundario expira como servidor de nombres de la zona en caso el DNS primario no responda a requerimiento de actualización (4 semanas). Negative Cache TTL indica el TTL en caso de una consulta con respuesta negativa (20 minutos).
Posteriormente se enlistan en el mismo archivo los nombres a los que responderán los dispositivos que intergran nuestro dominio y su dirección IP correspondiente.
Ahora, para que nuestro servidor sea capaz de responder con un nombre de dominio cuando se le envíe una dirección IP debemos realizar la configuración de una zona inversa, para lo cuál, al archivo /etc/bind/named.conf.local le agregamos las siguientes líneas:
zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/db.1.168.192.in-addr.arpa"; allow-query { any; }; };
A continuación creamos la base de datos para esta zona inversa, en el archivo /etc/bind/db.1.168.192.in-addr.arpa, con el siguiente contenido:
; ; Archivo de configuración de zona inversa 1.168.192 ; $TTL 604800 @ IN SOA ficticio.mx. root.ficticio.mx. ( 201203101 ;Serial 1200 ;Refresh 300 ;Retry 2419200 ;Expire 1200 ) ;Negative Cache TTL ; @ IN NS ficticio.mx. ; 216 IN PTR www.ficticio.mx. 216 IN PTR mail.ficticio.mx. 216 IN PTR ftp.ficticio.mx. ;
Tras esto tenemos todo listo par reiniciar nuestro servidor y tome todas las configuraciones:
service bind9 restart
Si todo esta bien podremos realizar consultas en nuestro servidor, sin recibir error alguno, con los siguientes comandos:
nslookup ficticio.mx
nslookup www.ficticio.mx
nslookup 192.168.1.216
dig www.ficticio.mx
dig -x 192.168.1.216













