← Back to team overview

touch-packages team mailing list archive

[Bug 1501189] Re: DNS breaks when port=0 is used in dnsmasq.conf

 

Hi Robie,

while this also happens in Debian, the use case is more common in Ubuntu, because NetworkManager is patched to use a spawned dnsmasq instance as a local resolver, and mixing the two DNS servers is problematic (neither bind-dynamic nor bind-interfaces work very well).
In Debian they more frequently use the normal dnsmasq/DNS service as it was designed, because NM doesn't spawn a local resolver there.

For upstream report, Simon (the upstream dnsmasq developer and Debian
maintainer) already answered here, Simon would you like me to file a
debian bug as well? It's easy to work around this issue, so we can even
close it with won't fix if you prefer.

Thank you.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to dnsmasq in Ubuntu.
https://bugs.launchpad.net/bugs/1501189

Title:
  DNS breaks when port=0 is used in dnsmasq.conf

Status in dnsmasq package in Ubuntu:
  Triaged

Bug description:
  The following function is defined in /etc/init.d/dnsmasq:

  start_resolvconf()
  {
  # If interface "lo" is explicitly disabled in /etc/default/dnsmasq
  # Then dnsmasq won't be providing local DNS, so don't add it to
  # the resolvconf server set.
          for interface in $DNSMASQ_EXCEPT
          do
                  [ $interface = lo ] && return
          done

          if [ -x /sbin/resolvconf ] ; then
                  echo "nameserver 127.0.0.1" | /sbin/resolvconf -a lo.$NAME
          fi
          return 0
  }

  When someone puts port=0 in dnsmasq.conf, because e.g. he wants to use it only as a (proxy)DHCP/TFTP server,
  127.0.0.1 is added to resolvconf, and DNS is broken because nothing listens there.

  One workaround is to put DNSMASQ_EXCEPT=lo in /etc/default/dnsmasq.
  But that doesn't make much sense, we don't want to exclude some interface, we're not running a DNS server at all.

  So it would be nice if dnsmasq checked if port=0 is defined in its
  configuration, and didn't add 127.0.0.1 to resolvconf then.

  Sample implementation code, to be inserted before `if [ -x /sbin/resolvconf ]`:
      grep -qr port=0 /etc/dnsmasq.d/ /etc/dnsmasq.conf && return

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dnsmasq/+bug/1501189/+subscriptions


Follow ups

References