User Tools

Site Tools


IPv6 Essentials

To use IPv6, the following modules may or may not be necessary:

  • IPv6 kernel module (always)
  • IPv6 routing software (always, to configure IPv6 routing)
  • ip6tables kernel modules (optional, if you need an IPv6 firewall)
  • ip6tables command-line tool (optional, to configure the IPv6 firewall)
opkg install kmod-ipv6 radvd ip kmod-ip6tables ip6tables


To enable basic IPv6 support in OpenWRT Backfire (10.03), install the IPv6 kernel module using the shell:

root@OpenWrt:/# opkg install kmod-ipv6
root@OpenWrt:/# /etc/init.d/network restart

Verify by running ifconfig and making sure there are inet6 addresses listed:

root@OpenWrt:/# ifconfig
eth0      Link encap:Ethernet  HWaddr <hwaddr>
          inet addr:  Bcast:  Mask:
          inet6 addr: <globaladdr> Scope:Global
          inet6 addr: <linklocaladdr Scope:Link
          RX packets:110 errors:0 dropped:0 overruns:0 frame:0
          TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:12632 (12.3 KiB)  TX bytes:1966 (1.9 KiB)
          Interrupt:10 Base address:0x4000 

lo        Link encap:Local Loopback  
          inet addr:  Mask:
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:496 (496.0 B)  TX bytes:496 (496.0 B)

WAN interface


This assumes you have static both ipv4 and ipv6 addresses. Add lines

option ip6addr  'your:ipv6::address/prefix'
option ip6gw	'your:ipv6::gateway''

and modify you dns servers (assuming are your ipv4 DNS servers incapable of handling ipv6 traffic) accordingly:

option dns      ' 1:2:3:4:5:: 6:7:8:90:10::'

in config interface wan section of your /etc/config/network

Enable Routing

This is enabled by default on r31572 (and later). — sup 2012/05/16 15:00 To forward packets between interfaces, a kernel-level setting must be enabled. Insert the following line to /etc/sysctl.conf:


and reboot or execute /etc/init.d/sysctl start to commit your changes. To verify, cat /proc/sys/net/ipv6/conf/all/forwarding needs to return 1.


  1. To see if it is working from the router try: ping6
  2. If it does not work but ping6 [2a00:1450:8002::93] does, it means that your DNS server is not resolving IPv6 addresses at all: changing it will be necessary.
  3. When using a firewall, don't forget to check that IPv6 is enabled (it is by default). In the default zone of /etc/config/firewall, you either must not have line
    option disable_ipv6 1
    or have line
    option disable_ipv6	 0
  4. To verify your problem is not due to a firewall, run
    ip6tables -F
    Note that this effectively shuts down your firewall, so use this only for debugging purposes and start your firewall (reboot or /etc/init.d/firewall restart) right after you are done.
doc/howto/ipv6.essentials.txt · Last modified: 2012/05/16 19:04 by sup