omarchy dns applies a resolver without checking that it answers #7933
johnpipi
started this conversation in
Suggestions
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
omarchy dns <provider>writes the resolver configuration and returns. It never checks that what it just configured can actually answer a query, so a provider that does not work on the current network is applied silently and the failure surfaces later as "the internet is broken."To be clear up front: using
1.1.1.1for Cloudflare is correct, and a network that blocks it is the anomaly, not Omarchy. The suggestion is about the missing feedback, not the address choice.What prompted this
On my network
1.1.1.1is blackholed upstream — every protocol, not just ICMP:1.1.1.11.0.0.1(Cloudflare's own secondary)8.8.8.8The route is normal and nothing on the LAN claims the address, so this is an ISP or router block. Plenty of consumer gear and ISPs used
1.1.1.1internally before Cloudflare acquired it.omarchy dns Cloudflareon this network configures a dead primary resolver and reports nothing. Resolution still limps along via1.0.0.1, butsystemd-resolvedspends its time discovering that the first server never answers, which showed up in my journal as continuous feature-set churn:omarchy dnsstill reportsCloudflare, which is true of the configuration and not of what works.Three gaps
1. No validation after writing.
bin/omarchy-dnshas noresolvectl query,dig, or reachability check anywhere. A one-shot query against the servers it just wrote, with a warning on failure, would have turned a silent misconfiguration into an obvious one.2. IPv6 resolvers are configured unconditionally. Both
CloudflareandGooglewrite an IPv6 pair regardless of whether the host has IPv6 connectivity. This machine has no IPv6 default route, so two of the four configured servers are permanently unreachable andresolvedstill tries them.3.
DNSOverTLSis inconsistent across providers. Frombin/omarchy-dns:DNSOverTLSCloudflareopportunisticGoogleopportunisticDHCPnoCustomno)Choosing
Customand entering Cloudflare's own addresses silently gets different transport behaviour than choosingCloudflare. If that is deliberate, it is at least surprising; DoT is also its own failure mode on networks that block port 853, as mine does.Suggested behaviour
After writing the configuration, query the servers once and report the outcome — something like:
That keeps the provider choice entirely with the user while making a dead server visible at the moment it is chosen. Skipping IPv6 servers when the host has no IPv6 route, and settling on one consistent
DNSOverTLSpolicy, would remove the other two surprises.Happy to open a PR if this seems worth having.
All reactions