Setup IPv6 NAT on OpenWRT Router

Introduction

This tutorial is a HowTo for setting up IPv6 NAT on an OpenWRT router.

The information on the environment is listed below.

Network Environment: China Education and Research Network Center with dual-stack IPv6

Network Device: NETGEAR R6100 (128M RAM)

Firmware Version: OpenWrt Chaos Calmer 15.05

Install Dependencies for OpenWRT

Login to the OpenWRT router via SSH and run the following commands:

opkg update
opkg install ip6tables
opkg install kmod-ipt-nat6
opkg install iputils-tracepath6

Setup IPv6 for Local-area Network

Edit /etc/config/network, and add the following lines in config interface 'lan':

option ip6addr 'fc00:192:168:113::1/64'

Remove the following lines if exists:

option ula_prefix [IP v6 Address here]

Edit /etc/config/dhcp, and change the content in  config dhcp 'lan' as follows:

config dhcp 'lan'
    option interface 'lan'
    option start '100'
    option limit '150'
    option leasetime '12h'
    option dhcpv6 'server'
    option ra 'server'
    option ra_management '1'
    option ra_default '1'
    option ndp 'hybrid'

Setup Gateway for IPv6 Network

Add the following lines to /etc/firewall.user for forwarding IPv6 traffic:

ip6tables -t nat -A POSTROUTING -o $(uci -q get network.wan6.ifname) -j MASQUERADE

Setup up IPv6 gateway by creating a file in /etc/hotplug.d/iface/90-ipv6 and adding the following lines to the file:

#!/bin/sh
 
[ "$ACTION" = ifup ] || exit 0
 
[ "$INTERFACE" = wan6 ] && {             
    route -A inet6 add ::/0 gw $(tracepath6 -n tv.byr.cn | grep ' 1: ' | awk 'NR==1 {print $2}') dev $(uci -q get network.wan6.ifname)
}

Then, add execute permission to this file:

chmod 755 /etc/hotplug.d/iface/90-ipv6

Complete Setup

Finishing setting up by restarting your router. Then you'll get the IPv6 address on your computer.

IPv6-Address

Enjoy!

References

  • https://wiki.openwrt.org/doc/howto/ipv6
  • http://blog.iopsl.com/ipv6-nat-with-openwrt-router/
  • http://blog.csdn.net/cod1ng/article/details/45421025
  • https://techo.io/topic/82/openwrt-ipv6-nat-%E9%85%8D%E7%BD%AE
Contact Us
  • Nanyang Technological University, Singapore
  • root [at] haozhexie [dot] com