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
y configuras las máquina de tu LAN asignándoles una ipv6 de ese rango y a 2002:a00:1::cafe como su puerta de enlace. OJO, las direcciones asignadas a interfaces reales son /64
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 2x1 con descuento para los 6in4.
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 2x1 con descuento para los 6in4.