DNS Master en paloma
Instalación de un servisor DNS Master en paloma:
Conceptos
El DNS es un servicio repartido que tiene dos objetivos principales:
- Traducir una dirección canónica en una dirección IP, por ejemplo pedrera.taller.curerocha.edu.uy a su IP: 164.73.234.102
- Traducir una dirección IP en una o varias direcciones canónicas, lo que se conoce como traducción inversa.
El "DNS Master" de una zona (por ejemplo taller.curerocha.edu.uy) es el servidor donde se almacena y actualiza la información de los dominios bajo esta zona, y que provee esta información a otros servidores en la red.
Además de un DNS Master es necesario crear un servidor secundario (esclavo), que proporcionará robustez y fiabilidad. Un servidor esclavo es simplemente un servidor de nombres que replica los ficheros de las zonas de un maestro.
Para que un servidor sea DNS Master de una zona, es necesario que el DNS master de la zona de nivel superior le delegue la gestión de dominios (por ejemplo, curerocha.edu.uy es la zona superior de taller.curerocha.edu.uy)
Objetivos
Crear un DNS master para las zonas que nos han sido delegadas:
- taller.csic.edu.uy (que nos fue delegada desde CSIC)
- taller.curerocha.edu.uy, que nos fue delegada pos SeCIU, que maneja curerocha.edu.uy
Instalación
Necesitamos BIND y algunos utilitarios:
# sudo apt-get install bind9 bind9-doc dnsutils
Configuración
Los archivos de configuracion del Bind están en /etc/bind/
$ sudo vi /etc/bind/named.conf.options
// Archivo de configuracion del DNS master de // taller.curerocha.edu.uy y taller.csic.edu.uy // acl redesNegadas: define las redes a denegar consultas al servidor DNS acl redesNegadas { 0.0.0.0/8; 1.0.0.0/8; 172.16.0.0/12; 10.0.0.0/8; 192.168.0.0/16; 169.254.0.0/16; }; options { //desactivamos la cache acache-enable no; directory "/var/cache/bind"; //No es necesario forwardear //forwarders { // 164.73.128.5; // 164.73.128.70; // }; //No permitimos las consultas salvo las de nuestro servidor allow-query { 127.0.0.1; }; # allow-query { none; }; //No permitimos las recusion # allow-recursion { none; }; allow-recursion { 127.0.0.1; }; //Incluimos las redes de la acl redesNegadas a la lista negra blackhole { redesNegadas; }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; // 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. };
$ sudo vi/etc/bind/named.conf.local
Editamos este archivo para definir las zonas directas e inversas de nuestro dominio, y los archivos donde estarán las configuraciones de las mismas.
// // Do any local configuration here // //Definimos nuestra zona de dominio taller.csic.edu.uy //Nuestro dns solo va a contestar por esta zona zone "taller.csic.edu.uy"{ type master; file "/etc/bind/db.taller.csic.edu.uy"; allow-query { any;}; // permitimos transferencia desde nuestro servidor "DNS slave" allow-transfer { 164.73.68.10; }; }; zone "taller.curerocha.edu.uy"{ type master; file "/etc/bind/db.taller.curerocha.edu.uy"; allow-query { any;}; // permitimos transferencia desde nuestro servidor "DNS slave" allow-transfer { 164.73.68.10; }; }; zone "234.73.164.in-addr.arpa"{ type master; file "/etc/bind/db.164.73.234"; allow-query { any;}; // permitimos transferencia desde nuestro servidor "DNS slave" allow-transfer { 164.73.68.10; }; }; //include "/etc/bind/zones.rfc1918";
Los archivos de zonas
Tipos de registros del DNS:
Tipo Nombre Función Zona SOA Start Of Authority Define una zona representativa del DNS NS Name Server Identifica los servidores de zona, delega subdominios Básicos A Dirección IPv4 Traducción de nombre a dirección AAAA Dirección IPv6 original Actualmente obsoleto PTR Puntero Traducción de dirección a nombre $TTL: Indica el tiempo de vida (Time To Live) de la información contenida en el fichero. Es decir, el tiempo máximo de validez, tras el cual deberá refrescarse o actualizarse. @ IN SOA, el registro SOA (Start Of Authority) es siempre el primer recurso en un fichero de zona. El símbolo "@" equivale a la directiva $ORIGIN Este sería el esqueleto de este registro: @ IN SOA <primary-name-server> <hostmaster-email> ( <serial-number> ; Se incrementa cuando se modifica el fichero de la zona <time-to-refresh> ; Tiempo para los servidores secundarios (esclavos) actualicen los registros <time-to-retry> ; Tiempo para el servidor esclavo antes de solicitar una actualización, si el Master no responde <time-to-expire> ; Si el master no responde antes de que expire este tiempo, el servidor esclavo deja de actuar como servidor de zona <minimum-TTL> ) ; Time to live negativo
$ sudo vi/etc/bind/db.taller.csic.edu.uy
; ; Archivo BIND de definición de zona taller.csic.edu.uy ; $TTL 86400 ; 1D @ IN SOA paloma.taller.csic.edu.uy. root.paloma.taller.csic.edu.uy. ( 2011060903 ; Serial 6H ; Refresh 1D ; Retry 1W ; Expire 10M ) ; Negative Cache TTL ; 1D ) ; Negative Cache TTL ; ; Servidores de nombres y dirección IP de zona ; @ IN NS paloma.taller.csic.edu.uy. @ IN NS gould.csic.edu.uy. @ IN A 164.73.234.104 ; ; Nombres canónicos de servidores e interfaces ; paloma IN A 164.73.234.104 garzon IN A 164.73.234.126 ; ; Alias a nombres canónicos, para los servicios ; base-de-datos IN CNAME paloma bdd IN CNAME paloma mediawiki IN CNAME paloma wiki IN CNAME paloma tikiwiki IN CNAME paloma
$ sudo vi/etc/bind/db.taller.curerocha.edu.uy
; ; Archivo BIND de definición de la zona taller.curerocha.edu.uy ; $ORIGIN taller.curerocha.edu.uy. $TTL 86400 ; 1D @ IN SOA paloma.taller.csic.edu.uy. root.paloma.taller.csic.edu.uy. ( 2011060909 ; Serial 6H ; Refresh 1D ; Retry 1W ; Expire 10M ) ; Negative Cache TTL ; 1D ) ; Negative Cache TTL ; ; Servidores de nombres y dirección IP de zona ; @ IN NS paloma.taller.csic.edu.uy. @ IN NS gould.csic.edu.uy. @ IN A 164.73.234.104 ; ; Nombres canónicos de servidores e interfaces ; paloma IN A 164.73.234.104 garzon IN A 164.73.234.126 ; ; Alias a nombres canónicos, para los servicios ; base-de-datos IN CNAME paloma bdd IN CNAME paloma tikiwiki IN CNAME paloma wiki IN CNAME paloma mediawiki IN CNAME paloma
$ sudo vi/etc/bind/db.164.73.234
; ; Archivo BIND de definición de zona inversa a taller.csic.edu.uy ; $TTL 86400 ; 1D @ IN SOA taller.csic.edu.uy. root.taller.csic.edu.uy. ( 2011060901 ; Serial 6H ; Refresh 1D ; Retry 1W ; Expire 1D ) ; Negative Cache TTL ; @ IN NS taller.csic.edu.uy. @ IN PTR taller.csic.edu.uy. 104 IN PTR paloma.taller.csic.edu.uy. 126 IN PTR garzon.taller.csic.edu.uy.
Editamos el archivo /etc/reslov.conf
En este archivo se indica el dominio al que pertenece el ordenador (palabra clave search) y la dirección del servidor de nombres (palabra clave nameserver) al que se debe dirigir. Cuando se intente resolver un nombre que no esté totalmente cualificado se intentará generar un nombre válido añadiendo la entrada de search.
$ sudo vi /etc/resolv.conf
search taller.csic.edu.uy domain taller.csic.edu.uy nameserver 164.73.128.5 nameserver 164.73.128.70
Referencias:
http://linuxsilo.net/articles/bind.html
http://www.javcasta.com/2011/05/09/ubuntu-servidor-dns-cache-para-una-red-local-lan-stub-con-bind9/
http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/s1-bind-zone.html