Hello! I found nasty bug in dnsmasq related to multiply instances of dnsmasq an bootp protocol.
I want to setup dnsmasq as caching dns server working via several groups of dns servers. First group using private encrypted dns request, second group using public dns like 8.8.8.8 third group dns provided by my ISP.
dnsmasq config looks like this:
config dnsmasq
option noresolv '1'
option strictorder '1'
list server '127.0.0.1#5354' # group1
list server '127.0.0.1#5355' # group2
list server '127.0.0.1#5356' # group3
config dnsmaq 'priv'
option noresolv '1'
option port '5354'
list interface 'lo'
list server '127.0.0.1#5453' # https dns proxy
list server '127.0.0.1#5053' # stubby1
list server '127.0.0.1#5054' # stubby2
config dnsmasq 'pub'
option noresolv '1'
option port '5355'
list interface 'lo'
list server '8.8.8.8'
list server '8.8.4.4'
list server '1.1.1.1'
list server '77.88.8.8'
list server '77.88.1.1'
config dnsmasq 'auto'
option port '5356'
list interface 'lo'
option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
It works as expected. Until I notices that dnsmasq stop to responds to my bootp requests and stop assign IP addeses for more then two first hosts requests an IP. So. If two machines asked for dhcp IP they will get proper respond. But third and frouth machines does request, it will be dennied. I tested all caces, it is not a cable or lost packets issues. tcpdump confirmed packed arrived but blocked by dnsmasq.
09:07:48.998913 IP rpi.lan.68 > w.67: BOOTP/DHCP, Request from b8:27:eb:a2:b6:94 (oui Unknown), length 300
09:07:49.000319 IP w.67 > rpi.lan.68: BOOTP/DHCP, Reply, length 302
09:07:58.890442 IP mbp113.lan.68 > w.67: BOOTP/DHCP, Request from b8:e8:56:2b:4d:84 (oui Unknown), length 284
09:07:58.891925 IP w.67 > mbp113.lan.68: BOOTP/DHCP, Reply, length 305
09:08:12.220578 IP u8650.lan.68 > w.67: BOOTP/DHCP, Request from 00:90:4c:14:43:29 (oui Unknown), length 329
09:08:15.403278 IP axet-desktop.lan.68 > w.67: BOOTP/DHCP, Request from 34:5a:60:72:78:2c (oui Unknown), length 290
09:08:41.869819 IP rpi.lan.68 > w.67: BOOTP/DHCP, Request from b8:27:eb:a2:b6:94 (oui Unknown), length 300
09:08:41.871318 IP w.67 > rpi.lan.68: BOOTP/DHCP, Reply, length 302
09:08:53.888331 IP mbp113.lan.68 > w.67: BOOTP/DHCP, Request from b8:e8:56:2b:4d:84 (oui Unknown), length 284
09:08:53.889768 IP w.67 > mbp113.lan.68: BOOTP/DHCP, Reply, length 305
09:09:15.939000 IP axet-desktop.lan.68 > w.67: BOOTP/DHCP, Request from 34:5a:60:72:78:2c (oui Unknown), length 290
09:09:16.637494 IP u8650.lan.68 > w.67: BOOTP/DHCP, Request from 00:90:4c:14:43:29 (oui Unknown), length 329
09:09:25.365728 IP rpi.lan.68 > w.67: BOOTP/DHCP, Request from b8:27:eb:a2:b6:94 (oui Unknown), length 300
09:09:25.367090 IP w.67 > rpi.lan.68: BOOTP/DHCP, Reply, length 302
09:09:48.886711 IP mbp113.lan.68 > w.67: BOOTP/DHCP, Request from b8:e8:56:2b:4d:84 (oui Unknown), length 284
09:09:48.888066 IP w.67 > mbp113.lan.68: BOOTP/DHCP, Reply, length 305
09:10:12.757648 IP rpi.lan.68 > w.67: BOOTP/DHCP, Request from b8:27:eb:a2:b6:94 (oui Unknown), length 300
09:10:12.759013 IP w.67 > rpi.lan.68: BOOTP/DHCP, Reply, length 302
09:10:16.297623 IP axet-desktop.lan.68 > w.67: BOOTP/DHCP, Request from 34:5a:60:72:78:2c (oui Unknown), length 290
09:10:21.110251 IP u8650.lan.68 > w.67: BOOTP/DHCP, Request from 00:90:4c:14:43:29 (oui Unknown), length 329
09:10:43.885405 IP mbp113.lan.68 > w.67: BOOTP/DHCP, Request from b8:e8:56:2b:4d:84 (oui Unknown), length 284
09:10:43.886781 IP w.67 > mbp113.lan.68: BOOTP/DHCP, Reply, length 305
09:11:00.761657 IP rpi.lan.68 > w.67: BOOTP/DHCP, Request from b8:27:eb:a2:b6:94 (oui Unknown), length 300
09:11:00.763009 IP w.67 > rpi.lan.68: BOOTP/DHCP, Reply, length 302
09:11:17.014004 IP axet-desktop.lan.68 > w.67: BOOTP/DHCP, Request from 34:5a:60:72:78:2c (oui Unknown), length 290
09:11:25.048582 IP u8650.lan.68 > w.67: BOOTP/DHCP, Request from 00:90:4c:14:43:29 (oui Unknown), length 329
09:11:36.883864 IP mbp113.lan.68 > w.67: BOOTP/DHCP, Request from b8:e8:56:2b:4d:84 (oui Unknown), length 284
09:11:36.885231 IP w.67 > mbp113.lan.68: BOOTP/DHCP, Reply, length 305
09:11:44.193473 IP rpi.lan.68 > w.67: BOOTP/DHCP, Request from b8:27:eb:a2:b6:94 (oui Unknown), length 300
09:11:44.194826 IP w.67 > rpi.lan.68: BOOTP/DHCP, Reply, length 302
I'm using openwrt 25.12.4, self build from original repo.