Ubuntu – Resolv.conf: presence of ‘search localdomain’ fails correct DNS lookup

dnsnetworkingresolv.confresolvconf

Scenario:

  • Attempt to resolve host named 'puppet' in domain 'puppet.mydomain.com'
  • Resolution is successful if the resolv.conf file does not include search directive for 'localdomain' and only the domain 'mydomain.com'.

Resolv.conf working:

nameserver 1.2.3.4
search mydomain.com

Resolv.conf failed:

nameserver 1.2.3.4
search localdomain mydomain.com
  • The system is multihomed
  • Both interfaces have "domain-name mydomain.com" and "domain-search mydomain.com" directives in /etc/network/interfaces.

How can the resolution fail with an additional domain? Shouldn't resolution be attempted for all listed domains?

What do I need to configure to prevent localdomain from being added to the resolv.conf file?

Best Answer

What do I need to configure to prevent localdomain from being added to the resolv.conf file?

First make sure that the resolvconf package is installed and that /etc/resolv.conf is a symbolic link to ../run/resolvconf/resolv.conf.

Second make sure that there are no domain or search lines in any of the files in /etc/resolvconf/resolv.conf.d/.

Third, find out where localdomain is coming from. If your interface is configured via DHCP then it's probably being sent by the DHCP server. Then fix the DHCP server configuration. If NetworkManager is involved, use the Connection Editor to make sure that localdomain is not in the Additional search domains field on the IPv4 Settings tab of any active connections.