Mirror es.freebsd.org con IPv6

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

This entry was posted in freebsd, ipv6. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *