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
[resolved/networkd] Behaviour for .~ seems invalid (or the documentation is not correct) #9472
Comments
|
So, yeah the docs are bogus. Basically, when looking where to route queries resolved suffix-matches the query name against all search/routing domains of all interfaces, and will send the query to any matching interface/server. If none match it will then send the query to all interfaces/servers. This means ~. just means "route any query also to this interface". It doesn't mean "route all queries only to this interface". Or to say this differently: it's not as special as the docs suggest: its treated like any other routing domain listed, it's just that it is a routing domain that matches a lot more lookups the other names... |
|
According to your description above, if this is there's only one "Domain" variable set to "~.", wouldn't this nevertheless mean that only this resolver would be used? (there is a matching interface/resolver... and there is only one of those...) |
|
Fix waiting in #11050, with a new section about DNS domain routing added to the docs |
|
Closing, as #11050 was merged a while back. |
Systemd version: 238.133
Distro: Archlinux
The documentation from systemd.network claims that:
In particular the part about
It causes all DNS traffic which does not match another configured domain routing entry. In reality it doesn't care about the match at all - adding~.to per-link options (or to global options in resolved.conf) has the effect of using respective dnses (per-link or global respectively) for any query.For example consider something like (only relevant parts listed):
With such configs, when we enable debugging output in systemd-resolved, we can clearly see that
dig @127.0.0.53 google.plwill go only to 1.1.1.1, butdig @127.0.0.53 test.touk.plwill go in parallel to both 10.0.0.50 and 1.1.1.1When I was testing (ethernet + macvlan on top), parts of log:
With --status output:
Shouldn't dnses from other/global connections with
~.defined explicitly be used only for non-matching domains (as the documentation states) ? This also should apply to global resolved.conf if it for example containsDomains=~.andDNS=1.1.1.1The text was updated successfully, but these errors were encountered: