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
© Copyright 2024