On Fri, 2016-12-09 at 11:55 -0500, Calvin Arndt wrote:
First a caveat... My system is an Ubuntu 16.04 Desktop system. I use it for daily management of a 54 device network of Windows PC's (10), cameras (9), scales (4), Linux DVR's (2) CentOS Pos system and many other Iot type stuff. My system functions as the network router, firewall, Wifi access point caching dns server, as well as serving all my admin needs (email, document writing web research and more). It supplies the tunnelled components that are remotely critical to our operation via ssh tunnels (using autossh for permanence). This is where Ubuntu has always shined for me! Ubuntu and NetworkManager have always been well up to the task of providing this functionality! So firstly Thanks for your efforts. The snag that I continuously run into when setting up systems like this one is this... The documentation for NetworkManager doesn't go into detail about dnsmasq. It's uses and configuration, while not under the scope of NetworkManager documentation, are critical to the operation of a system like mine. So why bother you guys? To get my system and all its quirks configured, I have to do two things. Wait for NetworkManager to finish configuration of the basic interfaces on my machine. Kill the dnsmasq daemon that NetworkManager leaves laying around then start my own custom configuration of dnsmasq. I don't like killing daemons on any system, but it is what I have to do. No amount of tinkering has lead me to any other solution. Two things play into this, in my mind. First, the simple fact that I can kill NetworkManager's dnsmasq daemon (ie NetworkManager doesn't notice and restart dnsmasq) makes me wonder why it is started with the (hard coded???) option --keep-in-foreground anyway. Second, also apparently hard coded, is the --cache-size=0. which as I understand it tells dnsmasq not to cache dns requests. The documentation really falls short here. No mention of dns caching, no mention of the proper way to use dnsmasq's many many other talent's without interrupting/destroying NetworkManager. We all can see that NetworkManager has given us some wiggle room in configuring dnsmasq (ie. /etc/NetworkManager/dnsmasq.d) but without anything in the documentation about common usage of this we are left to endless hours of google searching of trial and error scenarios! Minimally something ought to be said about the seemingly hard coded options NetworkManager starts dnsmasq with. Some discussion of NetworkManager design philosophy would be helpful. Again, thanks for your time and consideration of these issues!
Hi, using dnsmasq via NetworkManager is supposed to give you a solution that just works, without much configuration (or documentation). It's not supposed to allow you to configure dnsmasq with all options that dnsmasq understands. If you want that, use dnsmasq directly, not via NetworkManager. It's also not supposed to be the most flexible DNS solution, but a simple one that works in many cases. Again, maybe systemd-resolved could be that. Or of course, running your local caching DNS server yourself. See `man NetworkManager.conf` for main.dns and main.rc-manager settings. You are also not supposed to kill processes started by NetworkManager. If you really want to forcefully restart the DNS plugin, `killall -HUP NetworkManager`. If you have any issues that really require killing the DNS plugin, it's a bug. NM runs dnsmasq with --keep-in-foreground, because it started and watches the dnsmasq process. This avoid for dnsmasq to double-fork, which would prevent NetworkManager to notice when the dnsmasq process exits. It very much notices when you kill the process, but it doesn't restart it on purpose (at least not right away, only after the next DNS update happens). Thomas
Calvin On 12/09/2016 05:13, Thomas Haller wrote:On Wed, 2016-12-07 at 14:47 -0500, Calvin Arndt wrote:NetworkManager documentation does not document proper way to use different tools for dns /dhcp management. This additional documentation will need to be written by someone who develops this package. Its the philosophy behind the software that must be explained.Hi, your request is not very specific. Are you looking at any specific documentation that you think is lacking? Which documentation, and how precisely is it lacking? Or were you unable to find any relevant documentation? For what exactly? "dns/dhcp management" is not very clear what you want to do. Thanks, Thomas-- Calvin Arndt (217) 778-8740 carndt macksrecycling com
Attachment:
signature.asc
Description: This is a digitally signed message part