AdguardTeam / AdGuardHome

Network-wide ads & trackers blocking DNS server
https://adguard.com/adguard-home/overview.html
GNU General Public License v3.0
25.63k stars 1.84k forks source link

SERVFAIL response does not count as a failure #7292

Open yurividal opened 1 month ago

yurividal commented 1 month ago

Prerequisites

Platform (OS and CPU architecture)

Linux, AMD64 (aka x86_64)

Installation

Docker

Setup

On a router, DHCP is handled by the router

AdGuard Home version

v0.107.52

Action

This evening, cloudflare's DNS was having issues, as reported on their Status Page. When doing an NSLOOKUP, the server would respond with SERVFAIL

image

My adguardhome instance uses 1 upstream DNS providers:

tls://<redacted>.cloudflare-gateway.com

I have et the fallback DNS server to:

quic://unfiltered.adguard-dns.com

Adguardhome didn't use the fallback DNS, and instead, my entire network was down due to not being able to resolve names.

In order to temporarily fix the issue, i added quic://unfiltered.adguard-dns.com as a second DNS server on the list, and set it to load balance. This partially solved the issue, but since AGH didn't consider the SERVFAIL as a failure, some of my requests continued to be sent to cloudflare, and my network had intermitent name resolution.

The only way to fix the issue was to commnent out the cloudflare dns address from my list of upstream resolvers, until they fixed the issue.

Expected result

AGH should identify SERVFAIL responses as being a bad response, and use the fallback resolver.

In load balanced mode, AGH should identify a SERVFAIL response and stop using that upstream server for a while.

Actual result

AGH continued to act as if cloudflare was giving good DNS responses, despite the SERVFAIL status.

image

Additional information and/or screenshots

No response

yurividal commented 1 month ago

Might be related to 5924