Ok, I think I'm making progress here. So, to summarize the steps thus far:
1. Log into router using putty. Instally tayga with the command:
opkg update && opkg install tayga
2. Modify the sample configuration file tayga.conf.example as required. In this case, were I need tayga to provide an ipv6-reachable address for legacy ipv4-only webcams, I did not configure a dynamic pool but I did create a static mapping for each device. EG:
map 192.168.0.15 2001:xxxx:xxxx:xxxx:192:168:0:15.
I set tayga's ipv4 address as 192.168.0.201 and set the maximum DHCP address in the router to 192.168.0.200 to avoid any possible conflicts. tun-device name was left at the recommended "nat64". Tayga's IPv6 address was left unspecified as per the comments, it will be generated by tayga based on the NAT64 prefix. The NAT 64 prefix was set to 2001:xxxx:xxxx:xxxx::/96 as per the example. Saved the file as tayga.conf and copied to tmp/opt/etc on the router using WinSCP.
3. I do not have a vlan setup, so start the tunnel driver (again, using putty) with the command:
modprobe tun.o
4. start tayga with the command:
tayga --mktun
returns: "Created persistent tun device nat64". That doesn't look like an error message, therefore "So far, so good"...
The next step in the readme is to configure the new nat64 interface and add the proper routes with the following commands:
# ip link set nat64 up
# ip addr add 2001:db8:1::1 dev nat64 # replace with your router's address
# ip addr add 192.168.0.1 dev nat64 # replace with your router's address
# ip route add 2001:db8:1:ffff::/96 dev nat64 # from tayga.conf
# ip route add 192.168.255.0/24 dev nat64 # from tayga.conf
ip link set nat 64 up -- no error message.
From the IPv6 tab, the "LAN IPv6 Address" is 2001:xxxx:xxxx:xxxx::1. I think that must be the router's address, so:
ip addr add 2001:xxxx:xxxx:xxxx::1 dev nat64 -- no error message.
ip addr add 192.168.0.1 dev nat64 -- no error message
The next line indicates it comes "from tayga.conf" and 2001:db8:1:ffff::/96 matches the prefix shown in the tayga.conf.example, so:
ip route add 2001:xxxx:xxxx:xxxx::/96 dev nat64 -- no error messages
192.168.255.0/24 matches the sample dynamic pool in tayga.conf.example. As I don't need a dynamic pool in my application and as I didn't set one up, I'll skip "ip route add 192.168.255.0/24 dev nat64"
Firewalling your NAT64 prefix from outside access is highly recommended:
# ip6tables -A FORWARD -s 2001:db8:1::/48 -d 2001:db8:1:ffff::/96 -j ACCEPT
# ip6tables -A FORWARD -d 2001:db8:1:ffff::/96 -j DROP
so:
# ip6tables -A FORWARD -s 2001:xxxx:xxxx::/48 -d 2001:xxxx:xxxx:xxxx::/96 -j ACCEPT -- no error messages
# ip6tables -A FORWARD -d 2001:xxxx:xxxx:xxxx::/96 -j DROP -- no error messages
and finally:
At this point, you may start the tayga process:
# tayga
So: tayga -- no error messages.
The proof of the pudding is in the eating:
ping6 2001:xxxx:xxxx:xxxx:192:168:0:15
just hangs. Control-C exits with the error:
PING 2001:xxxx:xxxx:xxxx:192:168:0:15 (2001:xxxx:xxxx:xxxx:192:168:0:15): 56 data bytes
ping6 2001:xxxx:xxxx:xxxx:192:168:0:15
--- 2001:xxxx:xxxx:xxxx:168:0:15 ping statistics ---
28 packets transmitted, 0 packets received, 100% packet loss
I tried again from a Windows command prompt: Destination host unreachable
I tried
iptables -A FORWARD -i nat64 -j ACCEPT
iptables -A FORWARD -o nat64 -j ACCEPT
ip6tables -A FORWARD -i nat64 -j ACCEPT
ip6tables -A FORWARD -o nat64 -j ACCEPT
with the same results.
I verified that I can ping the IPv4 address (192.168.0.15) so the camera does respond to pings.
Any ideas?