[Dnsmasq-discuss] No DHCP leases handed on bridge interface

Sébastien Delafond seb at debian.org
Fri Jul 15 11:28:33 BST 2016


Hello,

I have a server with a bridge containing only one interface (ideally
it'll of course include more interfaces, but I've tried to eliminate as
many factors as possible):

  $ brctl show
  bridge name     bridge id               STP enabled     interfaces
  br.eth0-2               8000.1cb72c761568       no              eth0.2
  $ ip ad show br.eth0-2
    15: br.eth0-2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 
        \ noqueue state UP group default qlen 1000
        link/ether 1c:b7:2c:76:15:68 brd ff:ff:ff:ff:ff:ff
        inet 192.168.1.1/16 brd 192.168.255.255 scope global br.eth0-2
        valid_lft forever preferred_lft forever

The DHCP-relevant parts of dnsmasq.conf are:

  interface=*
  dhcp-authoritative
  dhcp-lease-max=5000
  dhcp-range=set:br.eth0-2,192.168.1.100,192.168.1.200,86400
  dhcp-option=tag:br.eth0-2,3,192.168.1.1 # gateway
  dhcp-option=tag:br.eth0-2,1,255.255.0.0 # netmask
  dhcp-option=tag:br.eth0-2,6,192.168.1.1 # dns

My client, sitting on the other end of eth0.2, is issuing DHCP requests
that correctly make it up to the server (tcpdump sees them on both
eth0.2 and br.eth0-2). However, dnsmasq is acting like it doesn't
receive them at all: it stays silent, even when run with "-d
--log-dhcp". In strace, I don't see anything either after it's started.

The most interesting point is probably that ISC-dhcpd serves DHCP leases
just fine in the same exact setup: simply stopping dnsmasq and starting
ISC-dhcpd with a minimal "subnet 192.168.0.0 netmask 255.255.0.0 { range
192.168.1.100 192.168.1.200;}" configuration results in leases being
handed to the same client.

Also, if I remove the bridge, assign 192.168.1.1/16 to eth0.2, and
restart dnsmasq, then my client gets a DHCP lease.

Another thing I've done is to replay all the aforementioned tests with a
wlan0 interface instead of the eth0.2, with the same results: ISC dhcpd
works fine, dnsmasq doesn't serve DHCP over the bridge containing only
wlan0, but does if I kill the bridge and work with wlan0 alone.

Any clue what's going on ? This is a 4.4.3 kernel, and I've tried both
2.62 from Debian jessie, and 2.76 from stretch.

Cheers,

--Seb




More information about the Dnsmasq-discuss mailing list