User Tools

Site Tools


IPv6 Essentials

:!: This article discussed Backfire 10.03.x and earlier Openwrt releases. For advice targeting Attitude Adjustment 12.09.x, Barrier Breaker 14.07, Chaos Calmer 15.05 and later, please see the current advice for IPv6.

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: 2016/03/16 18:49 by hnyman