dnsmasq's startup script seems to assume users always want to use
dnsmasq as local DNS resolver, and tells resolvconf to put
"nameserver" in /etc/resolv.conf
The problem with this is that if users just want to use dnsmasq
as DHCP server, and put port=0 in /etc/dnsmasq.conf to disable
the DNS functionality, they end up with broken name resolving.

Put a basic check in the startup script that skips resolvconf
configuration if a line starting with port=0 is in /etc/dnsmasq.conf
This doesn't cover all cases (e.g. configuration could also be in
 different file in /etc/dnsmasq.d), but is better than current

Signed-off-by: Floris Bos <b...@je-eigen-domein.nl>
 debian/init | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/debian/init b/debian/init
index 8c562de..46abdc4 100644
--- a/debian/init
+++ b/debian/init
@@ -154,6 +154,11 @@ start_resolvconf()
                [ $interface = lo ] && return
+# Also skip this if DNS functionality is disabled in /etc/dnsmasq.conf
+       if grep -qs '^port=0' /etc/dnsmasq.conf; then
+               return
+       fi
         if [ -x /sbin/resolvconf ] ; then
                echo "nameserver" | /sbin/resolvconf -a lo.$NAME

Dnsmasq-discuss mailing list

Reply via email to