Comment 24 for bug 1726124

Revision history for this message
Taylor Braun-Jones (nocnokneo) wrote :

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.