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

_______________________________________________
networkmanager-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to