IPv6, 6in4 tunnel - GUI only

From DD-WRT Wiki

Revision as of 11:03, 12 January 2016 by Mile-Lile (Talk | contribs)
Jump to: navigation, search



What is 6in4 tunnel?

login or register
login or register
Registration form
Registration form
Creating tunnel
Creating tunnel
Tunnel info on IP6 and MTU
Tunnel info on IP6 and MTU
Setting ddwrt GUI
Setting ddwrt GUI

6in4 is an Internet transition mechanism for migrating from Internet Protocol version 4 (IPv4) to IPv6. 6in4 uses tunneling to encapsulate IPv6 traffic over explicitly-configured IPv4 links as defined in RFC 4213 (obsoletes RFC 2893 and RFC 1933).

6to4 is not equal 6in4?

No. 6to4 is an Internet transition mechanism for migrating from IPv4 to IPv6, a system that allows IPv6 packets to be transmitted over an IPv4 network (generally the IPv4 Internet) without the need to configure explicit tunnels. Special relay servers are also in place that allow 6to4 networks to communicate with native IPv6 networks.

In another words, if you only get IPv4 from your ISP, but you want to be able to reach IPv6 sites, 6in4 is one of your solutions. It is simple and free with a just few of clicks in ddwrt GUI:)


First thing you need to do, is to create your account at HE.net IPv6 Tunnel Broker After creating an account, return back to main page to create a tunnel. Choose your nearest location. Click on Host/Identifier: The DNS fully-qualified name of your tunnel, not the numeric Tunnel ID. This is of the form <user>-<index>.tunnel.<tunnel-server>.<datacenter>.ipv6.he.net.

You also need to accept ping (icmp protocol) from HE server to. So save this command as your firewall rule:

iptables -I INPUT 2 -s -p icmp -j ACCEPT

Now, setup your ddwrt and enable radvd as shown on screenshots. Pay attention on MTU (generally wanif MTU - 20). That's all. You are ready to go! You should be able to browse ipv6 sites now. Check your connection with links provided at the bottom of the page.

Custom settings using DNSMasq or radvd+dhcp6s

If you prefer you can use DNSMasq, for router advertisements, instead of Radvd. Just put this commands in Additional DNSMasq Options (Services tab of your ddwrt):


If you are ipv6 "explorer", and want to experiment with custom radvd and custom dhcp6s configuration to get stateful configuration (Required for IPv6 Address Reservations) enable custom for both and try these: This way router will use radvd for advertisements and dhcp6s for assigning leases. You must use both in conjuction.

interface br0
AdvSendAdvert on;
AdvManagedFlag off;
AdvOtherConfigFlag on;
AdvReachableTime 0;
AdvRetransTimer 0;
AdvCurHopLimit 64;
AdvDefaultLifetime 300;
AdvHomeAgentFlag off;
AdvDefaultPreference medium;
AdvSourceLLAddress on;
AdvDefaultLifetime 900;
AdvLinkMTU 1460; # WAN interface MTU (e.g. ppp0=1480) - 20 or lower but not under 1280
prefix  2001:470:6d:a91::/64 { #Assigned/Routed Prefix
AdvValidLifetime 86400;
AdvPreferredLifetime 14400;
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;

option domain-name-servers 2620:0:ccc::2 2620:0:ccd::2;
option refreshtime 900;
interface br0 {
address-pool pool1 3600;
pool pool1 {
range 2001:470:6d:a91::1000 to 2001:470:6d:a91::2000; #Assigned/Routed Prefix from ::1000 to ::2000


About MTU you can read HERE and HERE Don't go under 1280 because it is the minimum IPv6 packet size.

If your ISP provides you with dynamic IP than you need announce every change on HE. You can use DNS-O-MATIC method.

Now, if everything is ok, you should be able to ping ipv6.google from your PC (MS Win) command prompt:

ping -6 ipv6.google.com

If you have problem with your win machines read this

Check your connection:




special thx to JAMESMTL