jerico wrote:
> I've got no instance of dnsmasq running and entries
> in /etc/hosts are respected when e.g. letting Firefox
> (or any other application I've access to) resolve URLs.
Yes, that is because the libc resolver consults /etc/hosts without doing
a DNS lookup.
> AFAIK /etc/hosts is in not directly linked to dnsmasq
> and it doesn't matter whether DNS lookups are done
> externally or not.
The standalone dnsmasq (i.e., the dnsmasq that runs when the dnsmasq
package is installed) does consult /etc/hosts when resolving names.
This feature can be disabled.
> The hosts mechanism is much older than dnsmasq.
That's true.
[...]
> IMO it is most unusual for a Linux distribution to provide
> a default configuration that does not respect /etc/hosts.
That would be highly unusual. Ubuntu is not unusual in this respect. In
Ubuntu 12.04 /etc/nsswitch contains
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
thus for host name lookups the libc resolver looks first at /etc/hosts.
Try this yourself. Add the line
1.2.3.4 foo
to /etc/hosts and then try "ping foo".
$ ping foo
PING foo (1.2.3.4) 56(84) bytes of data.
^C
** Changed in: network-manager (Ubuntu)
Status: Confirmed => Opinion
--
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/993298
Title:
Please make NetworkManager-controlled dnsmasq respect /etc/hosts
Status in “network-manager” package in Ubuntu:
Opinion
Bug description:
Since 12.04 NetworkManager uses the dnsmasq plugin by default to
resolve DNS requests. Unfortunately the dnsmasq plug-in has --no-
hosts, etc. hard coded [1] which means (among other things) that after
the upgrade to 12.04 /etc/hosts will no longer be used to resolve DNS
requests. This changes the prior behavior of NetworkManager without
any visible warning to the end user. AFAICS there's no other way to
work around this problem as to manually revert the change and disable
the dnsmasq plug-in in the NetworkManager config, see [2,3]:
"To turn off dnsmasq in Network Manager, you need to edit
/etc/NetworkManager/NetworkManager.conf and comment the 'dns=dnsmasq'
line then do a 'sudo restart network-manager'."
This is of course not a bug in the NetworkManager which just behaves
as intended. The problem is in the change of the configuration of the
Ubuntu packaging which will probably leave many wondering why their
/etc/hosts suddenly no longer works. This cost me considerable time to
debug and probably is a usability problem for others, too.
Maybe you could provide a more visible documentation than that in [3]?
E.g., *including a comment in /etc/hosts that explains the change* and
how to work around it would have saved me a lot of time. It would have
automatically alerted me on upgrade as manual changes to /etc/hosts
would then have triggered a prompt while leaving those users with
standard /etc/hosts in peace.
Probably similar problems arise with other disabled config files and
could be alerted to the users? Thinking of resolv.conf, etc.
[1]
http://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/src/dnsmasq-manager/nm-dnsmasq-manager.c,
line 285
[2] i.e. http://ubuntuforums.org/showthread.php?t=1968061
[3] http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/993298/+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