Currently as the time of this post is written October 13, 2014 most of the Malaysia’s ISP have not yet supported IPv6 natively. They also disable ping and the using NAT. One of the left choice of option for me to get IPv6 on my router is through Tunnel Setup Protocol (TSP). There are few broker that offer this type of tunneling, one of them is gogo6/ Freenet (http://www.gogo6.com/main)
Before proceeding to the installation and configuration I assume you have already install OpenWrt and know how to use SSH.
From your SSH client issue the following commands to install required packages.
1 2 |
opkg update opkg install radvd luci-app-radvd radvdump gw6c |
You may omit the radvdump and luci-app-radvd if you want to, as I’m using extroot so disk space doesn’t matter right now to me (refer this post to setup extroot) 🙂 .
After the installation completed, reboot the router.
Open the /etc/config/gw6c using your favourite editor, mine is vim.
1 |
vim /etc/config/gw6c |
Change the one that I bold
========================
config gw6c basic
#Comment out next line to enable gw6c
#option disabled 1
#Leave empty if connecting anonymously
option userid myuserid
option passwd mypassword
#For anonymous use anon.frenet6.net and
#account holders should use broker.freenet6.net
option server anon-taipei.freenet6.net
#auth_method <anonymous|any|passds-3des-1|digest-md5|plain>
#Use anonymous with anonymous access and
#any if you are account holder
option auth_method any
config gw6c routing
#host_type <host|router>
option host_type router
option prefixlen 64
option ifprefix br-lan
#DNS server list to which the reverse prefix
#will be delegated. Separate servers with :
#option dns_server ns1.he.net:ns2.he.net
option dns_server
config gw6c advanced
#Location where to store configuration file
option gw6c_conf /tmp/gw6c.conf
option gw6c_dir /usr/share/gw6c
option auto_retry yes
option retry_delay 30
option keepalive yes
#keepalive interval
option interval 30
#tunnel_mode <v6v4|v6udpv4|v6anyv4|v4v6>
option if_tunnel_mode v6anyv4
option if_v6v4 sit1
option if_v6udpv4 tun
option if_v4v6 sit0
option client_v4 auto
option client_v6 auto
option template openwrt
option proxy_client no
config gw6c broker
option broker_list /tmp/gw6c-broker-list.txt
option last_server /tmp/gw6c-last-server.txt
# Always use last known working server? <yes|no>
option always_same_serv no
config gw6c logging
option log_console 0
option log_stderr 1
option log_file 1
option log_syslog 0
option log_filename /var/log/gw6c.log
option log_rotation yes
#Max size when using log file rotation
#possible values: 16|32|128|1024
option log_maxsize 32
#<USER|LOCAL[0-7]>
option syslog_facility USER
==========================
Registered user for the Freenet can get fix ipv6 address but require you to make donation as low as $5.
Start the tunneling and make it auto start after boot up.
1 2 |
/etc/init.d/gw6c start /etc/init.d/gw6c enable |
1 |
# cat /var/log/gw6c.log |
If you see the log similar to following mean the tunneling is success and the router have global IPv6 address.
1 2 3 4 5 |
2014/10/13 01:25:03 I gw6c: Gateway6 Client v5.1-RELEASE build Mar 14 2013-12:25:56 2014/10/13 01:25:03 I gw6c: Built on ///Linux Debian-60-squeeze-64-minimal 2.6.32-5-amd64 #1 SMP Sun May 6 04:00:17 UTC 2012 x86_64 GNU/Linux/// 2014/10/13 01:25:03 I gw6c: Connection to anon-taipei.freenet6.net established. 2014/10/13 01:25:05 I gw6c: Your IPv6 address is 2001:05d0:1400:000b:0000:0000:0000:3be6. 2014/10/13 01:25:05 I gw6c: Your IPv6 prefix is 2001:05d0:1508:e000:0000:0000:0000:0000/56. |
You may use ping6 -c 3 ipv6.google.com to test IPv6 connectivity.