I have AdGuard Home enabled together with WireGuard VPN (This also happens with Open VPN) connected to ProtonVPN servers.
Without enabling VPN on my router, I was able to establish stable continuous WireGuard VPN connection using the WireGuard macOS application on my macbook Pro. <- This tells me that any issue I am encountering is 100% (or 99%) isolated from my ISP and ProtonVPN. The problem lies with my router.
Problem
I am not able to get consistent VPN connection. WireGuard connection will become extremely slow (connections timeout) within an hour (sometimes within 2 minutes), logs like Wed Sep 18 21:28:48 2024 daemon.err AdGuardHome[29439]: 2024/09/19 01:28:48.210210 [error] dnsproxy: upstream 9.9.9.9:53 failed to exchange ;index.docker.io. IN A in 20.002158682s: exchanging with 9.9.9.9:53 over udp: read udp 10.2.0.2:57992->9.9.9.9:53: i/o timeout and Wed Sep 18 20:30:31 2024 daemon.err AdGuardHome[29439]: 2024/09/19 00:30:31.679653 [error] dnsproxy: 149.112.112.112:53: response received over udp: "exchanging with 149.112.112.112:53 over udp: read udp 10.2.0.2:55278->149.112.112.112:53: i/o timeout" starts to appear in System Log.
Within 5 minute of the first appearance of the logs
and starts leaking my real IP address. VPN never re-connects (I gave it 30 min and it just doesn't re-connect)
After VPN disconnects, error logs stop showing, internet traffic (without VPN) resumes normal, AdGuard Home continues to process requests from my network clients.
Hi Bruce, I configured those via Luci by unchecking Use DNS servers advertised by peer and adding 9.9.9.9 and 149.112.112.112 to Use custom DNS servers
If UDP filtering is the issue, why doesn't my macOS client face the same issue? I really wish I can change my ISP but I'm in no position to do that At least not in 1.5 yrs...
Is there anything that I can do to fix this issue?
This doesn't happen recently (I've been using the router for nearly 3 years, and ProtonVPN for more than 6 months.) It's only happened sometime after upgrading to v4.6.2. (I can't be 100% sure it's related to the upgrade coz I don't monitor my router everyday if I don't see service degradation.
I've provided @bruce with the log export. Should I also share that with you?
Check your log and found you're on firmware 4.6.2, and you uncheck "dns for vpn" port forward rule, but that won't cause disconnection.
It's using tcp over udp in the case as the dns traffic is sourced from wireguard interface.
I advise you try using protonvpn openvpn tcp profile. It should have better connectivity.
I advise you try using protonvpn openvpn tcp profile. It should have better connectivity.
I switched to ProtonVPN OpenVPN TCP Profile, but have the same issue with DNS. The VPN connection is no more stable than WireGuard. The only difference is the ability to re-connect after maybe an hour vs never with WireGuard.
@bruce Same issue here on Flint with OpenVPN + Adguard since I upgraded to 4.6.4 and also 4.6.6:
It wont resolve the OpenVPN server name if Adguard is enabled and you have enabled "block non vpn traffic". it worked before 4.6.4 fine. it also works fine on my Brume 2 with 4.6.6 with same settings, except I use WG there not OpenVPN.
You need to exclude Adguard from the "block non vpn traffic", it is a service of the router itself and also the main DNS resolver if you use it.
I have not changed anything on Adguard except add more servers:
So this will get fixed in the next fw? Obviously this is a nogo. The VPN wont ever connect, Adguard wont ever resolve this way, even it is the routers main resolver.
I guess you need to either exclude the VPN server names for both OpenVPN and WG, so it can resolve its own VPN server names to initiate the connection. Or make some other change for it.
The option to block non vpn traffic is meant though just for traffic comming from the clients of the router, not of the router itself.