miércoles, 11 de mayo de 2011

IPv6 con DD-WRT. Configurando 6to4

Introduccion:

  Deseo configurar 6to4 en mi router con DD-WRT y ofrecer IPv6 en mi red Wireless/LAN.

  Cansado de tener que levantar el tunel manualmente?, es incomodo hacer pruebas?, deseas ofrecer IPv6 a toda tu red (gratis!). Entonces este post es para tí.

Que se necesita:

  - Una version standard de dd-wrt o VoIP. Estas son las unicas versiones que soportan IPv6 y radvd

  - Tu ISP debe asignarte una direccion IPv4 valida (la cual estaria en la WAN del AP)

  - En mi caso utilice un Linksys WRT-54GL pero cualquier otro equipo con la version correcta de DD-WRT funcionara


Pasos:

a.- Ir a Administration --> Management --> habilitar  IPv6 y radvd. 

b.-  Copiar el siguiente texto en el area de radvd. Esto se utiliza para que radvd (similar a un DHCP server) anuncie el prefijo IPv6 hacia la red LAN a traves de la interfaz br0 (LAN del AP)
 
interface br0 {
   MinRtrAdvInterval 3;
   MaxRtrAdvInterval 10;
   AdvLinkMTU 1280;
   AdvSendAdvert on;
   prefix 0:0:0:1::/64 {
    AdvOnLink on;
    AdvAutonomous on;
    AdvValidLifetime 86400;
    AdvPreferredLifetime 86400;
    Base6to4Interface vlan1;
    AdvRouterAddr on;
   };
};


c.-  Es necesario colocar el siguiente script como script de inicio "Startup Script". Para ello: Administration -->; Commands

insmod /lib/modules/`uname -r`/ipv6.o
sleep 5
radvd -C /tmp/radvd.conf start
sleep 5
WANIP=$(ip -4 addr show dev vlan1 | awk '/inet / {print $2}' | cut -d/ -f1)
if [ -n "$WANIP" ]
then
 V6PREFIX=$(printf '2002:%02x%02x:%02x%02x' $(echo $WANIP | tr . ' '))
 ip tunnel add tun6to4 mode sit ttl 255 remote any local $WANIP
 ip link set tun6to4 mtu 1280
 ip link set tun6to4 up
 ip addr add $V6PREFIX:0::1/16 dev tun6to4
 ip addr add $V6PREFIX:1::1/64 dev br0
 ip -6 route add 2000::/3 via ::192.88.99.1 dev tun6to4
 kill -HUP $(cat /var/run/radvd.pid)
fi

d.- Posteriormente es necesario grabar "Save startup".



Nota:
El script anterior fue tomado de www.dd-wrt.com dice que es utilizado en la version v24 sp1, sin embargo yo lo estoy utilizando version en la v24 sp2. De hecho, el procedimiento encontrado para sp2 no me funcionó


e.- Reiniciar el AP y la interfaz en tu PC


Chequeo:


Posteriormente revisar tu interfaz de tu equipo y debes tener una direccion IPv6 que comienza por 2002/16


[root@localhost ~]# ifconfig wlan0
wlan0     Link encap:Ethernet  HWaddr 00:1A:73:05:29:E3
          inet addr:192.168.127.106  Bcast:192.168.127.255  Mask:255.255.255.0
         
inet6 addr: 2002:be48:e7b1:1:21a:73ff:fe05:29e3/64 Scope:Global
          inet6 addr: fe80::21a:73ff:fe05:29e3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3785 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3931 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3307204 (3.1 MiB)  TX bytes:750331 (732.7 KiB)



y logicamente un ping a ipv6.google.com:


[root@localhost ~]# ping6 ipv6.google.com
PING ipv6.google.com(yi-in-x6a.1e100.net) 56 data bytes
64 bytes from yi-in-x6a.1e100.net: icmp_seq=1 ttl=53 time=198 ms
64 bytes from yi-in-x6a.1e100.net: icmp_seq=2 ttl=53 time=203 ms
64 bytes from yi-in-x6a.1e100.net: icmp_seq=3 ttl=53 time=199 ms
64 bytes from yi-in-x6a.1e100.net: icmp_seq=4 ttl=53 time=202 ms




Mas info para probar IPv6:



http://acostanetwork.blogspot.com/2009/04/probar-ipv6.html



Para mas informacion sobre 6to4 y DD-WRT:


- http://www.dd-wrt.com/wiki/index.php/IPv6

7 comentarios:

  1. Esta excelente tu tutorial pero tenemos un problema lo adapte segun mi ip 192.168.11.1 privado pero ahora tengo ipv6 puedo hacer ping despues de un rato a las paginas ipv6 pero no tengo accesso al internet por ipv6 me explico puedo hacer ping a ipv6.google.com pero si lo pongo en el web browser no veo la pagina
    algun consejo ?????

    ResponderEliminar
    Respuestas
    1. @Joarivera, necesitas que tu ISP te asigne un IPv4 Wan publico/valido. 192.168.11.1 no te sirve porque es un IPv4 privado

      Eliminar
    2. no me explique bien el ip publico esta en el router y hacia dentro tengo un nating es lo normal el router esta trabajando!

      la respuesta es si en la wan tengo un ip publico

      Eliminar
  2. root@DD-WRT:~# ping6 ipv6.google.com
    PING ipv6.google.com (2001:4860:800c::67): 56 data bytes
    ping6: sendto: Network is unreachable
    root@DD-WRT:~# ping6 ipv6.google.com
    PING ipv6.google.com (2001:4860:800c::67): 56 data bytes
    ping6: sendto: Network is unreachable
    root@DD-WRT:~#

    ResponderEliminar
  3. Alejandro hoy vi esta pagina buscando lo mismo veo que te habia escrito ya una vez lo interesante es que en el network privado tengo ipv6 pero al internet publico no puedo ver nada
    joarivera@rexsy ~$ ping6 ipv6.google.com
    connect: Network is unreachable

    asi se ve mi interface

    joarivera@rexsy ~$ ifconfig
    lo: flags=73 mtu 16436
    inet 127.0.0.1 netmask 255.0.0.0
    inet6 ::1 prefixlen 128 scopeid 0x10
    loop txqueuelen 0 (Local Loopback)
    RX packets 1645 bytes 128119 (125.1 KiB)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 1645 bytes 128119 (125.1 KiB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    p4p1: flags=4163 mtu 1500
    inet 192.168.11.45 netmask 255.255.255.0 broadcast 192.168.11.255
    inet6 fe80::2ea:1ff:fe0a:373 prefixlen 64 scopeid 0x20 link
    ether 00:ea:01:0a:03:73 txqueuelen 1000 (Ethernet)
    RX packets 438952 bytes 565672804 (539.4 MiB)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 247733 bytes 22799041 (21.7 MiB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
    device interrupt 17

    ResponderEliminar
  4. root@DD-WRT:~# ip -4 addr show
    1: lo: mtu 16436 qdisc noqueue
    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
    5: eth1: mtu 1500 qdisc pfifo_fast qlen 1000
    inet ***.***.***.*/21 brd 24.171.247.255 scope global eth1
    7: br0: mtu 1500 qdisc noqueue
    inet 192.168.11.1/24 brd 192.168.11.255 scope global br0
    inet 169.254.255.1/16 brd 169.254.255.255 scope global br0:0
    root@DD-WRT:~# ip -6 addr show
    1: lo: mtu 16436
    inet6 ::1/128 scope host
    valid_lft forever preferred_lft forever
    4: eth0: mtu 1500 qlen 1000
    inet6 fe80::224:a5ff:fed8:54a5/64 scope link
    valid_lft forever preferred_lft forever
    5: eth1: mtu 1500 qlen 1000
    inet6 fe80::224:a5ff:fed8:54a5/64 scope link
    valid_lft forever preferred_lft forever
    7: br0: mtu 1500
    inet6 fe80::224:a5ff:fed8:54a5/64 scope link
    valid_lft forever preferred_lft forever
    10: ath0: mtu 1500 qlen 32
    inet6 fe80::224:a5ff:fed8:54a5/64 scope link
    valid_lft forever preferred_lft forever
    root@DD-WRT:~# ip -6 route show
    fe80::/64 dev eth0 metric 256
    fe80::/64 dev br0 metric 256
    fe80::/64 dev ath0 metric 256
    fe80::/64 dev eth1 metric 256
    unreachable default dev lo metric -1 error -128
    ff00::/8 dev eth0 metric 256
    ff00::/8 dev br0 metric 256
    ff00::/8 dev ath0 metric 256
    ff00::/8 dev eth1 metric 256
    unreachable default dev lo metric -1 error -128
    ------------------------------------

    Veo que me esta dando este error en el router

    ResponderEliminar
  5. Imagino que me preguntaras que utilizo
    Router Model
    WZR-HP-G300NH
    Firmware Version
    DD-WRT v24SP2-MULTI (10/31/11) std - build 17798

    ResponderEliminar

¿Algo adicional que quieras mencionar? ¿Algun consejo?, ¿truco? Gracias!

Una mejora práctica en el Transporte DNS sobre UDP en IPv6

Por Hugo Salgado y Alejandro Acosta Introducción y planteamiento del problema En el presente documento queremos discutir sobre un draft (bor...