On 10 October 2017 at 15:39, Matthias Fratz <1714...@bugs.launchpad.net> wrote:
> Our DHCP server delivers a search domain (inf.uni-konstanz.de) as well.
> This isn't enough to trigger the bug for me, though, at least on 17.04.
> (systemd-resolve doesn't actually USE the search path, so merkur236.inf
> .uni-konstanz.de works but merkur236 doesn't, but that's a different
> problem.)
>
> What does trigger the bug on 17.04 is manually configuring a search
> path, like it seems the original reporter did:
>
> $ cat /etc/resolvconf/resolv.conf.d/base
> search disy.inf.uni-konstanz.de inf.uni-konstanz.de uni-konstanz.de
>
> At some point this gets copied to /etc/resolv.conf. After a "service
> systemd-resolved restart", resolution is broken for those domains until
> I remove the search path and restart systemd-resolved again.
>
> I couldn't yet reproduce this on 17.10 because restarting systemd-
> resolved overwrites /etc/resolv.conf. Where is the right place to
> configure a search path on 17.10? I don't see it anywhere in the GUI and
> I'm not sure whether /etc/systemd/resolved.conf is the right place.
>

The really correct way on 17.10 is to stop using ifupdown and stop
using resolvconf and stop using libnss-resolve

$ upgrade to 17.10
$ sudo netplan ifupdown-migrate
$ sudo apt remove --purge ifupdown
$ sudo apt remove --purge resolvconf
$ sudo apt remove --purge libnss-resolve
$ sudo reboot

At this point, /etc/resolv.conf will start pointing at a resolved
managed stub-resolv.conf file which will automatically pick up and use
DHCP provided domains.
Further domains configuration can be provided by adjusting
/etc/netplan/*.yaml file, or by adjusting systemd-networkd drop-ins,
or by adjusting /etc/systemd/resolved.conf.
It's best for the search domains to be provided over DHCP instead of
hardcoding the config in files on disk.

You may also choose to use networks: backend: network-manager in the
netplan.yaml file, if you wish to use NetworkManager instead of the
networkd as the networking management backend.

Search domains specified in resolvconf syntax / directly in the
/etc/resolv.conf will not be read/used by resolved stub resolver, and
will not be used by libnss-resolve, thus if you wish to keep using
resolvconf/ifupdown one will need to provide the search domain to
resolved separately. Best way to do that would be via
/etc/systemd/resolved.conf.

-- 
Regards,

Dimitri.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1714803

Title:
  Search list in resolv.conf breaks resolving for that domain

Status in systemd package in Ubuntu:
  Incomplete

Bug description:
  Ubuntu 17.04
  systemd 232-21ubuntu5

  Adding a domain to the search list in /etc/resolv.conf breaks
  resolving for that domain. Not only does the search list not get used
  as expected, but host names in the domain cannot be resolved by
  systemd-resolved at all.

  I just ran into this after upgrading from ubuntu 16.04 to 17.04 which
  enabled systemd-resolved. I have for a long time used resolveconf to
  add a 'search my-domain'-line to my /etc/resolv.conf.

  
  Example of expected behaviour. With Googles DNS server (8.8.8.8) and 
ubuntu.com in the search list in /etc/resolv.conf. Both dig and systemd-resolve 
can resolve www.ubuntu.com and www:

      $ cat /etc/resolv.conf 
      nameserver 8.8.8.8
      search ubuntu.com
      $ dig +nostat +nocmd www.ubuntu.com
      ;; Got answer:
      ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55037
      ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
      
      ;; OPT PSEUDOSECTION:
      ; EDNS: version: 0, flags:; udp: 512
      ;; QUESTION SECTION:
      ;www.ubuntu.com.                  IN      A
      
      ;; ANSWER SECTION:
      www.ubuntu.com.           501     IN      A       91.189.89.115
      
      $ dig +search +nostat +nocmd www
      ;; Got answer:
      ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25772
      ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
      
      ;; OPT PSEUDOSECTION:
      ; EDNS: version: 0, flags:; udp: 512
      ;; QUESTION SECTION:
      ;www.ubuntu.com.                  IN      A
      
      ;; ANSWER SECTION:
      www.ubuntu.com.           382     IN      A       91.189.89.103
      
      $ systemd-resolve www.ubuntu.com
      www.ubuntu.com: 91.189.89.115
      
      -- Information acquired via protocol DNS in 2.7ms.
      -- Data is authenticated: no
      $ systemd-resolve www
      www: 91.189.90.59
           (www.ubuntu.com)
      
      -- Information acquired via protocol DNS in 3.8ms.
      -- Data is authenticated: no

  Ubuntu 17.04 default config, with the systemd-resolved name server in
  /etc/resolv.conf and no search list. www.ubuntu.com can still be
  resolved correctly:

      $ cat /etc/resolv.conf
      nameserver 127.0.0.53
      $ dig +nostat +nocmd www.ubuntu.com
      ;; Got answer:
      ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64646
      ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
      
      ;; OPT PSEUDOSECTION:
      ; EDNS: version: 0, flags:; udp: 65494
      ;; QUESTION SECTION:
      ;www.ubuntu.com.                  IN      A
      
      ;; ANSWER SECTION:
      www.ubuntu.com.           482     IN      A       91.189.89.110
      $ systemd-resolve www.ubuntu.com
      www.ubuntu.com: 91.189.90.58
      
      -- Information acquired via protocol DNS in 18.2ms.
      -- Data is authenticated: no

  Broken behaviour, using the systemd-resolved name server and specify
  ubuntu.com in search list. Resolving fails for www.ubuntu.com and www,
  both using dig (DNS) and using sytemd-resolve:

      $ cat /etc/resolv.conf
      nameserver 127.0.0.53
      search ubuntu.com
      $ dig +nostat +nocmd www.ubuntu.com
      ;; Got answer:
      ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 33334
      ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
      
      ;; OPT PSEUDOSECTION:
      ; EDNS: version: 0, flags:; udp: 65494
      ;; QUESTION SECTION:
      ;www.ubuntu.com.                  IN      A
      
      $ dig +search +nostat +nocmd www
      ;; Got answer:
      ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 50588
      ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
      
      ;; OPT PSEUDOSECTION:
      ; EDNS: version: 0, flags:; udp: 65494
      ;; QUESTION SECTION:
      ;www.ubuntu.com.                  IN      A
      
      $ systemd-resolve www.ubuntu.com
      www.ubuntu.com: resolve call failed: No appropriate name servers or 
networks for name found
      $ systemd-resolve www
      www: resolve call failed: All attempts to contact name servers or 
networks failed

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1714803/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to