With the following setup:

port=0
interface=eth0
bind-interfaces
dhcp-range=192.168.1.2,192.168.1.254

I get:
# /usr/bin/netstat -tunpevaW | grep dnsmasq
udp        0      0 0.0.0.0:67              0.0.0.0:*                           
0          19371604   3877093/dnsmasq     

which contradicts your own documentation (please read until the end):
# If you want dnsmasq to listen for DHCP and DNS requests only on
# specified interfaces (and the loopback) give the name of the
# interface (eg eth0) here.
# Repeat the line for more than one interface.
# interface=

# On systems which support it, dnsmasq binds the wildcard address,
# even when it is listening on only some interfaces. It then discards
# requests that it shouldn't reply to. This has the advantage of
# working even when interfaces come and go and change address. If you
# want dnsmasq to really bind only the interfaces it is listening on,
# uncomment this option. About the only time you may need this is when
# running another nameserver on the same machine.
# bind-interfaces

So, bind-interfaces is not applied. Why is it a problem? In cases where
there are multiple DHCP servers, this dnsmasq issue prevents the
coexistence with these other servers as it binds to **all** ionterfaces
and prevent other servers from listening on the interfaces they were
setup for.

A perfect example is libvirtd: this issue prevents libvirtd from
starting its one instance of dnsmasq over virbr0 (for instance). Cf.
https://wiki.libvirt.org/Libvirtd_and_dnsmasq.html.

FYI, this failed behavior did not exist in Ubuntu noble.

-- 
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/2098119

Title:
  dnsmasq opens DHCP server ports on all interfaces instead of just on
  the interface(s) defined in interface= setting

Status in dnsmasq package in Ubuntu:
  New

Bug description:
  ubuntu oracular
  linux 6.12.0-15-generic
  dnsmasq 2.90-4

  With the following specific configuration in /etc/dnsmasq.conf (due to 
interference with another DNS server):
  port=0

  The systemd service starts:
  # echo 'q' | sudo systemctl --no-pager --full status dnsmasq
  ● dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server
       Loaded: loaded (/usr/lib/systemd/system/dnsmasq.service; enabled; 
preset: enabled)
       Active: active (running) since Wed 2025-02-12 17:31:55 CET; 1min 24s ago
   Invocation: 3aa94eb3e49c40e8b7cc53f316cc90eb
     Main PID: 1550822 (dnsmasq)
        Tasks: 1 (limit: 36889)
       Memory: 844K (peak: 2.4M)
          CPU: 28ms
       CGroup: /system.slice/dnsmasq.service
               └─1550822 /usr/sbin/dnsmasq -x /run/dnsmasq/dnsmasq.pid -u 
dnsmasq -7 /etc/dnsmasq.d,.dpkg-dist,.dpkg-old,.dpkg-new --local-service 
--trust-anchor=.,20326,8,2,e06d44b80b8f1d39a95c0b0d7c65d08458e880409bbc683457104237c7f8ec8d

  Feb 12 17:31:55 samsung9-ubuntux systemd[1]: Starting dnsmasq.service - 
dnsmasq - A lightweight DHCP and caching DNS server...
  Feb 12 17:31:55 samsung9-ubuntux dnsmasq[1550822]: started, version 2.90 DNS 
disabled
  Feb 12 17:31:55 samsung9-ubuntux dnsmasq[1550822]: compile time options: IPv6 
GNU-getopt DBus no-UBus i18n IDN2 DHCP DHCPv6 no-Lua TFTP conntrack ipset 
nftset auth cryptohash DNSSEC loop-detect inotify dumpfile
  Feb 12 17:31:55 samsung9-ubuntux systemd[1]: Started dnsmasq.service - 
dnsmasq - A lightweight DHCP and caching DNS server.

  but there is no DHCP server port open:
  # /usr/bin/netstat -tunpevaW | grep dnsmasq
  # /usr/bin/netstat -tunpevaW | grep :67
  #

  It does not change anything if I specify 'interface=eth0' or 
'listen-address=127.0.0.1' for instance.
  It does not change anything either if I specify a specific DNS port other 
than 53 with 'port=663' for instance: still no DHCP server port open by dnsmasq.

  Everything works fine with TFTP though with:
  listen-address=127.0.0.1
  bind-interfaces
  enable-tftp

  # /usr/bin/netstat -tunpevaW | grep dnsmasq
  udp        0      0 127.0.0.1:69            0.0.0.0:*                         
  0          5781084    2183724/dnsmasq

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


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to