I have been debugging for a few days now why I am unable to access my docker containers from my VPN clients setup through the VPN Manager. I have read numerous guides and posts both here and on Reddit without solution. I have read through this VPN Dynamix thread, this wireguard quickstart guide, and a ton of similar questions on Reddit.
My setup is as follows:
Unraid is running on network 10.0.0.0/24. I have a VLAN setup with ID 4 which is allocated to 10.2.0.0/24. This is setup in my Unraid network settings as br0.4
I have several docker containers and VMs mostly all on br0.4 including my DNS server pihole running on 10.2.0.4.
Host access to custom networks: Enabled
I can successfully access all my docker containers on my LAN from other computers on my lan, that's no problem.
The issue is when I try to access my containers IPs via a wireguard VPN client (the one built-in to unraid), which is my phone. My settings are:
Local Tunnel Network: 10.13.13.0/24
Local server uses NAT: No (I have tried both yes and No with countless permutations of other settings)
Peer type of Access: Remote access to LAN
Peer DNS server: 10.2.0.4 (pihole)
I have a peer that I have setup on my android phone and when I connect to it, it connects just fine and I can see the handshake successful but I am unable to see any websites or connect to any container IP addresses. I should mention that I am not connected to my wifi while doing this. I figure this is partly a DNS problem and also a routing problem...
After some troubleshooting and debugging, I found that my pihole is actually able to see the DNS requests from my phone while it's connected, but those are not getting back to my phone. I have setup the static route in my router for destination 10.13.13.0/24 to route to my unraid IP address 10.0.0.22 but this doesn't appear to be doing anything? I have also tried adding a route in the Unraid Network Settings Routing Table, specifically I tried putting Route 10.13.13.0/24 - Gateway 10.0.0.22 - Metric 100 to no avail.
After I put a static route on the pihole container itself by opening up the container shell, then I was able to see websites but of course still not my containers (since I figure each container needs to have this static route placed manually and explicitly).
ip route add 10.0.0.22 dev eth0
ip route add 10.13.13.0/24 via 10.0.0.22 dev eth0
Am I missing a configuration somewhere? Why is it that my return routes are not working? Any help appreciated thanks very much!