viernes, marzo 02, 2007

Tips in ipv6

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

1 comentario:

stucca dijo...

hola buen noche,

actualemene tengo suse10.2 y el problema que tengo es que me lista el ipv6 cuando configuro como dhcp pero al asignar estaticamente una ip lo pierdo, que fichero debo cambiar para que el cambio sea permanente y poder verlo al reiniciar con un ifconfig?

gracias