Re: NM 1.2.4: Problem with OpenVPN DNS lookups after Ubuntu 16.10 upgrade



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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]