-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Retry without ECS when REFUSED
returned from resolver (RFC 7871 7.1.3)
#3652
Comments
Well, I am not quite sure this is a proper solution. Wouldn't it be better if we make AGH use the second upstream when the first one returns REFUSED or SERVFAIL? |
Yeah that's a good idea, but only for To use another upstream when one returns In fact, I used to face this regularly after internet outages and Unbound would return |
I am seeing Cloudflare DNS (Security variant) returning REFUSED status periodically. Not sure if it is rate limiting or something else CF doesn't like about the queries. It is a bit random where it would refuse every other query or every query for few mins. Haven't really found a reliable way to reproduce this issue. This has been a pain because AGH doesn't really retry another upstream if one returns REFUSED and the browsers throw an error message saying cannot load page or something along those lines. Also, in my case the upstream ranking algorithm seems to favour Cloudflare over other upstreams (Quad9, Clean browsing & Next DNS). This makes the problem worse as if you try refreshing the browser, which queries AGH which in turn queries Cloudflare due to algorithm weighting who return REFUSED responses. The only real way to break this vicious circle is to comment out Cloudflare DNS in upstream config section. So my thoughts on how to handle this issue
|
Hello! Is there any progress? Example:
On the other hand Quad9 9.9.9.11 just removes esc info from requests to akamai and they work. I think adguard just need to resend request without ecs info to same upstream if "refused" is received. |
Problem Description
Per https://groups.google.com/g/public-dns-announce/c/h4XLjnWvAp8 (Jan 15, 2020) and RFC 7871 section 7.1.3, resolvers including Google DNS returns
REFUSED
...I came across this when I realized that Google was discarding subnet info in ECS data despite it being valid, for certain domains.
If I make this query from my subnet (without ECS) it returns properly.
However with ECS, for this specific Akamai domain:
I was able to use dns.google to actually verify this issue:
Proposed Solution
Additional Information
EDIT: This seems to be the case with Google Public DNS and Akamai domains only (
akamai.net
,akamaiedge.net
,akadns.net
, etc)The text was updated successfully, but these errors were encountered: