This guide describes how you can enable IPv6 on OpenWRT. This guide assumes that your ISP does not provide a native IPv6 address. We’ll make use of the 6to4 relay servers. No account is required to start using the service. The howto assumes you have OpenWRT running on your router. OpenWRT Backfire 10.03.1 has been installed on my Netgear WNDR3800.
Install the required packages.
This can be done by the HTTP GUI or CLI. Below you find the commands to execute when installing the packages using CLI.
opkg update opkg install kmod-ipv6 ip6tables radvd ip 6to4
Configure a new interface
Configure an extra interface that will have your IPv6 address. This can be done by adding the below lines to /etc/config/network
config 'interface' '6rd' option 'proto' '6to4' option 'adv_subnet' '1' option 'adv_interface' 'lan'
Add new interface to WAN zone
Open /etc/config/firewall and locate configuration for the ‘wan’ zone.
config 'zone' option 'name' 'wan'
One of the configuration settings lists the attached networks. Add ‘6rd’ to the list.
option 'network' '6rd wan'
Configure Router Advertisement Daemon
Radvd is the daemon that announces the ipv6 router on the internal network. IPv6 clients will listen for Router Advertisements (RA) to configure their interfaces with an IPv6 address. This process is called StateLess Address AutoConfiguration. (SLAAC)
To enable radvd, edit ‘/etc/config/radvd’ and change the ‘ignore’ to ‘0’
config interface option interface 'lan' option AdvSendAdvert 1 option AdvManagedFlag 0 option AdvOtherConfigFlag 0 list client '' option ignore 0
Enable IPv6 forwarding
Add the following to /etc/sysctl.conf
# enable ipv6 forwarding net.ipv6.conf.all.forwarding=1
Reboot your router
This one is pretty easy. Just run the below command and wait.
First try to ping my server using its IPv6 address. Run the following command on your router. This will verify of your router can access IPv6 addresses.
ping6 -c 4 2001:470:7071:1::6
If this works, you can proceed with the following tests. Try to browse to the following URL with one of the PC within the LAN of your router. As you can see the URL contains an IPv6 address.
If you were able to access the above URL, your PC has IPv6 connectivity. Now, let’s test if you can resolve AAAA records. Try the following URL.
If this was successful, you should be able to browse any IPv6 enabled website on the internet.
Questions or feedback
Feel free to contact me via the comments section if you have questions. Any feedback is appreciated.