DNS Resolvedor en polonio

De CURE - Informática
Ir a la navegación Ir a la búsqueda

Instalación de un servidor DNS Resolvedor en polonio:

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 zona lan.curerocha.edu.uy (la cual no fue delegada, ya que es solo para consultas internas).
  • Resolver las consultas de las redes internas (10.5.1.0/24, 10.5.2.0/24, 10.5.3.0/24, 10.5.4.0/24 y 10.5.5.0/24).

Instalación

Necesitamos BIND y algunos utilitarios:

# sudo apt-get install bind9 bind9-doc dnsutils

Configuración

Los archivos de configuración del Bind están en /etc/bind/

$ sudo vi /etc/bind/named.conf.options
// Archivo de configuración del DNS Resolvedor y master de
// lan.curerocha.edu.uy

options {
	//Habilitamos el cache
	acache-enable yes;	
	directory "/var/cache/bind";
	// Forwardeamos a los servidores de SeCIU
	 forwarders {
		164.73.128.5;
		164.73.128.70;
	 };

	allow-query {any;};
	auth-nxdomain no;    # conform to RFC1035
	listen-on-v6 { any; };

};

$ 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.

//Definimos nuestra zona de dominio lan.curerocha.edu.uy
//Nuestro dns solo va a contestar por estas zonas a la red local

zone "lan.curerocha.edu.uy"{
	type master;
	file "/etc/bind/db.lan.curerocha.edu.uy";
	allow-query { any;};
};


zone "1.5.10.in-addr.arpa"{
	type master;
	file "/etc/bind/db.10.5.1";
	allow-query { any;};
};

zone "2.5.10.in-addr.arpa"{
	type master;
	file "/etc/bind/db.10.5.2";
	allow-query { any;};
};

zone "4.5.10.in-addr.arpa"{
	type master;
	file "/etc/bind/db.10.5.4";
	allow-query { any;};
};

zone "5.5.10.in-addr.arpa"{
	type master;
	file "/etc/bind/db.10.5.5";
	allow-query { any;};
};

// Consider adding the 1918 zones here, if they are not used in your
// organization
//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.lan.curerocha.edu.uy

;
; Archivo BIND de definición de zona lan.curerocha.edu.uy 
;
$TTL	360 ; 10M caché positivo
@	IN	SOA	polonio.lan.curerocha.edu.uy. root.polonio.lan.curerocha.edu.uy. (
			 2011060903     ; Serial yyyy/mm/dd/id
			 6H		; Refresh
			 1D		; Retry
			 1W		; Expire
			 10M )	; Negative Cache TTL
;
@       IN	NS	polonio.lan.curerocha.edu.uy.
@	IN      A	10.5.2.2      
polonio	IN      A	10.5.2.2
Equipo01	IN      A      10.5.1.101
Equipo02	IN      A      10.5.1.102
Equipo03	IN      A      10.5.1.103
Equipo04	IN      A      10.5.1.104
Equipo05	IN      A      10.5.1.105
Equipo06	IN      A      10.5.1.106
Equipo07	IN      A      10.5.1.107
Equipo08	IN      A      10.5.1.108
Equipo09	IN      A      10.5.1.109
Equipo10	IN      A      10.5.1.110
Equipo11	IN      A      10.5.1.111
Equipo12	IN      A      10.5.1.112
Equipo13	IN      A      10.5.1.113
Secretaria01	IN	A	10.5.4.101
Delegados01	IN	A	10.5.5.102
Docentes01	IN	A	10.5.5.103

$ sudo vi/etc/bind/db.10.5.1

;
; Archivo BIND de definición de zona inversa 1.5.10.in-addr.arpa 
;
$TTL	86400 ; 1D
@	IN	SOA	polonio.lan.curerocha.edu.uy. root.polonio.lan.curerocha.edu.uy. (
			 2011060901	; Serial yyyy/mm/dd/id 
			 6H		; Refresh
			 1D		; Retry
			 1W		; Expire
			 1D )		; Negative Cache TTL
;
@	IN	NS	polonio.lan.curerocha.edu.uy.
@	IN	PTR	polonio.lan.curerocha.edu.uy.
101	IN	PTR	Equipo01.lan.curerocha.edu.uy.
102	IN	PTR	Equipo02.lan.curerocha.edu.uy.
103	IN	PTR	Equipo03.lan.curerocha.edu.uy.
104	IN	PTR	Equipo04.lan.curerocha.edu.uy.
105	IN	PTR	Equipo05.lan.curerocha.edu.uy.
106	IN	PTR	Equipo06.lan.curerocha.edu.uy.
107	IN	PTR	Equipo07.lan.curerocha.edu.uy.
108	IN	PTR	Equipo08.lan.curerocha.edu.uy.
109	IN	PTR	Equipo09.lan.curerocha.edu.uy.
110	IN	PTR	Equipo10.lan.curerocha.edu.uy.
111	IN	PTR	Equipo11.lan.curerocha.edu.uy.
112	IN	PTR	Equipo12.lan.curerocha.edu.uy.
113	IN	PTR	Equipo13.lan.curerocha.edu.uy.

$ sudo vi/etc/bind/db.10.5.2

;
; Archivo BIND de definición de zona inversa 2.5.10.in-addr.arpa 
;
$TTL	86400 ; 1D
@	IN	SOA	polonio.lan.curerocha.edu.uy. root.polonio.lan.curerocha.edu.uy. (
			 2011060901	; Serial yyyy/mm/dd/id
			 6H		; Refresh
			 1D		; Retry
			 1W		; Expire
			 1D )		; Negative Cache TTL
;
@	IN	NS	polonio.lan.curerocha.edu.uy.
@	IN	PTR	polonio.lan.curerocha.edu.uy.
2	IN	PTR	polonio.

$ sudo vi/etc/bind/db.10.5.4

;
; Archivo BIND de definición de zona inversa 4.5.10.in-addr.arpa 
;
$TTL	86400 ; 1D
@	IN	SOA	polonio.lan.curerocha.edu.uy. root.polonio.lan.curerocha.edu.uy. (
			 2011060901	; Serial yyyy/mm/dd/id
			 6H		; Refresh
			 1D		; Retry
			 1W		; Expire
			 1D )		; Negative Cache TTL
;
@	IN	NS	polonio.lan.curerocha.edu.uy.
@	IN	PTR	polonio.lan.curerocha.edu.uy.
101	IN	PTR	Secretaria01.lan.curerocha.edu.uy.

$ sudo vi/etc/bind/db.10.5.5

;
; Archivo BIND de definición de zona inversa 5.5.10.in-addr.arpa 
;
$TTL	86400 ; 1D
@	IN	SOA	polonio.lan.curerocha.edu.uy. root.polonio.lan.curerocha.edu.uy. (
			 2011060901	; Serial yyyy/mm/dd/id
			 6H		; Refresh
			 1D		; Retry
			 1W		; Expire
			 1D )		; Negative Cache TTL
;
@	IN	NS	polonio.lan.curerocha.edu.uy.
@	IN	PTR	polonio.lan.curerocha.edu.uy.
102	IN	PTR	Delegados01.lan.curerocha.edu.uy.
103	IN	PTR	Docentes01.lan.curerocha.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 lan.curerocha.edu.uy
domain lan.curerocha.edu.uy
nameserver 127.0.0.1

Referencias: