Un túnel 6in4, es una de las tantas tecnologías transicionales. Dicen que es malísimo y vulnerable pero yo creo que no es nada que un buen y sencillo cortafuegos no pueda resolver.
Para que tena una idea de la teoría: Encapsulamos paquetes ipv en una 4, localizamos el destino, si es alncanzable por cuatro, el mandamos un 4 encapsulado, si no, le mandamos el paquete a un túnel cualquiera que se tengamos cerca y este se encarga de meterlo en la red ipv6 nativa. Osea, levantaremos una interfaz visual que con una ruta especial se encargará de todos estos menesteres. Primero y principioso, crear el tunel:
Pero eso lleva muchos pasos. Necesitaremos una ipv4 pública. Supongamos que nuestra ip es 10.0.0.1 A partir de esa ip, generaremos una “subnet” ipv6 que sera todita nuestra. Osea, a partir de una ipv4, tendremos todo un rango ipv6 para asignarle un ip a cada partícula de polvo en nuestra empresa.
ipv6calc --quiet --action conv6to4 10.0.0.1
y nos devuelve nuestro prefijo: 2002:a00:1::
Ese será nuestro rango ipv6. Pero qué hacer con el? Pues crear ipevesieses y asignarla a cuanta interfaz nos venga en gana; pero antes, hay que terminar el túnel y asignarle una. Con este pase mágico, lo hacemos:
ip tunnel add tun6to4 mode sit ttl 255 remote any local 10.0.0.1 ip link set tun6to4 up ip -6 addr add 2002:a00:1::1/16 dev tun6to4
Pero por razones de seguridad, no le podremos aún el toque mágico que lo hecha a andar. Aseguremos primero el cortafuegos. Algo sencillo, permitirá todas las conexiones apara afuera pero nada para adentro.
ip6tables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT ip6tables -A INPUT -j DROP
y permitiremos que se haga forward de nuestra LAN, osea que nuestra LAN acceda a la ip6 pero que nadie acceda a nuestra LAN
ip6tables -A FORWARD --state RELATED,ESTABLISHED -j ACCEPT ip6tables -A FORWARD -j DROP sysctl net.ipv6.conf.all.forwarding=1
Sin complicaciones. Ahora que estamos asegurados, levantamos el túnel poniendo la guinda en la punta del pastel. En debian, este tabaco hace que se redireccione todo como expliqué arriba. Abra cadabra:
ip -6 route add 2000::/3 via ::192.88.99.1 dev tun6to4 metric 1
…y al carajo albañiles que se acabó la mezcla! Te pones otra ip como esa en una interfaz real que de a la lan, por ejemplo, eth0
ip -6 addr add 2002:a00:1::cafe/64 dev eth0
Ahora puedes asignarle una IPv6 ha cada partícula polvo en tu empresa. Solo debe usar como gateway a 2002:a00:1::cafe como su puerta de enlace. OJO, las direcciones asignadas a interfaces reales son de 64 bits.
Un ejemplo decomo quedaría el fichero
/etc/network/interfaces/
iface eth1 inet6 static address 2002:a00:1:21c:c0ff:feb2:91c2 netmask 64 gateway 2002:a00:1::cafe
Bienvenido al sixbone! Agáchate que viene la galleta, el hacker está a 2×1 con descuento para los 6in4.
Datos tomados del blog de låzaro: http://otherlinuxblog.blogspot.com/2013/04/6in4-en-4-patadas.html