VPNs Not Working Properly

Problem Summary
I’m experiencing a strange issue with VPN connections on my Arch Linux (EndeavourOS) laptop when using my home ADSL network.
The VPN connects, but I have no internet access. However, the same VPN setup works fine under certain conditions.

  • Android Phone & Windows VM (on the same Linux laptop) connects to VPN over ADSL without issues.
  • VPNs on Same Linux Laptop (when using 4G/hotspot instead of ADSL), works perfectly.

What Fails:

  • Linux laptop on ADSL: Connects to VPN but has no internet (except for pinging IPs).
    • I tried pinging some IPs and realized there is internet access, but not for browsing. I tried downloading some data via Steam as an example, which worked.
    • I also tried a telnet to port 80 of YouTube.com and got this output.
  • Tried multiple VPN clients (ProtonVPN, RiseupVPN, Windscribe - works only on stealth protocol & UDP).
  • System updates via yay, or Steam downloads works, but web browsing does not except Google search webpages sometimes work.

What I Have Tried:

  • Manually setting [i]/etc/resolv.conf[/i]:
# Generated by NetworkManager  
nameserver 1.1.1.1  
nameserver 1.0.0.1  
nameserver 8.8.8.8  
  • I can ping IP addresses (e.g., 8.8.8.8).
  • Manually setting DNS in [i]/etc/resolv.conf[/i] does not fix the issue.
  • Flushed DNS cache, restarted NetworkManager, tried different resolvers, tried reseting network configurations and reinstalling Networkmanager.

Possible Causes (Need Help Debugging)

  • I don’t think it’s an ISP block or a WiFi router issue right?
  • Could this be a Linux-specific networking issue? Possibly, since it works on 4G but not ADSL. But I tried resetting network configurations, reinstalling NetworkManager, and flushing DNS.
  • Firewall/routing issue? Could be, but I need guidance on what logs to check.

What Logs & Configs Should I Provide?
I would appreciate any debugging steps and guidance on what logs/configurations to share.

resolv conf when initializing connection

File: /etc/resolv.conf
nameserver 10.2.0.1
search .

ip route

╰─ ip route          
default via 192.168.1.1 dev wlan0 proto dhcp src 192.168.1.3 metric 600 
192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.3 metric 600

inxi -Fxz

ip a

nslookup google.com/example.com

systemd-resolve --status

WireGuard config & Logs

Protonvpn logs

If your ADSL connection on Arch Linux appears to connect to a VPN but still can’t access the internet, the most likely culprits are incorrect routing settings within your VPN configuration, firewall rules blocking traffic, or issues with your ISP’s connection itself; double-check your VPN settings to ensure all traffic is being routed through the VPN tunnel, and verify that your firewall isn’t blocking necessary ports; if the issue persists, review your network configuration and check for any errors in your ISP connection.

I got no firewall service running, and I am sure it’s a problem with the ISP or VPN blocking since the VPNs works perfectly on other machines on the same WiFi network.
What I did now, I replaced the core/systemd-resolvconf with extra/openresolv and now the TCP/UDP protocols with openvpn works (and only openvpn, other vpns gui still got the same issue).
And the issue remains too for the wireguard protocol.

edit: I even reinstalled the OS, and nothing changed.

1 Like