diff options
author | Ronan Pigott <ronan@rjp.ie> | 2024-08-21 16:49:59 +0200 |
---|---|---|
committer | Ronan Pigott <ronan@rjp.ie> | 2024-08-21 19:27:07 +0200 |
commit | d229e282d6b76a3c5980935dc26f799be7fb6784 (patch) | |
tree | 4b1e53c1438cd59926ed7d738cf534d74d446995 | |
parent | resolved: use the fallback servers when no default dns is configured (diff) | |
download | systemd-d229e282d6b76a3c5980935dc26f799be7fb6784.tar.xz systemd-d229e282d6b76a3c5980935dc26f799be7fb6784.zip |
resolved: demote the fallback dns servers
This softens the behavior originally introduced in eded61e410df to apply
only to the fallback dns servers.
The intent is that the global FallbackDNS (instead of DNS) can now be
used in conjunction with the per-link dns, providing a fallback behavior
without introducing a scope overlap.
References: eded61e410df (resolved: demote the global unicast scope, 2024-08-19)
-rw-r--r-- | man/systemd-resolved.service.xml | 5 | ||||
-rw-r--r-- | src/resolve/resolved-dns-scope.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/man/systemd-resolved.service.xml b/man/systemd-resolved.service.xml index 13c0da987f..f7be0793cf 100644 --- a/man/systemd-resolved.service.xml +++ b/man/systemd-resolved.service.xml @@ -219,8 +219,9 @@ is sent to all DNS servers that are configured on links with the <varname>DefaultRoute=</varname> option set, as well as the globally configured DNS server.</para></listitem> - <listitem><para>If there is no link configured as <varname>DefaultRoute=</varname> and no global DNS - server configured, one of the compiled-in fallback DNS servers is used.</para></listitem> + <listitem><para>If there are no DNS servers configured on any link also configured as + <varname>DefaultRoute=</varname> and no global DNS server configured, one of the compiled-in fallback + DNS servers is used.</para></listitem> <listitem><para>Otherwise the unicast DNS query fails, as no suitable DNS servers can be determined. </para></listitem> diff --git a/src/resolve/resolved-dns-scope.c b/src/resolve/resolved-dns-scope.c index 21b9844e04..4d4e952dac 100644 --- a/src/resolve/resolved-dns-scope.c +++ b/src/resolve/resolved-dns-scope.c @@ -778,6 +778,10 @@ DnsScopeMatch dns_scope_good_domain( if (!dns_scope_is_default_route(s)) return DNS_SCOPE_NO; + /* Prefer suitable per-link scopes where possible */ + if (dns_server_is_fallback(dns_scope_get_dns_server(s))) + return DNS_SCOPE_LAST_RESORT; + return DNS_SCOPE_MAYBE; } |