zoneedit, si lo que queremos es mantener los nameservers en un lugar remoto. Si los queremos mantener localmente, el mismo bind9 nos sirve.
En primer lugar, en nuestro proveedor de túnel deberemos asignar un nameserver para nuestro prefijo. Normalmente sólo aceptan dominios que apunten a direcciones ipv4. Con poner un dominio que apunte a la máquina con el bind es suficiente. También deberemos tener abiertos a Internet los puertos 53/tcp y 53/udp, a fin de que puedan realizarse consultas desde fuera.
En segundo lugar, y para no llevarnos sorpresas más tarde, crearemos un registro AAAA en el nameserver del dominio, con el reverso en cuestión que queramos poner, apuntando a la dirección a la que se lo queramos asignar. Podemos utilizar la aplicación "host" para comprobar que se ha hecho correctamente:
~$ host -t AAAA allyourbasearebelongtous.net
allyourbasearebelongtous.net AAAA 2001:618:400:B4A8:250:22FF:FE85:2A10
Ahora, ya estamos en condiciones de crear el reverso. En el archivo de configuración de bind (En mi caso /etc/bind/named.conf) hay que añadir dos secciones:
zone "8.a.4.b.0.0.4.0.8.1.6.0.1.0.0.2.ip6.int" {
type master;
file "/etc/bind/reversos-ipv6.int";
allow-transfer { any;};
allow-query { any; };
};
zone "8.a.4.b.0.0.4.0.8.1.6.0.1.0.0.2.ip6.arpa" {
type master;
file "/etc/bind/reversos-ipv6.arpa";
allow-transfer { any;};
allow-query { any; };
};
Explico lo de 8.a.4.b.0.0.4.0.8.1.6.0.1.0.0.2.ip6.arpa: Es símplemente el prefijo que se nos ha asignado. En mi caso, 2001:618:400:b4a8::/64. Para hallar las correspondencias con tu reverso, tienes dos opciones:
- Lo escribes comenzando por el final del prefijo, separando cada carácter por '.'. Así, como termina por "b4a8", empezará por "8.a.4.b".
- Utilizas la anteriormente mencionada aplicación ipv6calc:
~$ ipv6calc -a 2001:618:400:b4a8::/64
8.a.4.b.0.0.4.0.8.1.6.0.1.0.0.2.ip6.arpa.
Personalmente, recomiendo la segunda opción. En cuanto a crear dos registros, el .int y el .arpa, tiene una explicación histórica: ip6.int se utilizaba al principio, al igual que A6, pero a día de hoy está cayendo en desuso y volviéndose obsoleto. No obstante, sugiero mantener el .int también por compatibilidad hasta que desaparezca por completo.
Ahora, como parte final, los dos ficheros que se mencionan en las entradas anteriores del named.conf:
/etc/bind/reversos-ipv6.int:
$TTL 3d
@ IN SOA ns1.nameserver.net. root.nameserver.net. (
20030307
24h
30m
1d
1d
)
IN NS ns1.nameserver.net.
$ORIGIN 8.a.4.b.0.0.4.0.8.1.6.0.1.0.0.2.ip6.int.
0.1.a.2.5.8.e.f.f.f.2.2.0.5.2.0 IN PTR AllYourBaseAreBelongToUs.net.
/etc/bind/reversos-ipv6.arpa:
$TTL 3d
@ IN SOA ns1.nameserver.net. root.nameserver.net. (
20030307
24h
30m
1d
1d
)
IN NS ns1.nameserver.net.
$ORIGIN 8.a.4.b.0.0.4.0.8.1.6.0.1.0.0.2.ip6.arpa.
0.1.a.2.5.8.e.f.f.f.2.2.0.5.2.0 IN PTR AllYourBaseAreBelongToUs.net.
En ambos archivos observamos que sólamente varía la línea de "$ORIGIN". Como "nameserver.net" _no_ hay que poner el nameserver del dominio, sino un dominio que apunte a la máquina donde está ese bind instalado. El procedimiento para hallar el objetivo de la línea PTR (0.1.a.2.5.8.e.f.f.f.2.2.0.5.2.0) es exactamente el mismo que el anterior, comenzando por el final. Mediante ipv6calc puede hacerse con un simple "ipv6calc -a direccion":
~$ ipv6calc -a 2001:618:400:b4a8:250:22ff:fe85:2a10
0.1.a.2.5.8.e.f.f.f.2.2.0.5.2.0.8.a.4.b.0.0.4.0.8.1.6.0.1.0.0.2.ip6.arpa.
Y se omite el resto al llegar a la parte correspondiente al prefijo (8.a.4.b...). Obsérvese que al final del dominio asociado en el PTR va un ".", así como en el NS.
Bien, pues con esto ya estaría. Para hacer la prueba, podríamos usar "host":
~$ ipv6calc -a 2001:618:400:b4a8:250:22ff:fe85:2a10
0.1.a.2.5.8.e.f.f.f.2.2.0.5.2.0.8.a.4.b.0.0.4.0.8.1.6.0.1.0.0.2.ip6.arpa.
~$ host -t PTR 0.1.a.2.5.8.e.f.f.f.2.2.0.5.2.0.8.a.4.b.0.0.4.0.8.1.6.0.1.0.0.2.ip6.arpa
0.1.a.2.5.8.e.f.f.f.2.2.0.5.2.0.8.a.4.b.0.0.4.0.8.1.6.0.1.0.0.2.ip6.arpa PTR AllYourBaseAreBelongToUs.net
Y con esto ya estaría listo el reverso. Para añadir más al mismo prefijo bastaría con añadir una línea para las IPs que deseemos al final de los /etc/bind/reversos-ipv6.{int,arpa}.
Los proveedores de Servicios de Internet deberán facilitar a _todos_ los clientes particulares con conexión permanente un /64, según especifica el RIPE. No obstante, no puedo asegurar de que los proveedores deleguen a los clientes la tarea de asignarse los reversos. Si el proveedor tuviera que manter un reverso para cada IP que tuviese comprada, probáblemente necestaría más espacio en disco del que estaría dispuesto a pagar, así que presumiblemente, o lo dejarán de parte del cliente, o no lo dejarán. En cualquier caso, nunca está de más saber cómo va el tema.