In addition to devising an algorithm for dnsmasq to detect all and only
NNNs, the implementation of which will no doubt take a while, we should
consider implementing a quick fix too, along the lines suggested by
Sergio in #19.  NM could be changed to do the following.

"If the nameserver address list to be fed to dnsmasq contains one or
more local addresses followed by one or more non-local addresses then
run dnsmasq with the --strict-order option."

I must confess that I am not sure what exactly should fall under "local
addresses" here.  In IPv4 I presume that these would be the familiar
ranges 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, but what about IPv6?
Nevertheless, I think we can safely proceed with this fix without being
sure that we have exactly the right definition of local address since
dnsmasq works no worse than libc in strict-order mode.

** Also affects: dnsmasq (Ubuntu)
   Importance: Undecided
       Status: New

** Also affects: resolvconf (Ubuntu)
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to network-manager in Ubuntu.
https://bugs.launchpad.net/bugs/1003842

Title:
  Precise NM with "dns=dnsmasq" breaks systems with non-equivalent
  upstream nameservers

Status in “dnsmasq” package in Ubuntu:
  New
Status in “network-manager” package in Ubuntu:
  Confirmed
Status in “resolvconf” package in Ubuntu:
  New

Bug description:
  A number of reports already filed against network-manager seem to
  reflect this problem, but to make things very clear I am opening a new
  report.  Where appropriate I will mark other reports as duplicates of
  this one.

  Consider a pre-Precise system with the following /etc/resolv.conf:

      nameserver 192.168.0.1
      nameserver 8.8.8.8

  The first address is the address of a nameserver on the LAN that can
  resolve both private and public domain names.  The second address is
  the address of a nameserver on the Internet that can resolve only
  public names.

  This setup works fine because the GNU resolver always tries the first-
  listed address first.

  Now the administrator upgrades to Precise and instead of writing the
  above to resolv.conf, NetworkManager writes

      server=192.168.0.1
      server=8.8.8.8

  to /var/run/nm-dns-dnsmasq.conf and "nameserver 127.0.0.1" to
  resolv.conf.  Resolution of private domain names is now broken because
  dnsmasq treats the two upstream nameservers as equals and uses the
  faster one, which could be 8.8.8.8.

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

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

Reply via email to