On 12/02/2025 17:16, jean-christophe manciot wrote:
> Now, if I add dhcp-range option, for instance:
> dhcp-range=192.168.0.50,192.168.0.150,12h
> 
> DHCP ports are open on **all** interfaces instead of just lo as specified 
> earlier:
> /usr/bin/netstat -tunpevaW | grep dnsmasq
> udp        0      0 0.0.0.0:67              0.0.0.0:*                         
>   0          7411150    2807884/dnsmasq
> udp        0      0 127.0.0.1:69            0.0.0.0:*                         
>   0          7411153    2807884/dnsmasq
> udp6       0      0 ::1:69                  :::*                              
>   0          7411154    2807884/dnsmasq
> 

That's as designed. To do DHCP successfully dnsmasq needs to get all 
packets. It will ignore packets arriving from interfaces it's not 
configured for.

(You're unlikely to be able to do DHCP on the loopback interface, and 
certainly not with that dhcp-range. The only time when a DHCP server can 
do something sensible with packets arriving on lo is when there's a DHCP 
relay in use on the same machine, and that's pretty esoteric.

Simon.

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