[Bug 1045616] Re: DHCP server handing out DNS server but DHCP client not loading DNS settings to client

Thomas Hood 1045616 at bugs.launchpad.net
Wed Sep 5 09:18:37 UTC 2012


Hi David.

As Steve has already said, if you are using a DHCP client to configure
the interface then any nameserver addresses that the client receives
will (normally) be supplied to resolvconf, whether the DHCP client is
started by ifup or by NetworkManager.  On many, many systems this is
exactly what happens.

Based on the nameserver addresses that have been supplied to it,
resolvconf writes /run/resolvconf/resolv.conf.  Normally
/etc/resolv.conf is a symbolic link to /run/resolvconf/resolv.conf.

Please note that if a local nameserver is running and the loopback
address 127.0.0.1 has been registered with resolvconf then (normally)
resolvconf only lists that one address in resolv.conf.  This has been
known to confuse people.

You (David) wrote:
> Trying to fix with: adding to /etc/network/interfaces
> dns-nameservers 4.2.2.2 4.2.2.3
> dns-search xyz.com
> FAIL. Because you have iface eth0 inet dhcp that option isn't read

If the interface is being configured by NetworkManager then it's true
that those options have no effect; NetworkManager does not fully emulate
ifup.  The interface is configured by NetworkManager if you are running
NetworkManager and /etc/NetworkManager/NetworkManager.conf contains

    [ifupdown]
    managed=true

If the interface is configured by ifup then the dns-* options ARE
effective even for an "inet dhcp" interface.

If you can't figure out what's wrong with your configuration, please do
the following.

* Reboot, connect to the Internet, fix up DNS, if necessary by editing /etc/resolv.conf by hand, then run "apport-collect 1045616" in order to supply information about the affected system.
* Run the following commands in a terminal and post the output here.

    ls -l /run/resolvconf
    cat /run/resolvconf/resolv.conf
    ls -l /run/resolvconf/interface
    for F in /run/resolvconf/interface/* ; do echo === $F === ; cat $F ; done
    ls -l /etc/resolvconf/resolv.conf.d
    for F in /etc/resolvconf/resolv.conf.d/* ; do echo === $F === ; cat $F ; done
    cat /etc/resolvconf/interface-order
    cat /etc/NetworkManager/NetworkManager.conf
    cat /etc/network/interfaces
    dpkg -l resolvconf network-manager


** Summary changed:

- DHCP server handing out DNS server but DHCP client not loading DNS settings to client
+ DHCP server handing out DNS server addresses but DHCP client does not write these to resolv.conf

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to resolvconf in Ubuntu.
https://bugs.launchpad.net/bugs/1045616

Title:
  DHCP server handing out DNS server addresses but DHCP client does not
  write these to resolv.conf

Status in “resolvconf” package in Ubuntu:
  Incomplete

Bug description:
  ARGH!!!!! Every release causes new problems >:(

  If you have:
  linux DHCP server on the network with options:
  option domain-name "xyz.com";
  option domain-name-servers 4.2.2.2, 4.2.2.3;

  In Ubuntu 10.x it works fine and pulls the DHCP client pulls the DNS
  servers from the DHCP fine.

  Ubuntu 12.x - It's broken.
  Trying to fix with: adding to /etc/network/interfaces 
  dns-nameservers 4.2.2.2 4.2.2.3
  dns-search xyz.com
  FAIL. Because you have iface eth0 inet dhcp that option isn't read

  Try and configure with Network Manager from commandline because your running a server. 
  NOPE, network manager doesn't run from CLI commandline only GUI

  Can't manually specify the DNS server in /etc/resolv.conf because it's
  always getting overwritten.

  What's the best option here? I think this might be a bug. Only option
  I haven't tried is using the head file from this description:

  Resolvconf has a /etc/resolvconf/resolv.conf.d/ directory that can contain “base”, “head”, “original” and “tail” files. All in resolv.conf format.
  base: Used when no other data can be found
  head: Used for the header of resolv.conf, can be used to ensure a DNS server is always the first one in the list
  original: Just a backup of your resolv.conf at the time of resolvconf installation
  tail: Any entry in tail is appended at the end of the resulting resolv.conf. In some cases, upgrading from a previous Ubuntu release, will make tail a symlink to original (when we think you manually modified resolv.conf in the past)

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




More information about the foundations-bugs mailing list