Tailscale - Using AdGuard DNS is not working

Testing routers: MT6000 and MT3000, Firmware: v4.7.0 and v4.6.9
It seems it is available to fulfill your request.
Long story short, you just need to add a port forwarding rule to redirect DNS queries arriving on the tailscale0 interface's port 53 to localhost's port 3053 where AdGuard Home is listening

Here are the specific steps for reference:
1. Enable Tailscale in the GL interface, and ensure that the router is successfully bound to your Tailscale account.
2. Go to the Tailscale Admin Console-->DNS-->Global nameservers, and choose Custom. Enter the AdGuardHome-running router's Tailscale virtual IP address(it should be 100.X.Y.Z) and enable Override local DNS(optional).

At the moment, you can notice that all DNS queries from devices in your Tailnet are being sent to this router's 53 port. However, AdGuard Home is listening on port 3053. Therefore, we need to configure a rule to redirect these DNS queries to the local host's 3053 port.

3. Go to the LuCI interface and add a new interface.
Set the Protocol to "Unmanaged" and the Device to tailscale0.

Don't forget to click the Save&Apply button.

Note: Currently you might currently observe that Tailscale is rebooting itself, resulting in a repeated "up" and "down" cycle.
To address this, please click "Stop" when this button is available. This will allow Tailscale to have a break to reconnect and create the tailscale0 device, and then make this interface work again.

4. Go to Network-->Firewall-->General Settings-->Zones-->Add.
Set Forward to accept, Covered Network--Tailscale interface you just added.

5. Go to Network-->Firewall-->Port Forwards-->Add.
Set Source Zone to the Tailscale zone you just added, External port 53, and Internal port 3053.


Don't forget to click the Save&Apply button.

Now all set!
You can verify the setup by checking the query logs in the AdGuard Home settings page.

5 Likes