Skip to content
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

Fallback/Secondary DNS #211

Closed
Generator opened this issue Dec 31, 2020 · 8 comments
Closed

Fallback/Secondary DNS #211

Generator opened this issue Dec 31, 2020 · 8 comments

Comments

@Generator
Copy link

Description

RethinkDNS app only uses one DNS server, in case of service issues connections will fail.
Some users have self-hosted DNS server (AdGuard Home, Pi-Hole ...), sometimes the server need maintenance or system fail, during maintenance users could use the main DNS.

Solution

Having a secondary DNS or fallback will solve the issues in case of main server failure.

@ignoramous
Copy link
Collaborator

ignoramous commented Dec 31, 2020

Makes sense. We do plan to introduce concept of what we call a default server to which the connections would fallback upon.

That said, for DNSCrypt and DoH, servers are bootstrapped with multiple IPs where available. For example, RethinkDNS' servers are behind three Cloudflare anycast IPs and all three can and will be used in the current implementation.

@4-FLOSS-Free-Libre-Open-Source-Software

Some users have self-hosted DNS server (AdGuard Home, Pi-Hole ...),

Would be nice to use this as default, but if can't connect for whatever reason or when you are not connected at home wifi to automatically fallback to a backup dns.

@alextenev
Copy link

Hi, Any chance for this feature to be developed?

@ignoramous
Copy link
Collaborator

ignoramous commented Mar 20, 2023

Yes, fallback dns shipped with v054 (3 weeks ago): Configure -> Settings -> Fallback DNS

Only a limited number of fallbacks (all DoH) though:

  • Rethink (zero.rethinkdns.com)
  • Cloudflare (cloudflare-dns.com)
  • Google (dns.google)

We plan to add Quad9 and System DNS in a future release.

Fallback is rarely needed so, a range of configuration options aren't really required. Besides, fallback DNS entries are hard-coded into the app and cannot be user modified.

val DEFAULT_DNS_LIST =
listOf(
DefaultDnsServer(0, "Rethink", "https://zero.rethinkdns.com/dns-query", "DoH"),
DefaultDnsServer(1, "Google", "https://dns.google.com/dns-query", "DoH"),
DefaultDnsServer(2, "Cloudflare", "https://cloudflare-dns.com/dns-query", "DoH")
)

@NanashiTheNameless
Copy link

Consider adding the ability to revert to the old behavior for security reasons...

@ignoramous
Copy link
Collaborator

What security reasons do you think warrant removal of a fallback? I can see the privacy angle.

Perhaps, we should add None as an option that disables fallback.

@NanashiTheNameless
Copy link

NanashiTheNameless commented Aug 4, 2023 via email

@ignoramous
Copy link
Collaborator

security as in ensuring DNS queries ONLY go through my existing DNS firewall (NextDNS)

None has been there as "Fallback" for some 8 months now.

Fallback is rarely needed so, a range of configuration options aren't really required. Besides, fallback DNS entries are hard-coded into the app and cannot be user modified.

golang/go#8877 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants