IPv6 (tutorial)

From DD-WRT Wiki

Revision as of 02:00, 8 February 2006 by 68.106.158.232 (Talk)
Jump to: navigation, search

You are here: Main Page/DD-WRT Docu (EN)/IPv6


Contents

Introduction

There are too many devices in the world for 32-bit (232, or 4,294,967,296) IP addresses to be sufficient.
The next version of the TCP/IP protocol, IPv6 offers 128-bit address space, or 2128 (≈ 3.4 x 1038) IP addresses.

IPv6 is supported since DD-WRTv22 prefinal5.

Prerequisits

- Knowledge about the Command Line
- Knowledge about the ip command
- 24/7 Internet Connection (dynamic dialup is ok)
- Enabled jffs would be helpful
- Enable IPv6 at your routers webinterface

Setup

SixXS Tunnel Broker

Requesting a Tunnel/Subnet

1. Create a 6bone handle at http://www.sixxs.net/signup/6bone/. (Skip this if you already have a NIC handle.)
2. Sign up at http://www.sixxs.net/signup/ with your create handle. (Or use your existing one.)
3. After your login at http://www.sixxs.net/home/ you can request a tunnel and later a subnet.

Static Tunnel

The sconk.se guide offers some pretty nice instructions on how enable this feature starting out with obtaining an IPv6 address.

This wiki also offers an example IPv6 startup script

-- Is it possible to copy'n'paste this guide into this wiki? --

Dynamic Tunnel

Install AICCU

1. Install AICCU using ipkg.

 # ipkg update
 # ipkg install aiccu

2. Configure AICCU.

 # vi /jffs/etc/aiccu.conf
 # AICCU Configuration
 
 # Login information
 username <your nichandle/username>
 password <your password>
 
 # Interface names to use
 ipv4_interface vlan1
 ipv6_interface sixxs
 
 # The tunnel_id to use
 # (only required when there are multiple tunnels in the list)
 tunnel_id <your tunnel id>
 
 # Be verbose?
 verbose false
 
 # Daemonize?
 daemonize true
 
 # Automatic?
 automatic true

Automatic start your Tunnel

1. Create a .startup file and make it executable.

 # vi /jffs/etc/config/aiccu.startup
 #!/bin/sh
 
 /jffs/etc/init.d/S51aiccu start
 ip -6 addr add 2001:xxxx:xxx::/64 dev br0 # Edit to your assigned subnet settings. (You have to use /64 here)
 # chmod +x /jffs/etc/config/aiccu.startup

2. Adjust the AICCU init script.

 # vi /jffs/etc/init.d/S51aiccu
 #!/bin/sh
 
 case "$1" in
     start)
         ( while [ `date +%Y` -eq 1970 ]; do
             sleep 1
             done && /jffs/usr/sbin/aiccu start /jffs/etc/aiccu.conf ) &
         ;;
 
     stop)
         aiccu stop /jffs/etc/aiccu.conf
         aiccu stop /jffs/etc/aiccu.conf
         ;;
 
     restart)
         $0 stop
         $0 start
         ;;
     *)
         echo "Usage: $0 {start|stop|restart}"
         exit 1
         ;;
 esac

Announce your Subnet with radvd

1. Enable radvd at the webinterface of your router (Administration->Management->IPv6 Support)
2. Insert your radvd.conf into the form and save your settings.(You have use the /64 prefix even if you got a /48 subnet)

interface br0
{
AdvSendAdvert on;
prefix 2001:xxxx:xxxx::/64
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
};

Hurricane Electric's Tunnel Broker

If you want to use Hurricane Electric's IPv6 Tunnel broker you can check out this guide. It has detailed instructions and is upto date. Sixx.net takes alot of work and requires you to sign up to alot more stuff then Hurricane Electric. This guide also requires no extra software and is great for people with limited memory on there router. (If someone wishes to paste the guide on this page they may)

Notes

Static IPv6 at WinXP

If you want to disable temporary IPv6 addresses at your WinXP try:

 cmd> ipv6 -p gpu UseTemporaryAddresses no

ping6 at dd-wrt v23

Try to install busybox from OpenWRT: http://downloads.openwrt.org/people/nico/testing/mipsel/packages/busybox_1.01-1_mipsel.content

 ~ # ipkg install http://downloads.openwrt.org/people/nico/testing/mipsel/packages/busybox_1.01-1_mipsel.ipk

Okay now you have to install uclibc (with -force-depends): http://downloads.openwrt.org/people/nico/testing/mipsel/packages/uclibc_0.9.27-6_mipsel.content

 ~ # ipkg -force-depends install http://downloads.openwrt.org/people/nico/testing/mipsel/packages/uclibc_0.9.27-6_mipsel.ipk

After installing these packages you have to change the priority of the /lib path in your shell environment:

 ~ # export LD_LIBRARY_PATH=/usr/lib:/jffs/lib:/jffs/usr/lib:/jffs/usr/local/lib:/lib

For the last step you have to change the ping6 symlink:

 ~ # rm /jffs/bin/ping6
 ~ # cd /jffs/bin
 ~ # ln -s /jffs/bin/busybox ping6

Now ping6 should work for the current xterm session.

External Links

IPv6 at Wikipedia
IPv6 Information Page
Setting up ipv6 using SixXS Tunnel Broker
Hurricane Electric Tunnel Broker
Setting up ipv6 using Hurricane Electric on DD-WRT v23



You are here: Main Page/DD-WRT Docu (EN)/IPv6