9. configuracion dns

SERVIDOR DNS BIND CON
SOPORTE PARA IPV6
CONFIGURACIÓN EN LINUX
RED DE INVESTIGACIÓN DE TECNOLOGÍA AVANZADA
[email protected]
SERVIDOR DNS BIND SOBRE
IPV6
1. IPV6 Y DNS
El agotamiento del espacio de direcciones IPv4 no fue inesperado, por supuesto. La
Internet Engineering Task Force (IETF) desarrolló IP versión 6 en la década de 1990
en gran parte a la espera de este día. Del mismo modo, el sistema de nombres de
dominio se amplió para dar cabida a Direcciones IP más largas de IPv6 mediante la
adición de nuevos tipos de registro, y las nuevas versiones de los servidores de
nombres, incluyendo BIND, fueron lanzados para apoyar a los nuevos tipos de
registro, así como el uso de IPv6 para el transporte de consultas y respuestas.
2. MAPEO INVERSO Y DIRECTO
Claramente los registros DNS A, no se acomodan a las direcciones IPv6 de 128 bits;
Los datos de un registro A corresponden a una dirección de 32 bit en formado de
octetos con puntos.
A la IETF se le ocurrió una simple solución a este problema, descrito en la RFC 1886.
Un nuevo tipo de registro de direcciones, AAAA, para almacenar direcciones IPv6 de
128 bits, y un nuevo dominio IPv6 de traducción inversa fue introducido, ip6.int. Esta
solución fue sencilla lo suficiente como para poner en práctica en BIND 4. Por
desgracia, no todo el mundo le gustó está simple solución, por lo que se les ocurrió
una mucho más complicada, la cual introdujo los nuevos registros A6 y DNAME y
requirió una completa revisión del servidor BIND a implementar. Después de mucho
debate en la IETF el nuevo esquema A6/DNAME no fue aprobado. Se trasladó
el RFC que describe los registro A6 fuera de los estándares y paso a estado
experimental, decayendo su uso en zonas de traducción inversa y trajo el viejo
RFC 1886 devuelta. Por ahora, el registro AAAA es la manera de manejar el mapeo
directo IPv6. El uso de ip6.int está en desuso, sobre todo por razones políticas, y ha
sido reemplazado por ip6.arpa1.
1
Cricket Liu, (2011). DNS and BIND on IPv6 (1 Ed).USA: O´Really Media INC.
3. AAAA Y IPV6.ARPA
El registro AAAA (pronunciado "quad A"), se describe en el RFC 1886, es un
registro de dirección simple, con registro específico de datos que es cuatro veces más
largo que un registro A, de ahí las cuatro letras del registro. El registro AAAA toma
como datos de registro específico el formato textual de una dirección IPv6. Así, por
ejemplo, se vería registros AAAA como sigue:
ipv6-host
IN
AAAA 2001:db8:1:2:3:4:567:89ab
Como se puede ver, es perfectamente aceptable utilizar contracciones en la dirección
IPv6, incluida la eliminación de ceros a la izquierda en los cuartetos y reemplazar una
o más cuartetos contiguos de ceros con ::.
El RFC 1886 también estableció ip6.int, sustituido ahora por ip6.arpa, un nuevo
espacio de nombres de resolución inversa para las direcciones ipv6. Cada nivel de
subdominio bajo ip6.arpa representa cuatro bits de la dirección de 128 bits, codificados
como un dígito hexadecimal en los datos de registro específico del registro AAAA. Los
bits menos significativos aparecen en el extremo izquierdo del nombre de dominio. A
diferencia del formato de las direcciones IPv6 en los registros AAAA, omitir los ceros
iniciales no está permitido, así que siempre hay 32 dígitos hexadecimales y 32 niveles
de subdominio en ip6.arpa, para un nombre de dominio correspondiente a una
dirección IPv6 completa. El nombre de dominio que corresponde a la dirección en el
ejemplo anterior es:
b.a.9.8.7.6.5.0.4.0.0.0.3.0.0.0.2.0.0.0.1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.
Estos nombres de dominio tienen registros PTR adjuntos, así como los
nombres de dominio bajo in-addr.arpa:
b.a.9.8.7.6.5.0.4.0.0.0.3.0.0.0.2.0.0.0.1.0.0.0.0.8.b.d.1.0.0.2.ip6.arpa.
IN
PTR mash.ip6.movie.edu.
4. ADICIONANDO REGISTROS AAAA A ZONAS DE
TRADUCCIÓN DIRECTA
Los registros A y AAAA pueden coexistir lado a lado en cualquier zona directa. Así, por
ejemplo, si el host tiene tanto una dirección IPv4 y una dirección IPv6 (comúnmente
llamado un host "dualstack"), puede conectar tanto registros A como registros AAAA
de su nombre de dominio:
Suckerpunch IN
IN
A
192.249.249.111
AAAA 2001:db8:cafe:f9::d3
5. ZONAS DE RESOLUCION INVERSA IPV6
Una subred IPv6 /64 le corresponde una zona de resolución inversa con 18 elementos
separados por puntos, cada uno de los números hexadecimales de la dirección y las
palabras ip6 y arpa, con el formato que se había explicado anteriormente. Así para la
subred 2001:db8:cafe:f9::/64, que llevamos de ejemplo, le corresponde la zona de
resolución inversa 9.f.0.0.e.f.a.c.8.b.d.0.1.0.0.2.ip6.arpa.
Así como en las zonas de resolución inversa de IPv4, las zonas de resolución inversa
de IPv6, contienen principalmente registros PTR, y como en cualquier zona deben
contener un registro SOA y uno o más registros NS. El comienzo en el archivo de
configuración de una de estas zonas es como se muestra a continuación:
$TTL 1d
@
IN
SOA
terminator.movie.edu.
2011030800
; Serial number
1h
; Refresh (1 hour)
15m
; Retry (15 minutes)
30d
; Expire (30 days)
10m )
; Negative-caching TTL (10 minutes)
IN
NS
terminator.movie.edu.
IN
NS
wormhole.movie.edu.
3.d.0.0.0.0.0.0.0.0.0.0.0.0.0.0
PTR
4.d.0.0.0.0.0.0.0.0.0.0.0.0.0.0
PTR
hostmaster.movie.edu. (
suckerpunch.v6.movie.edu.
super8.v6.movie.edu.
Aquí se espera que la mayoría de los host utilicen actualización dinámica para
registrar sus propios registros AAAA y PTR.
Si se van a añadir muchos registros PTR a una zona de resolución inversa IPv6, es
una buena idea usar la sentencia de control $ORIGIN. Por ejemplo se podrían escribir
los dos últimos registros PTR como:
$ORIGIN
3.d
PTR
4.d
PTR
0.0.0.0.0.0.0.0.0.0.0.0.0.0.9.f.0.0.e.f.a.c.8.b.d.0.1.0.0.2.ip6.arpa.
suckerpunch.v6.movie.edu.
super8.v6.movie.edu.
La zona se debe añadir en el archivo named.conf.local, para configurar un servidor de
nombres primario para una zona de resolución inversa se debe hacer como se
muestra a continuación:
Zone
Type
File
};
"9.f.0.0.e.f.a.c.8.b.d.0.1.0.0.2.ip6.arpa" {
master;
"db.2001:db8:cafe:f9";
6. CONFIGURACION SERVIDOR DNS BIND EN LINUX
6.1 Instalación
Instalar el servidor BIND9 con el comando (debían/Ubuntu):
apt-get install bind9
La ruta /etc/bind/ contiene los archivos de configuración del servidor.
6.2 Creación de los archivos de configuración para la resolución
directa e inversa
Se crean los siguientes archivos. Los nombres son libres de escoger.
db.midominio.co rev.2001:db8:0::
6.3 Edicion de forwarders
En el archivo named.conf.options se editan los forwarder que son los servidores a los
que acudirá el servidor para las consultas de nombres o direcciones que no estén en
su dominio.
forwarders {
2001:4860:4860::8888;
2001:4860:4860::8844;
};
6.4 Edición del archivo named.conf.local
En el archivo de configuración named.conf.local se agregan las zonas de resolución
directa e inversa que se van a trabajar.
A continuación se muestra una zona de resolución directa con dominio midominio.co,
donde se configura en tipo de servidor maestro y se indica la ruta del archivo de
configuración para esta zona.
zone "midominio.co" {
type master;
file "/etc/bind/db.midominio.co";
};
Igualmente en este archivo se configura la zona de resolución inversa:
zone "0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa" {
type master;
file "/etc/bind/rev.2001:db8:0::";
};
6.5 Ingreso de los registros AAAA en el archivo de configuración
db.midominio.co
$TTL 86400
@
IN
1
1h
15m
30d
10m )
@
@
IN
IN
SOA
NS
AAAA
midominio.co.
root.midominio.co. (
; Serial number
; Refresh (1 hour)
; Retry (15 minutes)
; Expire (30 days)
; Negative-caching TTL (10 minutes)
midominio.co.
::1
gateway
IN
AAAA
2001:db8::1
firewall
IN
AAAA
2001:db8:0:1::1
Para crear el contenido de este archivo se toma como referencia el archivo db.empty
que se encuentra en la ruta de configuración del servidor.
6.6 Ingreso de los registros PTR en el archivo rev.2001:db8:0::
para la resolución inversa IPv6
$TTL 86400
@
IN
1
1h
15m
30d
10m )
@
@
IN
IN
SOA
midominio.co. root.midominio.co. (
; Serial number
; Refresh (1 hour)
; Retry (15 minutes)
; Expire (30 days)
; Negative-caching TTL (10 minutes)
NS
AAAA
midominio.co.
::1
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0
IN
PTR
www.midominio.co.
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.
IN
PTR
server.midoninio.co.
Como se puede observar los registros PTR se pueden ingresar de varias maneras. La
zona de resolución inversa está definida como "0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa" que
equivale a los primeros 12 dígitos hexadecimales de dirección IPv6. El primer registro
PTR completa los siguientes 20 dígitos y el segundo registro PTR define la resolución
inversa completa mediante ip6.arpa. Para crear el contenido de este archivo se toma
como referencia el archivo db.empty que se encuentra en la ruta de configuración del
servidor.
6.7 Iniciar el servidor
Para arrancar el servidor se utiliza el siguiente comando:
/etc/init.d/bind9 restart