man: reword about default route for DNS traffic

DefaultRoute is a D-Bus property, not a valid setting name in .network
files nor resolved.conf.
Whether a link is the default route or not is configured with
DNSDefaultRoute= setting in .network files.
This commit is contained in:
Yu Watanabe 2024-08-21 03:24:06 +09:00 committed by Luca Boccassi
parent b1fc342cdd
commit 36f6e87dd3

View file

@ -216,35 +216,35 @@
the traditional glibc resolver below.</para></listitem>
<listitem><para>If a query does not match any configured routing domain (either per-link or global), it
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>
is sent to all DNS servers that are configured on links configured as the default route, as well as the
globally configured DNS server.</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>If there are no DNS servers configured on any link also configured as the default route
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>
</itemizedlist>
<para>The <varname>DefaultRoute=</varname> option is a boolean setting configurable with
<command>resolvectl</command> or in <filename>.network</filename> files. If not set, it is implicitly
determined based on the configured DNS domains for a link: if there's a route-only domain other than
<literal>~.</literal>, it defaults to false, otherwise to true.</para>
<para>Whether a link is the default route or not can be configured with
<command>resolvectl default-route</command> command or <varname>DNSDefaultRoute=</varname> setting in
<filename>.network</filename> files. If not configured explicitly, it is implicitly determined based on
the configured DNS domains for a link: if there's a route-only domain other than <literal>~.</literal>,
it defaults to false, otherwise to true.</para>
<para>Effectively this means: in order to support single-label non-synthesized names, define appropriate
search domains. In order to preferably route all DNS queries not explicitly matched by routing domain
configuration to a specific link, configure a <literal>~.</literal> route-only domain on it. This will
ensure that other links will not be considered for these queries (unless they too carry such a routing
domain). In order to route all such DNS queries to a specific link only if no other link is preferred,
set the <varname>DefaultRoute=</varname> option for the link to true and do not configure a
<literal>~.</literal> route-only domain on it. Finally, in order to ensure that a specific link never
receives any DNS traffic not matching any of its configured routing domains, set the
<varname>DefaultRoute=</varname> option for it to false.</para>
configure the link as the default route and do not configure a <literal>~.</literal> route-only domain on
it. Finally, in order to ensure that a specific link never receives any DNS traffic not matching any of
its configured routing domains, make it not the default route.</para>
<para>See
<citerefentry><refentrytitle>org.freedesktop.resolve1</refentrytitle><manvolnum>5</manvolnum></citerefentry>
for information about the D-Bus APIs <filename>systemd-resolved</filename> provides.</para>
for information about the D-Bus APIs <command>systemd-resolved</command> provides.</para>
</refsect1>
<refsect1>