-
Notifications
You must be signed in to change notification settings - Fork 20
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
DNS: add 9.9.9.9 to resolv.conf #518
base: main
Are you sure you want to change the base?
Conversation
How does this interact with installing unbound? We are installing our own resolver on 127.0.0.1 that does DNSSEC checks only to add 9.9.9.9 next to it and send plaintext requests there? |
Let me re-run the CI to double-check, but I assume that the unbound installation overwrites /etc/resolv.conf again and our temporary addition of 9.9.9.9 gets removed as soon as we don't need it anymore |
The assumption was correct:
|
(I'll run a second deploy on staging2.testrun.org to make sure 9.9.9.9 isn't re-added on future runs, when unbound isn't installed freshly) |
My only advice is that if you append the DNS server to the end of the resolv.conf it will still slow down a lot of operations when there are broken DNS servers because glibc will try the DNS servers in the resolv.conf in order, but it is hardcoded to try the server 5 times with a 5 second timeout [1]. This means each failure requires you to wait 25 seconds per broken DNS server. The cmdeploy will check for 4 DNS records early (A, AAAA, mta-sts CNAME, www CNAME) so the deployment is slowed down by at least 100 seconds just for this operation, not including the DNS lookups required to install packages. [1] https://github.com/bminor/glibc/blob/master/resolv/resolv.h#L68-L73 |
@missytake But this still looks broken, requests should go to 127.0.0.1, not some 185.12.64.1 :/ On hetzner this also looks like this:
Not something that we actually want, it should only go to 127.0.0.1. |
If we write "nameserver 127.0.0.1" to /etc/resolvconf/resolv.conf.d/base after installing unbound, this doesn't make all the other entries disappear, right? I wonder what adds them. |
systemd has overcomplicated all of this, sadly One of the most important comments in this doc:
https://www.freedesktop.org/software/systemd/man/latest/systemd-resolved.service.html |
According to #515, some providers misconfigure /etc/resolv.conf. With 9.9.9.9, at least one working DNS resolver is there.