|
Last month we discussed the Test Pod project, and the different transition technologies available. The point of the Test Pod to allow an organization to test their applications in different IPv6 environments, to see first hand which transition technology is best for them.
The Test Pod can run on any OpenWrt router with Wifi capability, 16 MB of flash, and 64 MB of RAM, or better.
Below is a table of the technologies available on the Test Pod
| SSID | IPv6 Transition Tech |
|---|---|
| Dual-Stack | Traditional IPv4 & IPv6 |
| IPv6-Only | None, IPv6 only |
| IPv6-Only-D64 | DNS64 |
| IPv6Only-DP64 | DNS64 and PREF64 |
| IPv6Only-P64 | PREF64 |
| IPv6Mostly-DP64 | DNS64, PREF64 & DHCPv4 Option 108 |
| IPv6Mostly-P64 | PREF64 & DHCPv4 Option 108 |
The test pod creation script, pod-openwrt-gen-config.sh, must be downloaded to the router and run via an ssh session on the router. In addition to the script, one also needs a configuration file, pod.conf in the same directory. The configuration file has information for the Test Pod, including login password, Wifi passwords, and Wireguard info.
The configuration file should be customized to your needs before running the Test Pod creation script.
The configuration file, and creation script can be found in the NetSIG/Labs directory.
It is possible to download the tgz file directly to the router using wget with the following command:
wget -O test_pod.tgz http://www.makiki.ca/netsig/labs/test_pod.tgz
Once the file in on the router, untar it with the command:
tar xvzf test_pod.tgz
As mentioned earlier, the configuration file must be edited before running the creation script. First make a copy of the example configuration file.
cp pod.conf.example pod.conf
Use vi to edit the configuration file, pod.conf. Most of the data will come from James Harr if you are using the Wireguard backhaul to the Internet2 site.
If you are using your own IPv6 connection (via the WAN interface), then you will only need to edit the login password, Wifi Password, and an IPv6 prefix address space (a /56) from your organization.
Prior to running the script, it is a good idea to make a backup of your /etc directory. You can do this by using LuCI->System->Backup/Flash Firmware. However, should you need to restore, it will reboot the router.
A faster way is to just tar the /etc directory. In an ssh session:
cd /root
tar cvzf backup_etc.tgz /etc
Should you need to restore, just untar the file, and reload_config
After editing the pod.conf to your needs on the router, it is almost time to run the creation script, pod-openwrt-gen-config.sh
~# ./pod-openwrt-gen-config.sh -d
Installing minimal packages
Downloading https://downloads.openwrt.org/releases/24.10.2/targets/ramips/mt7621/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_core
Downloading https://downloads.openwrt.org/releases/24.10.2/targets/ramips/mt7621/packages/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/base/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_base
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/base/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.2/targets/ramips/mt7621/kmods/6.6.93-1-ae7dcdf01cb63b83c64f5cb8d8960511/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_kmods
Downloading https://downloads.openwrt.org/releases/24.10.2/targets/ramips/mt7621/kmods/6.6.93-1-ae7dcdf01cb63b83c64f5cb8d8960511/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/luci/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_luci
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/luci/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_packages
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/packages/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/routing/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_routing
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/routing/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/telephony/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_telephony
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/telephony/Packages.sig
Signature check passed.
Installing jool-tools-netfilter (4.1.14-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/packages/jool-tools-netfilter_4.1.14-r1_mipsel_24kc.ipk
Installing libnl-core200 (3.10.0-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/base/libnl-core200_3.10.0-r1_mipsel_24kc.ipk
Installing libnl-genl200 (3.10.0-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/base/libnl-genl200_3.10.0-r1_mipsel_24kc.ipk
Installing libnl-route200 (3.10.0-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/base/libnl-route200_3.10.0-r1_mipsel_24kc.ipk
Installing libnl-nf200 (3.10.0-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/base/libnl-nf200_3.10.0-r1_mipsel_24kc.ipk
Installing libnl-cli200 (3.10.0-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/base/libnl-cli200_3.10.0-r1_mipsel_24kc.ipk
Installing libnl200 (3.10.0-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/base/libnl200_3.10.0-r1_mipsel_24kc.ipk
Installing kmod-jool-netfilter (6.6.93.4.1.14-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/targets/ramips/mt7621/kmods/6.6.93-1-ae7dcdf01cb63b83c64f5cb8d8960511/kmod-jool-netfilter_6.6.93.4.1.14-r1_mipsel_24kc.ipk
Installing ethtool (6.11-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/base/ethtool_6.11-r1_mipsel_24kc.ipk
Installing luci-app-commands (25.222.74622~4d26a4d) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/luci/luci-app-commands_25.222.74622~4d26a4d_all.ipk
Installing luci-app-unbound (25.222.74622~4d26a4d) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/luci/luci-app-unbound_25.222.74622~4d26a4d_all.ipk
Installing liblua5.1.5 (5.1.5-r11) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/base/liblua5.1.5_5.1.5-r11_mipsel_24kc.ipk
Installing lua (5.1.5-r11) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/base/lua_5.1.5-r11_mipsel_24kc.ipk
Installing luci-lib-nixio (25.222.74622~4d26a4d) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/luci/luci-lib-nixio_25.222.74622~4d26a4d_mipsel_24kc.ipk
Installing luci-lib-ip (25.222.74622~4d26a4d) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/luci/luci-lib-ip_25.222.74622~4d26a4d_mipsel_24kc.ipk
Installing luci-lib-jsonc (25.222.74622~4d26a4d) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/luci/luci-lib-jsonc_25.222.74622~4d26a4d_mipsel_24kc.ipk
Installing liblucihttp-lua (2023.03.15~9b5b683f-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/luci/liblucihttp-lua_2023.03.15~9b5b683f-r1_mipsel_24kc.ipk
Installing luci-lib-base (25.222.74622~4d26a4d) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/luci/luci-lib-base_25.222.74622~4d26a4d_all.ipk
Installing libubus-lua (2025.07.02~5952b48e-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/base/libubus-lua_2025.07.02~5952b48e-r1_mipsel_24kc.ipk
Installing ucode-mod-lua (1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/luci/ucode-mod-lua_1_mipsel_24kc.ipk
Installing luci-lua-runtime (25.222.74622~4d26a4d) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/luci/luci-lua-runtime_25.222.74622~4d26a4d_mipsel_24kc.ipk
Installing luci-compat (25.222.74622~4d26a4d) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/luci/luci-compat_25.222.74622~4d26a4d_all.ipk
Installing libatomic1 (13.3.0-r4) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/targets/ramips/mt7621/packages/libatomic1_13.3.0-r4_mipsel_24kc.ipk
Installing libopenssl3 (3.0.17-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/base/libopenssl3_3.0.17-r1_mipsel_24kc.ipk
Installing libevent2-7 (2.1.12-r2) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/base/libevent2-7_2.1.12-r2_mipsel_24kc.ipk
Installing libunbound (1.21.0-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/packages/libunbound_1.21.0-r1_mipsel_24kc.ipk
Installing unbound-daemon (1.21.0-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/packages/unbound-daemon_1.21.0-r1_mipsel_24kc.ipk
Installing unbound-control (1.21.0-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/packages/unbound-control_1.21.0-r1_mipsel_24kc.ipk
Installing unbound-control-setup (1.21.0-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/packages/unbound-control-setup_1.21.0-r1_mipsel_24kc.ipk
Installing libopenssl-conf (3.0.17-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/base/libopenssl-conf_3.0.17-r1_mipsel_24kc.ipk
Installing openssl-util (3.0.17-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/base/openssl-util_3.0.17-r1_mipsel_24kc.ipk
Installing wireguard-tools (1.0.20210914-r4) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/base/wireguard-tools_1.0.20210914-r4_mipsel_24kc.ipk
Installing ip-tiny (6.11.0-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/base/ip-tiny_6.11.0-r1_mipsel_24kc.ipk
Installing kmod-crypto-lib-chacha20 (6.6.93-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/targets/ramips/mt7621/kmods/6.6.93-1-ae7dcdf01cb63b83c64f5cb8d8960511/kmod-crypto-lib-chacha20_6.6.93-r1_mipsel_24kc.ipk
Installing kmod-crypto-lib-poly1305 (6.6.93-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/targets/ramips/mt7621/kmods/6.6.93-1-ae7dcdf01cb63b83c64f5cb8d8960511/kmod-crypto-lib-poly1305_6.6.93-r1_mipsel_24kc.ipk
Installing kmod-crypto-lib-chacha20poly1305 (6.6.93-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/targets/ramips/mt7621/kmods/6.6.93-1-ae7dcdf01cb63b83c64f5cb8d8960511/kmod-crypto-lib-chacha20poly1305_6.6.93-r1_mipsel_24kc.ipk
Installing kmod-crypto-kpp (6.6.93-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/targets/ramips/mt7621/kmods/6.6.93-1-ae7dcdf01cb63b83c64f5cb8d8960511/kmod-crypto-kpp_6.6.93-r1_mipsel_24kc.ipk
Installing kmod-crypto-lib-curve25519 (6.6.93-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/targets/ramips/mt7621/kmods/6.6.93-1-ae7dcdf01cb63b83c64f5cb8d8960511/kmod-crypto-lib-curve25519_6.6.93-r1_mipsel_24kc.ipk
Installing kmod-udptunnel4 (6.6.93-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/targets/ramips/mt7621/kmods/6.6.93-1-ae7dcdf01cb63b83c64f5cb8d8960511/kmod-udptunnel4_6.6.93-r1_mipsel_24kc.ipk
Installing kmod-udptunnel6 (6.6.93-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/targets/ramips/mt7621/kmods/6.6.93-1-ae7dcdf01cb63b83c64f5cb8d8960511/kmod-udptunnel6_6.6.93-r1_mipsel_24kc.ipk
Installing kmod-wireguard (6.6.93-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/targets/ramips/mt7621/kmods/6.6.93-1-ae7dcdf01cb63b83c64f5cb8d8960511/kmod-wireguard_6.6.93-r1_mipsel_24kc.ipk
Package kmod-wireguard (6.6.93-r1) installed in root is up to date.
Installing luci-proto-wireguard (25.222.74622~4d26a4d) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/luci/luci-proto-wireguard_25.222.74622~4d26a4d_all.ipk
Installing luci-lib-uqr (25.222.74622~4d26a4d) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/luci/luci-lib-uqr_25.222.74622~4d26a4d_all.ipk
Installing resolveip (2) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/base/resolveip_2_mipsel_24kc.ipk
Package tcpdump (4.99.5-r1) installed in root is up to date.
Installing iperf (2.1.9-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/packages/iperf_2.1.9-r1_mipsel_24kc.ipk
Installing libstdcpp6 (13.3.0-r4) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/targets/ramips/mt7621/packages/libstdcpp6_13.3.0-r4_mipsel_24kc.ipk
Installing curl (8.12.1-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/packages/curl_8.12.1-r1_mipsel_24kc.ipk
Installing libnghttp2-14 (1.63.0-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/packages/libnghttp2-14_1.63.0-r1_mipsel_24kc.ipk
Installing libcurl4 (8.12.1-r1) to root...
Downloading https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/packages/libcurl4_8.12.1-r1_mipsel_24kc.ipk
Configuring ip-tiny.
Configuring kmod-crypto-lib-chacha20.
Configuring kmod-crypto-lib-poly1305.
Configuring kmod-crypto-lib-chacha20poly1305.
Configuring kmod-crypto-kpp.
Configuring kmod-crypto-lib-curve25519.
Configuring kmod-udptunnel4.
Configuring kmod-udptunnel6.
Configuring kmod-wireguard.
Configuring wireguard-tools.
Configuring luci-lib-uqr.
Configuring resolveip.
Configuring luci-proto-wireguard.
Configuring libatomic1.
Configuring libopenssl3.
Configuring liblua5.1.5.
Configuring lua.
Configuring luci-lib-nixio.
Configuring luci-lib-ip.
Configuring luci-lib-jsonc.
Configuring liblucihttp-lua.
Configuring luci-lib-base.
Configuring libstdcpp6.
Configuring iperf.
Configuring libubus-lua.
Configuring libopenssl-conf.
Generating engines.cnf
Generating providers.cnf
Configuring openssl-util.
Configuring ucode-mod-lua.
Configuring luci-lua-runtime.
Configuring libevent2-7.
Configuring libunbound.
Configuring unbound-daemon.
unbound: default protocol configuration
unbound: default memory configuration
unbound: default recursion configuration
Configuring libnl-core200.
Configuring libnl-route200.
Configuring libnl-genl200.
Configuring libnl-nf200.
Configuring libnl-cli200.
Configuring libnl200.
Configuring luci-compat.
Configuring luci-app-unbound.
Configuring unbound-control.
Configuring unbound-control-setup.
Configuring ethtool.
Configuring kmod-jool-netfilter.
Configuring libnghttp2-14.
Configuring libcurl4.
Configuring curl.
Configuring luci-app-commands.
Configuring jool-tools-netfilter.
=========== Merge System =========
=========== Config rpcd, ucitrack uhttpd unbound =========
=========== Merge Wireless =========
=========== Merge Network =========
=========== Configure dhcp odhcp =========
=========== Merge Firewall =========
=========== Configure Jool =========
=========== Config Complete, show changes =========
firewall.cfg11e63d='defaults'
firewall.cfg11e63d.input='REJECT'
firewall.cfg11e63d.output='ACCEPT'
firewall.cfg11e63d.forward='REJECT'
firewall.cfg11e63d.synflood_protect='1'
firewall.cfg12dc81='zone'
firewall.cfg12dc81.name='lan'
firewall.cfg12dc81.input='ACCEPT'
firewall.cfg12dc81.output='ACCEPT'
firewall.cfg12dc81.forward='ACCEPT'
firewall.cfg12dc81.network+='br-lan'
firewall.cfg12dc81.network+='vlan101_DualStk'
firewall.cfg12dc81.network+='vlan102_v6Only'
firewall.cfg12dc81.network+='vlan103_v6_D64'
firewall.cfg12dc81.network+='vlan104_v6_DP64'
firewall.cfg12dc81.network+='vlan105_v6_P64'
firewall.cfg12dc81.network+='vlan106_6M_DP64'
firewall.cfg12dc81.network+='vlan107_6M_P64'
firewall.cfg13dc81='zone'
firewall.cfg13dc81.name='wan'
firewall.cfg13dc81.input='REJECT'
firewall.cfg13dc81.output='ACCEPT'
firewall.cfg13dc81.forward='REJECT'
firewall.cfg13dc81.masq='1'
firewall.cfg13dc81.mtu_fix='1'
firewall.cfg13dc81.network+='wan'
firewall.cfg13dc81.network+='wg0'
firewall.cfg1492bd='rule'
firewall.cfg1492bd.name='Allow-DHCP-Renew'
firewall.cfg1492bd.src='wan'
firewall.cfg1492bd.proto='udp'
firewall.cfg1492bd.dest_port='68'
firewall.cfg1492bd.target='ACCEPT'
firewall.cfg1492bd.family='ipv4'
firewall.cfg1592bd='rule'
firewall.cfg1592bd.name='Allow-Ping'
firewall.cfg1592bd.src='wan'
firewall.cfg1592bd.proto='icmp'
firewall.cfg1592bd.icmp_type='echo-request'
firewall.cfg1592bd.family='ipv4'
firewall.cfg1592bd.target='ACCEPT'
firewall.cfg1692bd='rule'
firewall.cfg1692bd.name='Allow-IGMP'
firewall.cfg1692bd.src='wan'
firewall.cfg1692bd.proto='igmp'
firewall.cfg1692bd.family='ipv4'
firewall.cfg1692bd.target='ACCEPT'
firewall.cfg1792bd='rule'
firewall.cfg1792bd.name='Allow-DHCPv6'
firewall.cfg1792bd.src='wan'
firewall.cfg1792bd.proto='udp'
firewall.cfg1792bd.dest_port='546'
firewall.cfg1792bd.family='ipv6'
firewall.cfg1792bd.target='ACCEPT'
firewall.cfg1892bd='rule'
firewall.cfg1892bd.name='Allow-MLD'
firewall.cfg1892bd.src='wan'
firewall.cfg1892bd.proto='icmp'
firewall.cfg1892bd.src_ip='fe80::/10'
firewall.cfg1892bd.icmp_type+='130/0'
firewall.cfg1892bd.icmp_type+='131/0'
firewall.cfg1892bd.icmp_type+='132/0'
firewall.cfg1892bd.icmp_type+='143/0'
firewall.cfg1892bd.family='ipv6'
firewall.cfg1892bd.target='ACCEPT'
firewall.cfg1992bd='rule'
firewall.cfg1992bd.name='Allow-ICMPv6-Input'
firewall.cfg1992bd.src='wan'
firewall.cfg1992bd.proto='icmp'
firewall.cfg1992bd.icmp_type+='echo-request'
firewall.cfg1992bd.icmp_type+='echo-reply'
firewall.cfg1992bd.icmp_type+='destination-unreachable'
firewall.cfg1992bd.icmp_type+='packet-too-big'
firewall.cfg1992bd.icmp_type+='time-exceeded'
firewall.cfg1992bd.icmp_type+='bad-header'
firewall.cfg1992bd.icmp_type+='unknown-header-type'
firewall.cfg1992bd.icmp_type+='router-solicitation'
firewall.cfg1992bd.icmp_type+='neighbour-solicitation'
firewall.cfg1992bd.icmp_type+='router-advertisement'
firewall.cfg1992bd.icmp_type+='neighbour-advertisement'
firewall.cfg1992bd.limit='1000/sec'
firewall.cfg1992bd.family='ipv6'
firewall.cfg1992bd.target='ACCEPT'
firewall.cfg1a92bd='rule'
firewall.cfg1a92bd.name='Allow-ICMPv6-Forward'
firewall.cfg1a92bd.src='wan'
firewall.cfg1a92bd.dest='*'
firewall.cfg1a92bd.proto='icmp'
firewall.cfg1a92bd.icmp_type+='echo-request'
firewall.cfg1a92bd.icmp_type+='echo-reply'
firewall.cfg1a92bd.icmp_type+='destination-unreachable'
firewall.cfg1a92bd.icmp_type+='packet-too-big'
firewall.cfg1a92bd.icmp_type+='time-exceeded'
firewall.cfg1a92bd.icmp_type+='bad-header'
firewall.cfg1a92bd.icmp_type+='unknown-header-type'
firewall.cfg1a92bd.limit='1000/sec'
firewall.cfg1a92bd.family='ipv6'
firewall.cfg1a92bd.target='ACCEPT'
firewall.cfg1b92bd='rule'
firewall.cfg1b92bd.name='Allow-IPSec-ESP'
firewall.cfg1b92bd.src='wan'
firewall.cfg1b92bd.dest='lan'
firewall.cfg1b92bd.proto='esp'
firewall.cfg1b92bd.target='ACCEPT'
firewall.cfg1c92bd='rule'
firewall.cfg1c92bd.name='Allow-ISAKMP'
firewall.cfg1c92bd.src='wan'
firewall.cfg1c92bd.dest='lan'
firewall.cfg1c92bd.dest_port='500'
firewall.cfg1c92bd.proto='udp'
firewall.cfg1c92bd.target='ACCEPT'
firewall.cfg1d92bd='rule'
firewall.cfg1d92bd.name='Remote management for IPv6 Pod project admins'
firewall.cfg1d92bd.src='wan'
firewall.cfg1d92bd.src_ip+='2001:468:f01::/56'
firewall.cfg1d92bd.dest_port='22 80 443 7681 667'
firewall.cfg1d92bd.target='ACCEPT'
firewall.cfg1d92bd.proto+='tcp'
firewall.cfg1e3837='redirect'
firewall.cfg1e3837.target='DNAT'
firewall.cfg1e3837.name='vlan103_v6_D64 - DNS64 redirect'
firewall.cfg1e3837.family='ipv6'
firewall.cfg1e3837.src='lan'
firewall.cfg1e3837.src_dip='2001:468:f01:2303::1'
firewall.cfg1e3837.src_dport='53'
firewall.cfg1e3837.dest_port='6453'
firewall.cfg1e3837.reflection='0'
firewall.cfg1f3837='redirect'
firewall.cfg1f3837.target='DNAT'
firewall.cfg1f3837.name='vlan104_v6_DP64 - DNS64 redirect'
firewall.cfg1f3837.family='ipv6'
firewall.cfg1f3837.src='lan'
firewall.cfg1f3837.src_dip='2001:468:f01:2304::1'
firewall.cfg1f3837.src_dport='53'
firewall.cfg1f3837.dest_port='6453'
firewall.cfg1f3837.reflection='0'
firewall.cfg203837='redirect'
firewall.cfg203837.target='DNAT'
firewall.cfg203837.name='vlan106_6M_DP64 - DNS64 redirect'
firewall.cfg203837.family='ipv6'
firewall.cfg203837.src='lan'
firewall.cfg203837.src_dip='2001:468:f01:2306::1'
firewall.cfg203837.src_dport='53'
firewall.cfg203837.dest_port='6453'
firewall.cfg203837.reflection='0'
firewall.cfg2192bd='rule'
firewall.cfg2192bd.name='Allow DNS'
firewall.cfg2192bd.src='lan'
firewall.cfg2192bd.dest_port='53 6453'
firewall.cfg2192bd.target='ACCEPT'
-firewall.cfg03dc81
-firewall.cfg02dc81
network.wg0='interface'
network.wg0.proto='wireguard'
network.wg0.private_key='oM+m5ntJNg4IfiMOiL2QjWjWeALN8eJTuCLHMgKs2Xo='
network.wg0.addresses+='2001:468:f01:2300::1/128'
network.cfg0996fc='wireguard_wg0'
network.cfg0996fc.description='tunnel1.ipv6-pod.info'
network.cfg0996fc.public_key='asGLRr0ZrW+SSgX7psFo2IeLVM62cmVIWzIjS6AR9QI='
network.cfg0996fc.route_allowed_ips='1'
network.cfg0996fc.endpoint_host='ipv4.tunnel1.ipv6-pod.info'
network.cfg0996fc.endpoint_port='51820'
network.cfg0996fc.persistent_keepalive='60'
network.cfg0996fc.allowed_ips+='::/0'
network.vlan101_DualStk='interface'
network.vlan101_DualStk.proto='static'
network.vlan101_DualStk.device='br-lan.101'
network.vlan101_DualStk.ipaddr='192.168.1.1'
network.vlan101_DualStk.netmask='255.255.255.0'
network.vlan101_DualStk.ip6addr+='2001:468:f01:2301::1/64'
network.vlan101_DualStk.delegate='0'
network.vlan102_v6Only='interface'
network.vlan102_v6Only.proto='static'
network.vlan102_v6Only.device='br-lan.102'
network.vlan102_v6Only.ip6addr+='2001:468:f01:2302::1/64'
network.vlan103_v6_D64='interface'
network.vlan103_v6_D64.proto='static'
network.vlan103_v6_D64.device='br-lan.103'
network.vlan103_v6_D64.ip6addr+='2001:468:f01:2303::1/64'
network.vlan104_v6_DP64='interface'
network.vlan104_v6_DP64.proto='static'
network.vlan104_v6_DP64.device='br-lan.104'
network.vlan104_v6_DP64.ip6addr+='2001:468:f01:2304::1/64'
network.vlan105_v6_P64='interface'
network.vlan105_v6_P64.proto='static'
network.vlan105_v6_P64.device='br-lan.105'
network.vlan105_v6_P64.ip6addr+='2001:468:f01:2305::1/64'
network.vlan106_6M_DP64='interface'
network.vlan106_6M_DP64.proto='static'
network.vlan106_6M_DP64.device='br-lan.106'
network.vlan106_6M_DP64.ip6addr+='2001:468:f01:2306::1/64'
network.vlan106_6M_DP64.ipaddr='192.168.6.1'
network.vlan106_6M_DP64.netmask='255.255.255.0'
network.vlan107_6M_P64='interface'
network.vlan107_6M_P64.proto='static'
network.vlan107_6M_P64.device='br-lan.107'
network.vlan107_6M_P64.ip6addr+='2001:468:f01:2307::1/64'
network.vlan107_6M_P64.ipaddr='192.168.7.1'
network.vlan107_6M_P64.netmask='255.255.255.0'
network.cfg110f15='device'
network.cfg110f15.name='br-lan'
network.cfg110f15.type='bridge'
network.cfg110f15.ports+='lan1'
network.cfg110f15.ports+='lan2'
network.cfg110f15.ports+='lan3'
network.cfg110f15.ports+='lan4'
network.cfg110f15.ports+='lan5'
network.cfg120f15='device'
network.cfg120f15.name='lan1'
network.cfg120f15.macaddr='94:83:c4:a2:06:c9'
network.cfg130f15='device'
network.cfg130f15.name='lan2'
network.cfg130f15.macaddr='94:83:c4:a2:06:c9'
network.cfg140f15='device'
network.cfg140f15.name='lan3'
network.cfg140f15.macaddr='94:83:c4:a2:06:c9'
network.cfg150f15='device'
network.cfg150f15.name='lan4'
network.cfg150f15.macaddr='94:83:c4:a2:06:c9'
network.cfg160f15='device'
network.cfg160f15.name='lan5'
network.cfg160f15.macaddr='94:83:c4:a2:06:c9'
network.cfg17a1b0='bridge-vlan'
network.cfg17a1b0.device='br-lan'
network.cfg17a1b0.vlan='101'
network.cfg17a1b0.ports+='lan1'
network.cfg18a1b0='bridge-vlan'
network.cfg18a1b0.device='br-lan'
network.cfg18a1b0.vlan='102'
network.cfg18a1b0.ports+='lan2'
network.cfg19a1b0='bridge-vlan'
network.cfg19a1b0.device='br-lan'
network.cfg19a1b0.vlan='103'
network.cfg19a1b0.ports+='lan3'
network.cfg1aa1b0='bridge-vlan'
network.cfg1aa1b0.device='br-lan'
network.cfg1aa1b0.vlan='104'
network.cfg1aa1b0.ports+='lan4'
network.cfg1ba1b0='bridge-vlan'
network.cfg1ba1b0.device='br-lan'
network.cfg1ba1b0.vlan='105'
network.cfg1ca1b0='bridge-vlan'
network.cfg1ca1b0.device='br-lan'
network.cfg1ca1b0.vlan='106'
network.cfg1da1b0='bridge-vlan'
network.cfg1da1b0.device='br-lan'
network.cfg1da1b0.vlan='107'
network.cfg1da1b0.ports+='lan7'
system.cfg05e48a='system'
system.cfg05e48a.hostname='pod23'
system.cfg05e48a.timezone='UTC'
system.cfg05e48a.ttylogin='0'
system.cfg05e48a.log_size='64'
system.cfg05e48a.urandom_seed='0'
system.cfg05e48a.compat_version='1.0'
system.ntp.server+='0.openwrt.pool.ntp.org'
system.ntp.server+='1.openwrt.pool.ntp.org'
system.ntp.server+='2.openwrt.pool.ntp.org'
system.ntp.server+='3.openwrt.pool.ntp.org'
wireless.wifinet0='wifi-iface'
wireless.wifinet0.device='radio0'
wireless.wifinet0.mode='ap'
wireless.wifinet0.ssid='pod23-DualStack'
wireless.wifinet0.encryption='psk2+ccmp'
wireless.wifinet0.key='hawaii50'
wireless.wifinet0.ieee80211w='2'
wireless.wifinet0.network='vlan101_DualStk'
wireless.wifinet1='wifi-iface'
wireless.wifinet1.device='radio1'
wireless.wifinet1.mode='ap'
wireless.wifinet1.ssid='pod23-DualStack'
wireless.wifinet1.encryption='psk2+ccmp'
wireless.wifinet1.key='hawaii50'
wireless.wifinet1.ieee80211w='2'
wireless.wifinet1.network='vlan101_DualStk'
wireless.wifinet2='wifi-iface'
wireless.wifinet2.device='radio0'
wireless.wifinet2.mode='ap'
wireless.wifinet2.ssid='pod23-IPv6Only'
wireless.wifinet2.encryption='psk2+ccmp'
wireless.wifinet2.key='hawaii50'
wireless.wifinet2.ieee80211w='2'
wireless.wifinet2.network='vlan102_v6Only'
wireless.wifinet3='wifi-iface'
wireless.wifinet3.device='radio1'
wireless.wifinet3.mode='ap'
wireless.wifinet3.ssid='pod23-IPv6Only'
wireless.wifinet3.encryption='psk2+ccmp'
wireless.wifinet3.key='hawaii50'
wireless.wifinet3.ieee80211w='2'
wireless.wifinet3.network='vlan102_v6Only'
wireless.wifinet4='wifi-iface'
wireless.wifinet4.device='radio0'
wireless.wifinet4.mode='ap'
wireless.wifinet4.ssid='pod23-IPv6Only-D64'
wireless.wifinet4.encryption='psk2+ccmp'
wireless.wifinet4.key='hawaii50'
wireless.wifinet4.ieee80211w='2'
wireless.wifinet4.network='vlan103_v6_D64'
wireless.wifinet5='wifi-iface'
wireless.wifinet5.device='radio1'
wireless.wifinet5.mode='ap'
wireless.wifinet5.ssid='pod23-IPv6Only-D64'
wireless.wifinet5.encryption='psk2+ccmp'
wireless.wifinet5.key='hawaii50'
wireless.wifinet5.ieee80211w='2'
wireless.wifinet5.network='vlan103_v6_D64'
wireless.wifinet6='wifi-iface'
wireless.wifinet6.device='radio0'
wireless.wifinet6.mode='ap'
wireless.wifinet6.ssid='pod23-IPv6Only-DP64'
wireless.wifinet6.encryption='psk2+ccmp'
wireless.wifinet6.key='hawaii50'
wireless.wifinet6.ieee80211w='2'
wireless.wifinet6.network='vlan104_v6_DP64'
wireless.wifinet7='wifi-iface'
wireless.wifinet7.device='radio1'
wireless.wifinet7.mode='ap'
wireless.wifinet7.ssid='pod23-IPv6Only-DP64'
wireless.wifinet7.encryption='psk2+ccmp'
wireless.wifinet7.key='hawaii50'
wireless.wifinet7.ieee80211w='2'
wireless.wifinet7.network='vlan104_v6_DP64'
wireless.wifinet8='wifi-iface'
wireless.wifinet8.device='radio0'
wireless.wifinet8.mode='ap'
wireless.wifinet8.ssid='pod23-IPv6Only-P64'
wireless.wifinet8.encryption='psk2+ccmp'
wireless.wifinet8.key='hawaii50'
wireless.wifinet8.ieee80211w='2'
wireless.wifinet8.network='vlan105_v6_P64'
wireless.wifinet9='wifi-iface'
wireless.wifinet9.device='radio1'
wireless.wifinet9.mode='ap'
wireless.wifinet9.ssid='pod23-IPv6Only-P64'
wireless.wifinet9.encryption='psk2+ccmp'
wireless.wifinet9.key='hawaii50'
wireless.wifinet9.ieee80211w='2'
wireless.wifinet9.network='vlan105_v6_P64'
wireless.wifinet10='wifi-iface'
wireless.wifinet10.device='radio0'
wireless.wifinet10.mode='ap'
wireless.wifinet10.ssid='pod23-IPv6Mostly-DP64'
wireless.wifinet10.encryption='psk2'
wireless.wifinet10.key='hawaii50'
wireless.wifinet10.ieee80211w='2'
wireless.wifinet10.network='vlan106_6M_DP64'
wireless.wifinet11='wifi-iface'
wireless.wifinet11.device='radio1'
wireless.wifinet11.mode='ap'
wireless.wifinet11.ssid='pod23-IPv6Mostly-DP64'
wireless.wifinet11.encryption='psk2+ccmp'
wireless.wifinet11.key='hawaii50'
wireless.wifinet11.ieee80211w='2'
wireless.wifinet11.network='vlan106_6M_DP64'
wireless.wifinet12='wifi-iface'
wireless.wifinet12.device='radio0'
wireless.wifinet12.mode='ap'
wireless.wifinet12.ssid='pod23-IPv6Mostly-P64'
wireless.wifinet12.encryption='psk2+ccmp'
wireless.wifinet12.key='hawaii50'
wireless.wifinet12.ieee80211w='2'
wireless.wifinet12.network='vlan107_6M_P64'
wireless.wifinet13='wifi-iface'
wireless.wifinet13.device='radio1'
wireless.wifinet13.mode='ap'
wireless.wifinet13.ssid='pod23-IPv6Mostly-P64'
wireless.wifinet13.encryption='psk2+ccmp'
wireless.wifinet13.key='hawaii50'
wireless.wifinet13.ieee80211w='2'
wireless.wifinet13.network='vlan107_6M_P64'
=========== Set Password =========
Changing password for root
New password:
Bad password: too weak
Retype password:
passwd: password for root changed by root
=========== Config Commit Changes =========
Look around, then run the following commands to activate config:
uci commit
reload_config
=========== Add remote admin ssh key =========
Pau
If the WireGuard tunnel is required (e.g. no native IPv6 on the WAN), then you will need to reboot the router to enable the WireGuard interface.
So let's run the demo, and you can connect your laptops (with Wireshark installed)and give it a test.
The table from (above) lists the technologies available on the Test Pod
| SSID | IPv6 Transition Tech |
|---|---|
| Dual-Stack | Traditional IPv4 & IPv6 |
| IPv6-Only | None, IPv6 only |
| IPv6-Only-D64 | DNS64 |
| IPv6Only-DP64 | DNS64 and PREF64 |
| IPv6Only-P64 | PREF64 |
| IPv6Mostly-DP64 | DNS64, PREF64 & DHCPv4 Option 108 |
| IPv6Mostly-P64 | PREF64 & DHCPv4 Option 108 |
Because the expansion of the Internet can only be via IPv6 (we have run out of IPv4 addresses), it is time to start testing which IPv6 network technologies will work for you and your applications. The IPv6 Test Pod is a tool to quickly determine which IPv6 network transition technology is best for your network.
Notes:
wget by default. It is also possible to install curl and use it to download the creation script13 August 2025