Following (roughly) the instructions https://www.zagbot.com/openvpn_ipv6_tunnel.html at I now have the following:
Client
martin@theoria:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:8d:b3:fd:f4
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::250:8dff:feb3:fdf4/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:31372164 errors:0 dropped:0 overruns:0 frame:0
TX packets:33131753 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:15453951555 (15.4 GB) TX bytes:26797262646 (26.7 GB)
Interrupt:23 Base address:0xa000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1985259 errors:0 dropped:0 overruns:0 frame:0
TX packets:1985259 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:347645379 (347.6 MB) TX bytes:347645379 (347.6 MB)
sit1 Link encap:IPv6-in-IPv4
inet6 addr: 2001:41d0:2:b353::10/64 Scope:Global
inet6 addr: fe80::a08:a/128 Scope:Link
UP POINTOPOINT RUNNING NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.10 P-t-P:10.8.0.9 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:9 errors:0 dropped:0 overruns:0 frame:0
TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:1106 (1.1 KB) TX bytes:1598 (1.5 KB)
virbr0 Link encap:Ethernet HWaddr 12:86:9c:16:08:fd
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
wlan0 Link encap:Ethernet HWaddr 00:0e:2e:4e:94:8a
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Server
root@martineve:~# ifconfig
eth0 Link encap:Ethernet HWaddr e0:69:95:72:85:77
inet addr:188.165.232.xxx Bcast:188.165.232.255 Mask:255.255.255.0
inet6 addr: fe80::e269:95ff:fe72:8577/64 Scope:Link
inet6 addr: 2001:41d0:2:b353::1/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:49817 errors:0 dropped:6 overruns:0 frame:0
TX packets:51419 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:21105790 (20.1 MiB) TX bytes:36400780 (34.7 MiB)
Interrupt:20 Memory:fe500000-fe520000
eth0:0 Link encap:Ethernet HWaddr e0:69:95:72:85:77
inet addr:87.98.254.xxx Bcast:87.255.255.255 Mask:255.255.255.255
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:20 Memory:fe500000-fe520000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:14274 errors:0 dropped:0 overruns:0 frame:0
TX packets:14274 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:10206299 (9.7 MiB) TX bytes:10206299 (9.7 MiB)
sit10 Link encap:IPv6-in-IPv4
inet6 addr: 2001:41d0:2:b353::3/64 Scope:Global
inet6 addr: fe80::a08:1/128 Scope:Link
UP POINTOPOINT RUNNING NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:16000 errors:0 dropped:0 overruns:0 frame:0
TX packets:13254 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:9839924 (9.3 MiB) TX bytes:5791219 (5.5 MiB)
Each device can ping the other over the IPv6 network between them:
Client:
PING 2001:41d0:2:b353::3(2001:41d0:2:b353::3) 56 data bytes
64 bytes from 2001:41d0:2:b353::3: icmp_seq=1 ttl=64 time=25.3 ms
Server:
PING 2001:41d0:2:b353::10(2001:41d0:2:b353::10) 56 data bytes
64 bytes from 2001:41d0:2:b353::10: icmp_seq=1 ttl=64 time=94.7 ms
However, from the client, I cannot access anywhere outside.
Client:
martin@theoria:~$ ip -6 route show
2001:41d0:2:b353::/64 via :: dev sit1 proto kernel metric 256
fe80::/64 dev eth0 proto kernel metric 256
fe80::/64 via :: dev sit1 proto kernel metric 256
default via 2001:41d0:2:b353::1 dev sit1 metric 1024
martin@theoria:~$ sudo route -A inet6
[sudo] password for martin:
Kernel IPv6 routing table
Destination Next Hop Flag Met Ref Use If
2001:41d0:2:b353::/64 :: Un 256 0 1 sit1
fe80::/64 :: U 256 0 0 eth0
fe80::/64 :: Un 256 0 0 sit1
::/0 2001:41d0:2:b353::1 UG 1024 0 0 sit1
::/0 :: !n -1 1 520 lo
::1/128 :: Un 0 2 56 lo
2001:41d0:2:b353::10/128 :: Un 0 1 3 lo
fe80::a08:a/128 :: Un 0 1 0 lo
fe80::250:8dff:feb3:fdf4/128 :: Un 0 1 0 lo
ff00::/8 :: U 256 0 0 eth0
ff00::/8 :: U 256 0 0 sit1
::/0 :: !n -1 1 520 lo
Server:
root@martineve:~# ip -6 route show
2001:41d0:2:b353::10 dev sit10 metric 1024
2001:41d0:2:b353::/64 dev eth0 proto kernel metric 256
2001:41d0:2:b353::/64 via :: dev sit10 proto kernel metric 256
2001:41d0:2:b300::/56 dev eth0 proto kernel metric 256 expires 2590467sec
fe80::/64 dev eth0 proto kernel metric 256
fe80::/64 via :: dev sit10 proto kernel metric 256
ff00::/8 dev eth0 metric 256
ff00::/8 dev sit10 metric 256
default via fe80::5:73ff:fea0:0 dev eth0 metric 1024
root@martineve:~# route -A inet6
Kernel IPv6 routing table
Destination Next Hop Flag Met Ref Use If
::1/128 :: Un 0 1 196 lo
2001:41d0:2:b353::/128 :: Un 0 1 0 lo
2001:41d0:2:b353::/128 :: Un 0 1 0 lo
2001:41d0:2:b353::1/128 :: Un 0 1 101 lo
2001:41d0:2:b353::3/128 :: Un 0 1 3 lo
2001:41d0:2:b353::10/128 :: U 1024 0 0 sit10
2001:41d0:2:b353::/64 :: U 256 0 0 eth0
2001:41d0:2:b353::/64 :: Un 256 0 0 sit10
2001:41d0:2:b300::/56 :: UAe 256 0 2 eth0
fe80::/128 :: Un 0 1 0 lo
fe80::a08:1/128 :: Un 0 1 0 lo
fe80::e269:95ff:fe72:8577/128 :: Un 0 1 49 lo
fe80::/64 :: U 256 0 0 eth0
fe80::/64 :: Un 256 0 0 sit10
ff00::/8 :: U 256 0 0 eth0
ff00::/8 :: U 256 0 0 sit10
::/0 fe80::5:73ff:fea0:0 UG 1024 0 0 eth0
::/0 :: !n -1 1 113 lo
The server has IPv6 general connectivity:
PING aaaa.test-ipv6.com(jason-fesler.f0-8.switch2a.fmt.he.net) 56 data bytes
64 bytes from jason-fesler.f0-8.switch2a.fmt.he.net: icmp_seq=1 ttl=53 time=164 ms
The client does not:
PING aaaa.test-ipv6.com(jason-fesler.f0-8.switch2a.fmt.he.net) 56 data bytes
^C
--- aaaa.test-ipv6.com ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2015ms
I've tried this to no avail:
root@martineve:~# cat /proc/sys/net/ipv6/conf/all/forwarding
1
What do I need to do to allow the client to access the big outside world of IPv6?