MattsTechInfo / Meshnet

NordVPN Meshnet Docker client
MIT License
23 stars 5 forks source link

Can't load web pages while routing traffic #18

Open jzisser9 opened 1 month ago

jzisser9 commented 1 month ago

Hi Matt,

First off, thanks so much for your work on this docker image! I run an unraid server in my house and this is by far the simplest, most straightforward way to route my traffic through that machine.

I was able to get the container up and running, and the machine shows up in my NordVPN app as a node I can route my traffic through. However, while routing traffic through it, web pages don't seem to load, eventually timing out. It's almost like my internet connection is down, except I'm able to execute a ping www.google.com in the terminal and I get a response back, with times all hovering around 14ms.

I have a family member who lives on the other side of the US that helped me test this, and she's getting the same results while routing traffic through the machine running this docker container.

The logs don't contain any information that would help diagnose this, just successful startup messages and acknowledging the nodes I've fed into the "ALLOW_" series of environment variables.

Can you help me figure out what the problem might be? Thank you! The image is running on Unraid v6.12.10.

MattsBos commented 1 month ago

Heya,

One of the first things I would try is test if you actually have connectivity based on IP. If you can ping google based on the FQDN it means DNS and connectivity is working fine from within the container.

Do you maybe have a static DNS server configured on the clients that can't be reached when you enable the VPN?

  1. Please try to connect to the meshnet node first.
  2. Once connected try to ping 8.8.8.8 or any other IP you know should be accessible on the internet.

If pinging the IP works then we know it's a DNS problem. If that doesn't work either, try to do a traceroute to the same IP and see if it stops/hangs somewhere.

jzisser9 commented 1 month ago

Thanks Matt! I'll give that a try.

jzisser9 commented 1 month ago

Hi Matt,

I was able to ping 8.8.8.8 successfully while routing traffic through the meshnet node:

ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=114 time=17.797 ms
64 bytes from 8.8.8.8: icmp_seq=1 ttl=114 time=17.837 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=114 time=16.462 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=114 time=20.443 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=114 time=21.538 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=114 time=19.830 ms
64 bytes from 8.8.8.8: icmp_seq=6 ttl=114 time=22.349 ms
64 bytes from 8.8.8.8: icmp_seq=7 ttl=114 time=16.583 ms
64 bytes from 8.8.8.8: icmp_seq=8 ttl=114 time=18.393 ms
64 bytes from 8.8.8.8: icmp_seq=9 ttl=114 time=22.399 ms
64 bytes from 8.8.8.8: icmp_seq=10 ttl=114 time=18.113 ms
64 bytes from 8.8.8.8: icmp_seq=11 ttl=114 time=19.250 ms
64 bytes from 8.8.8.8: icmp_seq=12 ttl=114 time=19.383 ms
64 bytes from 8.8.8.8: icmp_seq=13 ttl=114 time=17.528 ms
64 bytes from 8.8.8.8: icmp_seq=14 ttl=114 time=19.919 ms
64 bytes from 8.8.8.8: icmp_seq=15 ttl=114 time=17.893 ms
64 bytes from 8.8.8.8: icmp_seq=16 ttl=114 time=24.195 ms
64 bytes from 8.8.8.8: icmp_seq=17 ttl=114 time=20.361 ms
64 bytes from 8.8.8.8: icmp_seq=18 ttl=114 time=17.969 ms
^C
--- 8.8.8.8 ping statistics ---
20 packets transmitted, 19 packets received, 5.0% packet loss
round-trip min/avg/max/stddev = 16.462/19.381/24.195/2.050 ms

The only custom DNS I'm using is that my router is using 1.1.1.1 and 1.0.0.1 for its DNS servers. I've tried changing that to 8.8.8.8/4.4.4.4 and also leaving it blank, letting it auto-resolve, but these don't solve the problem.

MattsBos commented 1 month ago

That's interesting, if it does ping and doesn't do name resolution then it must be something DNS related. Try to do a traceroute to verify you're routing through the meshnet node (if you are unsure) and then move on to some troubleshooting on DNS, verify which DNS server is being used (in the settings) and try some nslookup commands to see what's happening.