My idea for a heuristic was indeed extremely simple. In case the first
name server has a non public ip address, auto switch to strict order.

Il giorno 27/mag/2012, alle ore 23:04, Simon Kelley
<[email protected]> ha scritto:

> Thomas in #17
> 
> A heuristic for this is difficult, because you have to prove a negative.
> If we can assume the first nameserver has local addresses, we can never
> return a reply from any other nameserver until we have the reply from
> the first one, in case the first one has different data. Once we see
> different data from different nameservers, we can go to --strict-order
> mode, but the opposite is not true: the same answer for a particular
> query doesn't guarantee that the answers to future queries will always
> agree. There's no way to be sure that the nameservers are equivalent
> based on the history of returned queries. Unless we can assume that, we
> always need to wait for the first nameserver to reply (or a timeout) and
> have to stay in --strict-order mode forever.
> 
> There is one possibility, which is to assume that nameservers are
> equivalent, but switch to --strict-order mode if conflicting replies are
> seen. When a query is forwarded to all available servers, and the first
> reply sent back to the original requestor, keep the record of the reply
> (at least, a bit indicating NODATA/NXDOMAIN or a valid reply. If another
> reply comes in later from another nameserver which conflicts, then
> switch to --strict-order mode. This will not get the first queries
> right, but it will be triggered eventually (and it might be triggered,
> swicthing mode forever, by random server glitches)
> 
> For a single-host cache, --strict-order might be the simplest fix......
> 
> Simon.
> 
> -- 
> You received this bug notification because you are subscribed to a
> duplicate bug report (993794).
> https://bugs.launchpad.net/bugs/1003842
> 
> Title:
>  Precise NM with "dns=dnsmasq" breaks systems with non-equivalent
>  upstream nameservers
> 
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1003842/+subscriptions

-- 
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 “network-manager” package in Ubuntu:
  Confirmed

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/network-manager/+bug/1003842/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to