Not sure about the Orbi, but the R7800 with Voxel does not standard support OpenVPN server on IPv6.
The OpenVPN server startup script automatically configures it only for either tcp4 or udp4.
Also the firewall is opened for IPv4 ports.
Probably the Orbi does the same, because they usually are quite similar.
When using Voxel, perhaps it can be enabled. But that would require changing stuff via SSH.
- Flash Voxel firmware
- SSH to the Orbi
- Edit the OpenVPN server startup script to force it to use tcp6 or udp6.
(if it is similar to R7800, then that script is in /etc/init.d/openvpn; find proto ${proto}4 and change it to proto ${proto}6)
- Restart the OpenVPN server via GUI
- Open the OpenVPN ports in IPv6 firewall with ip6tables
(in my case something like:
ip6tables -t filter -I INPUT -i brwan -p tcp --dport 12973 -m state --state NEW -j ACCEPT
ip6tables -t filter -I INPUT -i brwan -p tcp --dport 12974 -m state --state NEW -j ACCEPT
But, on orbi the name of the interface (brwan) might be different; also might need to change tcp into udp; or change the port addresses.
Last, you need to manually alter the .opvn profile to replace the IPv4 address with the IPv6 address; also change proto tcp into proto tcp6 or proto udp into proto udp6; And then import that altered .ovpn into your VPN client.
if everything works, then some other steps are needed to ensure that the config survives a reboot.
I cannot test it myself, because I only have IPv6 at home. My mobile phone 4G connection has no support for IPv6.
But the strange thing is that if I try to connect to IPv6 OpenVPN via WiFi, then it doesn't work.
Also testing via netcat on my macboot:
this works: nc -v <IPv4> 12973
but this gives a connection refused: nc -v <IPv6> 12973
So I'm a bit lost.
EDIT1:
so I found out that for IPv6 the OpenVPN server binds to the "internal" IPv6 address (in my case on br0).
If I put that IPv6 address in the .opvn and import it into OpenVPN on my iPhone then it can connect to OpenVPN over IPv6.
Also tried forcing OpenVPN to bind to the "public IPv6" (on brwan), but that fails...
Perhaps this is something specific to IPv6? (don't have experience with IPv6)
So maybe the equivalent of a port-forward must be made to make the "internal" IPv6 address reachable from the internet.
But I don't know how.
(and thus probably the ip6tables commands I mentioned before are incorrect).
I don't think WireGuard can be easily used. Voxel firmware only has a WireGuard client and no WireGuard server.