Ok. So the crucial thing shown here is that in addition to the br interfaces, you have NetworkManager. NetworkManager sets 'nameserver 127.0.1.1', which by design will redirect DNS requests to a local dnsmasq proxy, with dnsmasq itself picking up the configured nameservers instead; and when set, resolvconf will truncate the dns server list (because 127.*.*.* is special), so you won't see these in /etc/resolv.conf.
The only thing I can't figure out is why changing the order of processing of the interfaces has any effect at all for you, since NetworkManager should still be processed and the 127.0.1.1 should still take precedence. So the root problem is that dnsmasq doesn't have an interface that allows injecting of individual dns servers into its config, which means it can only interface with a single client at a time - in this case, NetworkManager, which doesn't know about network interfaces that are configured via ifupdown. NetworkManager and ifupdown can coexist rather reasonably together, and have done so for quite a while, but they can't coexist very well when dnsmasq is used. So there are several workarounds you could employ at the configuration level: - change /etc/NetworkManager/NetworkManager.conf to not use 'dns=dnsmasq' - if you aren't using any interfaces other than the bridges, disable use of NetworkManager altogether. Regardless, it's a limitation of dnsmasq that it doesn't have a proper dbus interface for controlling dns servers. ** Package changed: resolvconf (Ubuntu) => dnsmasq (Ubuntu) ** Changed in: dnsmasq (Ubuntu) Importance: Undecided => Low ** Changed in: dnsmasq (Ubuntu) Status: Incomplete => Triaged -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to resolvconf in Ubuntu. https://bugs.launchpad.net/bugs/1384394 Title: /etc/network/interfaces: "dns-nameservers" entries for bridge "br*" interfaces are ignored i.e. they are not listed in "/etc/resolv.conf" when invoking "ifup" command Status in “dnsmasq” package in Ubuntu: Triaged Bug description: lsb_release -rd Description: Ubuntu 14.04.1 LTS Release: 14.04 apt-cache policy resolvconf resolvconf: Installed: 1.69ubuntu1.1 Candidate: 1.69ubuntu1.1 Version table: *** 1.69ubuntu1.1 0 500 http://ch.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages 100 /var/lib/dpkg/status 1.69ubuntu1 0 500 http://ch.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages DESCRIPTION: network-manager: My "eth0" and "wlan0" cards are managed by the network-manager and this works fine. /etc/network/interfaces: My 2 bridges "br0" and "br1" are managed in "/etc/network/interfaces" as follows: ... iface br0 inet static address 192.168.10.1 netmask 255.255.255.0 dns-nameservers 192.168.10.2 bridge_ports none bridge_stp off bridge_fd 0 bridge_maxwait 0 iface br1 inet static address 192.168.0.1 netmask 255.255.255.0 dns-nameservers 192.168.0.2 bridge_ports none bridge_stp off bridge_fd 0 bridge_maxwait 0 ... When I now bring up the bridge interfaces using: sudo ifup br0 br1 Then they show up fine in "ifconfig". BUT "dns-nameservers 192.168.10.2" and "dns-nameservers 192.168.0.2" DO NOT show up in "/etc/resolv.conf" WORKAROUND: Until this has been fixed the following workaround works fine for me: sudo vi /etc/resolvconf/interface-order #Add the following entry (this entry can be put on any line BUT it has to come before the last entry "*"): ... br* ... * PS: Based on the workaround in "/etc/resolvconf/interface-order" I think the issue is in package "resolvconf" otherwise I would have reported the error against the "ifupdown scripts". To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/dnsmasq/+bug/1384394/+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