On Fri, 2016-11-25 at 16:44 -0500, Paul Smith wrote:
Can anyone tell me how to investigate / debug this issue? My /etc/resolv.conf has: # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 127.0.1.1
Hi, /etc/resolv.conf is written by resolvconf, but with input provided by NetworkManager. Probably, your /etc/NetworkManager/NetworkManager.conf has something like [main] dns=dnsmasq rc-manager=resolvconf (possibly in some configuration snippets in /var/lib/NetworkManager/conf.d or /etc/NetworkManager/conf.d). this might be a fine configuration, and it leaves you with several options how to tweak the configuration.
gone are the days where the DNS servers simply sat in /etc/resolv.conf, or else in simple DHCP lease files.
If you just dislike the caching DNS server (nameserver 127.0.0.1), then disable it. Configure "main.dns=default" in NetworkManager.conf followed by `killall -SIGHUP NetworkManager`. If you don't like to use resolvconf, change "rc-manager" setting to something else, like "symlink". See `man NetworkManager.conf`. DNS configuration was never done via DHCP lease files. But if you want to see the DHCP options, try $ nmcli -f all device show $DEVICE If you continue to use dns=dnsmasq (which sounds sensible), then you can: 1) put dnsmasq configuration snippets to /etc/NetworkManager/dnsmasq.d 2) add some per-connection DNS configuration according to your needs. 3) overwrite all per-connection configuration via global configuration in NetworkManager.conf (see GLOBAL-DNS and GLOBAL-DNS-DOMAIN in `man NetworkManager.conf` Sounds like 2) would be best, see the ipv4.dns* per-connection settings, for example `nmcli connection show $NAME | grep ipv..dns`.
so clearly something is taking over DNS. I expect it's this dnsmasq: /usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts \ --bind-interfaces --pid- file=/var/run/NetworkManager/dnsmasq.pid \ --listen-address=127.0.1.1 --cache-size=0 --conf-file=/dev/null \ --proxy-dnssec --enable- dbus=org.freedesktop.NetworkManager.dnsmasq \ --conf-dir=/etc/NetworkManager/dnsmasq.d but I've looked in those directories and I can't find anything that looks like it might be a DHCP lease file or whatever that might tell the system what DNS servers to use (in fact /etc/NetworkManager/dnsmasq.d is empty)
this dnsmasq instance is spawned by NetworkManager and configured via D-Bus. You can however extend the configuration by putting files to /etc/NetworkManager/dnsmasq.d. If you want to see the DNS configuration done by NetworkManager, enable debug logging: `sudo nmcli general logging level TRACE` and look at the logfiles. You can force NM to rewrite your DNS configuration via SIGHUP signal (killall). best, Thomas
Attachment:
signature.asc
Description: This is a digitally signed message part