Hace unos cuantos meses movimos el mirror de los servicios de es.freebsd.org a un nuevo servidor cedido gratuitamente por la empresa CDMon. La red en la que está instalado ahora el servidor no tiene IPv6 nativo y a mi hace tiempo que me rondaba la idea de publicar los servicios también en IPv6 así que al final me puse a montarlo y hace unas semanas que está funcionando.
Los servicios del mirror que actualmente tienen soporte de IPv6 son:
- Bind
- Apache
- Postfix
- cvsupd (mediante un hack usando el programa “socat” que abre un socket en el puerto 5999 de IPv6 y lo reenvía a la ip 127.0.0.1 al puerto 5999 ya que modula3 no soporta IPv6)
- sshd
Teniendo en cuenta estos servicios, las direcciones que resuelven registros AAAA actualmente son:
[jesusr@camel ~]$ host www.es.freebsd.org
www.es.freebsd.org has address 212.36.80.108
www.es.freebsd.org has IPv6 address 2a00:d60::6
[jesusr@camel ~]$ host cvsup.es.freebsd.org
cvsup.es.freebsd.org has address 212.36.80.108
cvsup.es.freebsd.org has IPv6 address 2a00:d60::6
[jesusr@camel ~]$ host es.freebsd.org
es.freebsd.org has address 212.36.80.108
es.freebsd.org has IPv6 address 2a00:d60::6
es.freebsd.org mail is handled by 10 mail.es.freebsd.org.
[jesusr@camel ~]$ host mail.es.freebsd.org
mail.es.freebsd.org has address 212.36.80.108
mail.es.freebsd.org has IPv6 address 2a00:d60::6
La conectividad IPv6 se le da al servidor a través de un túnel IPIP entre el propio servidor y uno de mis routers:
[jesusr@camel ~]$ traceroute6 www.es.freebsd.org
traceroute6 to www.es.freebsd.org (2a00:d60::6) from 2a00:d60:0:2::3, 64 hops max, 12 byte packets
1 fe-0-0-2.rt-es-02.ip6.voztelecom.net 3.209 ms 3.173 ms 4.467 ms
2 tunnel1.rt-es-07.ip6.voztelecom.net 41.326 ms 49.474 ms 50.613 ms
3 www.es.freebsd.org 61.170 ms 63.518 ms 65.650 ms
Montar un túnel IPv6 como en este caso es realmente sencillo. En un extremo tenemos un router Cisco (ASR1002) y en el otro un FreeBSD 7.2. La configuración en ambos extremos es la siguiente:
Cisco:
interface Tunnel2
description IPv6 Mirror FreeBSD
no ip address
ipv6 address 2A00:D60::5/126
tunnel source GigabitEthernet0/0/0.10
tunnel destination 212.36.80.108
tunnel mode ipv6ip
FreeBSD:
[jesusr@www ~]$ ifconfig gif0
gif0: flags=8051 metric 0 mtu 1280
tunnel inet 212.36.80.108 –> 193.22.xxx.xx
inet6 2a00:d60::6 prefixlen 126
La configuración en /etc/rc.conf es la siguiente:
ipv6_enable=”YES”
gif_interfaces=”gif0″
gifconfig_gif0=”212.36.80.108 193.22.xxx.xx”
ipv6_ifconfig_gif0=”2A00:D60::6/126″
ipv6_defaultrouter=”2A00:D60::5″
Y para terminar, por si a alguien le sirve para otra cosa, la configuración del “socat” para hacer la traducción y redirección de puertos de IPv6 a IPv4 es:
socat_enable=”YES”
socat_flags=”-ly TCP6-LISTEN:5999,fork,reuseaddr TCP4:127.0.0.1:5999″
Ale, a ver si hay más gente que se anime a montar cosas divertidas!.