====== IPv6 Tunnel on OpenWrt ======
===== -- Summary=====
The objective of this platform is to connect your home network to the Internet using an IPv6 tunnel provided by [[ https://www.sixxs.net | sixxs]]. A TP-Link MR3020 router is used as the tunnel endpoint:
* The Ethernet interface is connected to your home set-top box.
* The WiFi interface creates a local area network and connects the home equipment.
===== -- IPv4 Configuration=====
Start by configuring Ethernet and WLAN interfaces on the MR3020 in two different IP networks. As the Ethernet interface is connected to the set-top box, it is important to adapt the following configuration to your environment by choosing an appropriate subnet and gateway. The WiFi interface has an address in a subnet of your choice.
Note that in OpenWrt, the configuration uses logical names for interfaces, such as ''wan'' for ''eth0''.
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config interface 'wan'
option ifname 'eth0'
option proto 'static'
option ipaddr '192.168.1.66'
option netmask '255.255.255.0'
option gateway '192.168.1.1'
option dns '8.8.8.8'
config interface 'wifi'
option proto 'static'
option ipaddr '192.168.66.1'
option netmask '255.255.255.0'
option ip6addr '2a01:240:xxxx:yyyy::1/64'
config dnsmasq
option domainneeded 1
option boguspriv 1
option filterwin2k 0 # enable for dial on demand
option localise_queries 1
option rebind_protection 1 # disable if upstream must serve RFC1918 addresses
option rebind_localhost 1 # enable for RBL checking and similar services
#list rebind_domain example.lan # whitelist RFC1918 responses for domains
option local '/lan/'
option domain 'lan'
option expandhosts 1
option nonegcache 0
option authoritative 1
option readethers 1
option leasefile '/tmp/dhcp.leases'
option resolvfile '/tmp/resolv.conf.auto'
#list server '/mycompany.local/1.2.3.4'
#option nonwildcard 1
#list interface br-lan
#list notinterface lo
#list bogusnxdomain '64.94.110.11'
config dhcp wifi
option interface wifi
option start 100
option limit 150
option leasetime 12h
config dhcp wan
option interface wan
option ignore 1
config wifi-device radio0
option type mac80211
option channel 11
option macaddr f8:d1:11:bd:62:ce
option hwmode 11ng
option htmode HT20
list ht_capab SHORT-GI-20
list ht_capab SHORT-GI-40
list ht_capab RX-STBC1
list ht_capab DSSS_CCK-40
config wifi-iface
option device radio0
option network wifi
option mode ap
option ssid 'PocketBox'
option encryption 'psk2'
option key '1CAFE2DECA'
config zone
option name wifi
option input ACCEPT
option output ACCEPT
option forward REJECT
config zone
option name lan
option network 'lan'
option input ACCEPT
option output ACCEPT
option forward REJECT
config zone
option name wan
option network 'wan'
option input REJECT
option output ACCEPT
option forward REJECT
option masq 1
option mtu_fix 1
config forwarding
option src lan
option dest wan
config forwarding
option src wifi
option dest wan
==== -- IPv6 Configuration====
opkg update && opkg install aiccu radvd
ip -6 addr add 2a01:240:fe00:80ab::1/64 dev wlan0
net.ipv6.conf.all.forwarding=1
config interface
option interface 'wifi'
option AdvSendAdvert 1
option AdvManagedFlag 0
option AdvOtherConfigFlag 0
list client ''
option ignore 0
config prefix
option interface 'wifi'
# If not specified, a non-link-local prefix of the interface is used
list prefix '2a01:240:fe00:80ab::/64'
option AdvOnLink 1
option AdvAutonomous 1
option AdvRouterAddr 0
option ignore 0
config route
option interface 'wifi'
list prefix ''
option ignore 1
config rdnss
option interface 'wifi'
# If not specified, the link-local address of the interface is used
list addr ''
option ignore 1
config dnssl
option interface 'wifi'
list suffix ''
option ignore 1
Create and edit
# AICCU Configuration
# Login information (defaults: none)
username XXXX-SIXXS
password XXXX
# Protocol and server to use for setting up the tunnel (defaults: none)
#protocol
#server
# Interface names to use (default: aiccu)
# ipv6_interface is the name of the interface that will be used as a tunnel interface.
# On *BSD the ipv6_interface should be set to gifX (eg gif0) for proto-41 tunnels
# or tunX (eg tun0) for AYIYA tunnels.
ipv6_interface tun0
# The tunnel_id to use (default: none)
# (only required when there are multiple tunnels in the list)
tunnel_id T23724
# Be verbose? (default: false)
verbose true
# Daemonize? (default: true)
# Set to false if you want to see any output
# When true output goes to syslog
#
# WARNING: never run AICCU from DaemonTools or a similar automated
# 'restart' tool/script. When AICCU does not start, it has a reason
# not to start which it gives on either the stdout or in the (sys)log
# file. The TIC server *will* automatically disable accounts which
# are detected to run in this mode.
#
daemonize true
# Automatic Login and Tunnel activation?
automatic true
# Require TLS?
# When set to true, if TLS is not supported on the server
# the TIC transaction will fail.
# When set to false, it will try a starttls, when that is
# not supported it will continue.
# In any case if AICCU is build with TLS support it will
# try to do a 'starttls' to the TIC server to see if that
# is supported.
requiretls false
# PID File
#pidfile /var/run/aiccu.pid
# Add a default route (default: true)
#defaultroute true
# Script to run after setting up the interfaces (default: none)
#setupscript /usr/local/etc/aiccu-subnets.sh
# Make heartbeats (default true)
# In general you don't want to turn this off
# Of course only applies to AYIYA and heartbeat tunnels not to static ones
#makebeats true
# Don't configure anything (default: false)
#noconfigure true
# Behind NAT (default: false)
# Notify the user that a NAT-kind network is detected
behindnat true
# Local IPv4 Override (default: none)
# Overrides the IPv4 parameter received from TIC
# This allows one to configure a NAT into "DMZ" mode and then
# forwarding the proto-41 packets to an internal host.
#
# This is only needed for static proto-41 tunnels!
# AYIYA and heartbeat tunnels don't require this.
#local_ipv4_override
aiccu start
/etc/init.d/radvd start
/etc/init.d/radvd enable