Acá dejo algunos trucos del uso del comando "
route" aplicado a crear o eliminar rutas en ipv6 en su SO (Sistema Operativo) Linux o FreeBSD, más especialmente en GNU/Linux Debian.
Bueno asumo que tenemos levantado el dispositivo "
sit0", sino lo levantamos con (como root)
root@clara:# ifconfig sit0 ups
este permite la encapsulación ipv6 a ipv4. Si todo salió bien deberíamos ver como salida del comando "
ifconfig sit0":
sit0 Link encap:IPv6-in-IPv4
inet6 addr: ::127.0.0.1/96 Scope:Unknown
inet6 addr: ::192.168.1.4/96 Scope:Compat
inet6 addr: ::10.0.0.4/96 Scope:Compat
UP RUNNING NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
y que tenemos además un tunel ipv6 como el siguinte.
tun Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet6 addr: 2001:5c0:8fff:fffe::1ef5/128 Scope:Global
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1280 Metric:1
RX packets:146 errors:0 dropped:0 overruns:0 frame:0
TX packets:140 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:11688 (11.4 KiB) TX bytes:11272 (11.0 KiB)
para poder hacer experimentos que salgan de la red local.
Para poder ver que dirección ipv6 y el alcance que tenemos asignada en cada dispositivo de red hacemos:
hcaste@clara:~$ /sbin/ifconfig eth1|grep "inet6 addr:"
inet6 addr: 2001:5c0:8fff:1::1/64 Scope:Global
inet6 addr: fe80::20b:6aff:fe7d:53c/64 Scope:Link
bueno en mi caso tengo una red de alcance global asociada al backbone
2001::/16 que corresponde al tunel que te asigna la empresa
HEXAGO en forma gratuita por ahora. La dirección any-cast de alcance de enlace
fe80::/16 corresponde a la targeta de red y si se fijan tiene la dirección MAC de la targeta. Pero con una modificación que la da el IEEE 802.
Si queremos asignar una dirección 6Bone (
3ffe::/16) a un dispositivo dado el comando es el siguiente:
ifconfig inet6 add /
por ejemplo:
ifconfig eth1 inet6 add 3ffe:0a00:0004::1/64
donde en el prefijo estoy encapsulando mi dirección ipv4 10.0.0.4, para eliminar una dirección basta cambiar "add" con "del". Para visualizar las rutas asociadas a un dispositivo basta con ingersar:
route -A inet6|grep -w "dev"
por ejemplo:
hcaste@clara:~$ /sbin/route -A inet6|grep -w "tun"
2001:5c0:8fff:fffe::1ef4/128 2001:5c0:8fff:fffe::1ef4 UC 0 196 0 tun (dispositivo ruta global)
2000::/3 :: U 1 0 0 tun (ruta global al tunel)
fe80::/64 :: U 256 0 0 tun (ruta de enlace)
ff00::/8 :: U 256 0 0 tun (ruta multicast)
::/0 :: U 1 0 0 tun (ruta por defecto)
Si queremos añadir/quitar una ruta a la tabla de ruteo, basta con ingresar
route -A inet6 add/del / [gw] [dev]
Por ejemplo si yo quiero que todas las direcciones de un 6Bone sean enviadas por un tunel basta con entrar
route -A inet6 add 3ffe::/16 gw 2001:5c0:8fff:fffe::1ef4
o para asociar una ruta a una interface, del ejemplo anterior que salgan por el dispositivo "eth1" en vez de por el tunel.
route -A inet6 add 3ffe::/16 dev eth1
That's all folks!!