My guess is that rls-bb-notfixing means this is not getting fixed in Bionic Beaver 18.04. Really hoping a fix can make it into the 20.04 LTS release though.
I agree with Paul - systemd-resolve is not doing what it promises to do. From systemd.network(5):
Both "search" and "routing-only" domains are used for routing of DNS queries:
look-ups for host names ending in those domains (hence also single label names, if
any "search domains" are listed), are routed to the DNS servers configured for
this interface. The domain routing logic is particularly useful on multi-homed
hosts with DNS servers serving particular private DNS zones on each interface.
The "routing-only" domain "~." (the tilde indicating definition of a routing
domain, the dot referring to the DNS root domain which is the implied suffix of
all valid DNS names) has special effect. It causes all DNS traffic which does not
match another configured domain routing entry to be routed to DNS servers
specified for this interface. This setting is useful to prefer a certain set of
DNS servers if a link on which they are connected is available.
This setting is read by systemd-resolved.service(8). "Search domains" correspond
to the domain and search entries in resolv.conf(5). Domain name routing has no
equivalent in the traditional glibc API, which has no concept of domain name
servers limited to a specific link.
One partial workaround is to remove `[!UNAVAIL=return]` after `resolve` in /etc/nsswitch.conf:
hosts: files mdns4_minimal [NOTFOUND=return] resolve dns myhostname
That way a traditional DNS resolution is done after systemd-resolve fails. This works for everything I've tested so far _except_ Google Chrome.
My guess is that rls-bb-notfixing means this is not getting fixed in Bionic Beaver 18.04. Really hoping a fix can make it into the 20.04 LTS release though.
I agree with Paul - systemd-resolve is not doing what it promises to do. From systemd.network(5):
Both "search" and "routing-only" domains are used for routing of DNS queries:
look-ups for host names ending in those domains (hence also single label names, if
any "search domains" are listed), are routed to the DNS servers configured for
this interface. The domain routing logic is particularly useful on multi-homed
hosts with DNS servers serving particular private DNS zones on each interface.
The "routing-only" domain "~." (the tilde indicating definition of a routing
domain, the dot referring to the DNS root domain which is the implied suffix of
all valid DNS names) has special effect. It causes all DNS traffic which does not
match another configured domain routing entry to be routed to DNS servers
specified for this interface. This setting is useful to prefer a certain set of
DNS servers if a link on which they are connected is available.
This setting is read by systemd- resolved. service( 8). "Search domains" correspond
to the domain and search entries in resolv.conf(5). Domain name routing has no
equivalent in the traditional glibc API, which has no concept of domain name
servers limited to a specific link.
One partial workaround is to remove `[!UNAVAIL=return]` after `resolve` in /etc/nsswitch.conf:
hosts: files mdns4_minimal [NOTFOUND=return] resolve dns myhostname
That way a traditional DNS resolution is done after systemd-resolve fails. This works for everything I've tested so far _except_ Google Chrome.