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.

Enjoy!

References

The Disqus comment system is loading ...
If the message does not appear, please check your Disqus configuration.