The stock Netgear WNR3500L firmwares that support IPv6 do not seem stable, I saw daily lockups after enabling the 6to4 anycast tunnel on
I switched to Tomato by loading the dd-wrt mini image dd-wrt.v24-14896_NEWD-2_K2.6_mini-WNR3500L.chk then booting tomato-K26USB-1.28.7486.4MIPSR2-Toastman-RT-Ext.bin
I mke2fs'd and e2label'd a usb thumbdrive for optware, then installed optware, then the buildroot and optware-devel ipkgs so I can compile binaries on the router directly.
For DNS64 support, I used totd, and for NAT64, tayga. Totd ./configure --prefix=/opt and make's, however the make script is broken and the make depend and make install do not work. Just make and copy totd to /opt/sbin and the example config to /opt/etc/totd.conf
With tayga, you need to remove lines 121-126 in tayga.c, then it ./configure --prefix=/opt and makes nicely.
I wanted totd to cooperate with dnsmasq, so I moved dnsmasq to port 5353, set totd up on port 53 with a forwarder to dnsmasq on port 5353.
I also wanted to use the well-known 64:ff9b::/96, so the configs end up like:
# totd.conf forwarder 127.0.0.1 port 5353 prefix 64:ff9b:: port 53 pidfile /opt/var/run/totd5005.pid
# tayga.conf tun-device nat64 ipv4-addr 192.168.255.1 ipv6-addr 2002:7457:6022:1:ffff::1 prefix 64:ff9b::/96 dynamic-pool 192.168.255.0/24 data-dir /opt/var/tayga
# /opt/etc/init.d/tayga
tayga_setup() {
lsmod | grep -q "^tun " ||
modprobe tun
ifconfig nat64 ||
/opt/sbin/tayga --mktun
ip link show nat64 | grep -q UP ||
ip link set nat64 up
ip -4 addr show dev nat64 | grep -q 192.168.1.1 ||
ip -4 addr add 192.168.1.1 dev nat64
ip -4 route show | grep -q 192.168.255 ||
ip -4 route add 192.168.255.0/24 dev nat64
ip -6 addr show dev nat64 | grep -q 2002:7457:6022 ||
ip -6 addr add 2002:7457:6022::1 dev nat64
ip -6 route show | grep -q 64:ff9b ||
ip -6 route add 64:ff9b::/96 dev nat64
iptables -L FORWARD -n | grep -q nat64 || {
iptables -I FORWARD 1 -i nat64 -j ACCEPT
iptables -I FORWARD 1 -o nat64 -j ACCEPT
}
/opt/sbin/tayga
}
# interfaces on the router
2: eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether c0:3f:0e:0f:8b:84 brd ff:ff:ff:ff:ff:ff
inet6 fe80::c23f:eff:fe0f:8b84/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,ALLMULTI,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether c0:3f:0e:0f:8b:86 brd ff:ff:ff:ff:ff:ff
inet6 fe80::c23f:eff:fe0f:8b86/64 scope link
valid_lft forever preferred_lft forever
26: nat64: <POINTOPOINT,MULTICAST,NOARP,UP,10000> mtu 1500 qdisc pfifo_fast qlen 500
link/[65534]
inet 192.168.1.1/32 scope global nat64
inet6 2002:7457:6022::1/128 scope global
valid_lft forever preferred_lft forever
42: vlan1@eth0: <BROADCAST,MULTICAST,ALLMULTI,UP,10000> mtu 1500 qdisc noqueue
link/ether c0:3f:0e:0f:8b:84 brd ff:ff:ff:ff:ff:ff
inet6 fe80::c23f:eff:fe0f:8b84/64 scope link
valid_lft forever preferred_lft forever
43: vlan2@eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc noqueue
link/ether c0:3f:0e:0f:8b:85 brd ff:ff:ff:ff:ff:ff
inet 116.87.96.34/24 brd 116.87.96.255 scope global vlan2
inet6 fe80::c23f:eff:fe0f:8b85/64 scope link
valid_lft forever preferred_lft forever
44: br0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc noqueue
link/ether c0:3f:0e:0f:8b:84 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.1/24 brd 192.168.1.255 scope global br0
inet6 2002:7457:6022:1::1/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::c23f:eff:fe0f:8b84/64 scope link
valid_lft forever preferred_lft forever
45: sit0: <NOARP> mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0
46: v6to4@NONE: <POINTOPOINT,NOARP,UP,10000> mtu 1480 qdisc noqueue
link/sit 116.87.96.34 peer 192.88.99.1
inet6 2002:7457:6022::1/16 scope global
valid_lft forever preferred_lft forever
inet6 fe80::7457:6022/128 scope link
valid_lft forever preferred_lft forever
Annoyances:
We'll see how this works over time...
Well, that was quick. The anycast ipv6 server near me is rotating IPv6s faster than once a day, or I'm bouncing between anycast hosts. Time to try a hurricane electric tunnel...