ambiguous config file
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
dnsmasq (Ubuntu) |
Confirmed
|
Medium
|
Unassigned |
Bug Description
Hi,
I'm currently hunting some problems caused by some ambiguity in the dnsmasq config.
There's a directory /etc/dnsmasq.d, where some packages put files with except-
But then, conf-dir=
Some packages that use dnsmasq therefore give it a --conf-
This causes two problems:
- Not all packages give their dnsmasq this additional parameter, and therefore not all dnsmasq instances obey those config. E.g. NetwerkManager uses it's own /etc/NetworkMan
- Even those packages that use --conf-
So it is quite unclear how these things should work together cleanly. Since the details are left to both the user's arbitrary configuration of /etc/dnsmasq.conf and every single package maintainer how he would prefer to use it, there's just a heap of confusion.
In my eyes the best way would be to just use
conf-dir=
in the /etc/dnsmasq.conf and have this as a default, and that's it.
regards
ProblemType: Bug
DistroRelease: Ubuntu 16.10
Package: dnsmasq 2.76-4
ProcVersionSign
Uname: Linux 4.8.0-30-generic x86_64
NonfreeKernelMo
ApportVersion: 2.20.3-0ubuntu8.2
Architecture: amd64
CurrentDesktop: XFCE
Date: Thu Dec 22 12:55:33 2016
InstallationDate: Installed on 2016-04-22 (243 days ago)
InstallationMedia: Lubuntu 16.04 LTS "Xenial Xerus" - Release amd64 (20160420)
PackageArchitec
SourcePackage: dnsmasq
UpgradeStatus: Upgraded to yakkety on 2016-10-17 (66 days ago)
Changed in dnsmasq (Ubuntu): | |
importance: | Undecided → Medium |
Network Manager does: --conf- file=/dev/ null --conf- dir=/etc/ NetworkManager/ dnsmasq. d
and might therefore be an example of those that call it - as you mentioned it can be discussed if it would have to add the,*.conf or anything like it.
An example of a program not calling with --conf- dir=/etc/ dnsmasq. d might be libvirt. file=/var/ lib/libvirt/ dnsmasq/ default. conf
But then it explicitly wants no other config at all to influence it and in terms of the interface exceptions and such it is correct as it explicitly states the interface to bind to.
Call:
--conf-
But in there:
interface=virbr0
So instead of using exclusions it it very specific where to bind to.
Maybe that and similar cases are a reason why it should not always pull in the dnsmasq.d dir - not sure?
Could you list the other examples you found - as I assume to get an idea of potential side effects we would have to collect as much as possible.