I'm using Dnsmasq like DHCP server for multi networks with Neutron and each network in a VLAN. Everything works fine, but sometimes DNSMASK offers wrong addresses.
It seems to be related to neutron-dhcp-agent restart, broadcast dhcp request flag, and a server with many addresses allocated to clientes, but i'm not sure. Below more details. It's not easy to reproduce. > Linux Namespace used by Neutron as DHCP server. *[root@devel91 ~] ip netns exec qdhcp-3a07cc53-9944-4420-9b76-fa32e41922f5 ifconfig* *lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536* * inet 127.0.0.1 netmask 255.0.0.0* * inet6 ::1 prefixlen 128 scopeid 0x10<host>* * loop txqueuelen 1000 (Local Loopback)* * RX packets 804 bytes 61104 (59.6 KiB)* * RX errors 0 dropped 0 overruns 0 frame 0* * TX packets 804 bytes 61104 (59.6 KiB)* * TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0* *tape56ef56c-66: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500* * inet 100.97.97.3 netmask 255.255.255.0 broadcast 100.97.97.255* * inet6 fe80::f816:3eff:fe94:ee91 prefixlen 64 scopeid 0x20<link>* * ether fa:16:3e:94:ee:91 txqueuelen 1000 (Ethernet)* * RX packets 174520 bytes 49840349 (47.5 MiB)* * RX errors 0 dropped 0 overruns 0 frame 0* * TX packets 176548 bytes 57602628 (54.9 MiB)* * TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0* Dnsmasq version 2.78 Copyright (c) 2000-2017 Simon Kelley Compile time options: IPv6 GNU-getopt DBus no-i18n IDN2 DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth DNSSEC loop-detect inotify It happens with version 2.76 too. I'm using a script to generate a limited number of MACs (60) for DHCP Requests. I have a DNSMASK pool with 54 addresses to be offered. *loop do* * XX=$(printf "%02X\n" $(shuf -i 11-70 -n 1))* * sleep 1* * dhtest -i em2 -f -m A0:11:$XX:33:44:$XX #The "-f" FLAG is for broadcast DHCP request used by TP-LINK and other vendors CPE's* *done* The DHCP namespace IP address is *100.97.97.3/24 <http://100.97.97.3/24>*. The dnsmasq config for this network should give addresses in the range *100.97.97.11 - 100.97.97.64*, and gateway *100.97.97.1* and 2 DNS. There is another namespace with IP 100.97.97.2 and 2 other namespaces working with HA (VRRP with IP 100.97.97.1) all in the same LAN (network/subnet). Bellow are some logs to try to find the problem point. > MAC* a0:11:2c:33:44:2c *got IP *100.97.97.61* address while DNSMASQ was running with OLD PID 12128 (PID before Dnsmasq proccess restart). Nov 7 14:22:25 dnsmasq-dhcp[12128]: 1914494840 DHCPDISCOVER(tape56ef56c-66) a0:11:2c:33:44:2c Nov 7 14:22:26 dnsmasq-dhcp[12128]: 1914494840 DHCPOFFER(tape56ef56c-66) 100.97.97.61 a0:11:2c:33:44:2c Nov 7 14:22:26 dnsmasq-dhcp[12128]: 1914494840 DHCPREQUEST(tape56ef56c-66) 100.97.97.61 a0:11:2c:33:44:2c Nov 7 14:22:26 dnsmasq-dhcp[12128]: 1914494840 DHCPACK(tape56ef56c-66) 100.97.97.61 a0:11:2c:33:44:2c Nov 7 14:23:39 dnsmasq-dhcp[12128]: 958193258 DHCPDISCOVER(tape56ef56c-66) a0:11:2c:33:44:2c Nov 7 14:23:40 dnsmasq-dhcp[12128]: 958193258 DHCPOFFER(tape56ef56c-66) 100.97.97.61 a0:11:2c:33:44:2c Nov 7 14:23:40 dnsmasq-dhcp[12128]: 958193258 DHCPREQUEST(tape56ef56c-66) 100.97.97.61 a0:11:2c:33:44:2c Nov 7 14:23:40 dnsmasq-dhcp[12128]: 958193258 DHCPACK(tape56ef56c-66) 100.97.97.61 a0:11:2c:33:44:2c > systemctl restart neutron-dhcp-agent.service (this was at 14:23:xx) > MAC *a0:11:11:33:44:11* got IP *100.97.97.61* address while DNSMASQ was running with NEW PID 39632 (PID after Dnsmasq restart). Nov 7 14:24:16 dnsmasq-dhcp[39632]: 131303615 DHCPDISCOVER(tape56ef56c-66) a0:11:11:33:44:11 Nov 7 14:24:16 dnsmasq-dhcp[39632]: 131303615 DHCPOFFER(tape56ef56c-66) 100.97.97.61 a0:11:11:33:44:11 Nov 7 14:24:16 dnsmasq-dhcp[39632]: 131303615 DHCPREQUEST(tape56ef56c-66) 100.97.97.61 a0:11:11:33:44:11 Nov 7 14:24:16 dnsmasq-dhcp[39632]: 131303615 DHCPACK(tape56ef56c-66) 100.97.97.61 a0:11:11:33:44:11 Nov 7 14:27:12 dnsmasq-dhcp[39632]: 825015409 DHCPDISCOVER(tape56ef56c-66) a0:11:11:33:44:11 Nov 7 14:27:13 dnsmasq-dhcp[39632]: 825015409 DHCPOFFER(tape56ef56c-66) 100.97.97.61 a0:11:11:33:44:11 Nov 7 14:27:13 dnsmasq-dhcp[39632]: 825015409 DHCPREQUEST(tape56ef56c-66) 100.97.97.61 a0:11:11:33:44:11 Nov 7 14:27:13 dnsmasq-dhcp[39632]: 825015409 DHCPACK(tape56ef56c-66) 100.97.97.61 a0:11:11:33:44:11 Nov 7 14:27:32 dnsmasq-dhcp[39632]: 1448165127 DHCPDISCOVER(tape56ef56c-66) a0:11:11:33:44:11 Nov 7 14:27:33 dnsmasq-dhcp[39632]: 1448165127 DHCPOFFER(tape56ef56c-66) 100.97.97.61 a0:11:11:33:44:11 Nov 7 14:27:33 dnsmasq-dhcp[39632]: 1448165127 DHCPREQUEST(tape56ef56c-66) 100.97.97.61 a0:11:11:33:44:11 Nov 7 14:27:33 dnsmasq-dhcp[39632]: 1448165127 DHCPACK(tape56ef56c-66) 100.97.97.61 a0:11:11:33:44:11 > MAC* a0:11:2c:33:44:2c* got IP *100.101.1.59* address while DNSMASQ was running with new PID 39632. > The problem was this address that doesn't belong to this network. But this address offered exist on dnsmasq config (config bellow). Nov 7 14:28:40 dnsmasq-dhcp[39632]: 2132249441 DHCPDISCOVER(tape56ef56c-66) a0:11:2c:33:44:2c Nov 7 14:28:40 dnsmasq-dhcp[39632]: 2132249441 DHCPOFFER(tape56ef56c-66) 100.101.1.59 a0:11:2c:33:44:2c Nov 7 14:28:40 dnsmasq-dhcp[39632]: 2132249441 DHCPREQUEST(tape56ef56c-66) 100.101.1.59 a0:11:2c:33:44:2c Nov 7 14:28:40 dnsmasq-dhcp[39632]: 2132249441 DHCPACK(tape56ef56c-66) 100.101.1.59 a0:11:2c:33:44:2c > My script remains requesting DHCP with same random MAC addresses only changing last 2 bytes (a0:11:11:33:44:**) and all addresses offered where from the wrong network. It seems to be full, all offered and used. Nov 7 14:30:07 dnsmasq-dhcp[39632]: 531232206 DHCPDISCOVER(tape56ef56c-66) a0:11:11:33:44:11 Nov 7 14:30:08 dnsmasq-dhcp[39632]: 531232206 DHCPOFFER(tape56ef56c-66) 100.97.97.61 a0:11:11:33:44:11 Nov 7 14:30:08 dnsmasq-dhcp[39632]: 531232206 DHCPREQUEST(tape56ef56c-66) 100.97.97.61 a0:11:11:33:44:11 Nov 7 14:30:08 dnsmasq-dhcp[39632]: 531232206 DHCPACK(tape56ef56c-66) 100.97.97.61 a0:11:11:33:44:11 Nov 7 14:30:38 dnsmasq-dhcp[39632]: 1560432315 DHCPDISCOVER(tape56ef56c-66) a0:11:11:33:44:11 Nov 7 14:30:39 dnsmasq-dhcp[39632]: 1560432315 DHCPOFFER(tape56ef56c-66) 100.97.97.61 a0:11:11:33:44:11 Nov 7 14:30:39 dnsmasq-dhcp[39632]: 1560432315 DHCPREQUEST(tape56ef56c-66) 100.97.97.61 a0:11:11:33:44:11 Nov 7 14:30:39 dnsmasq-dhcp[39632]: 1560432315 DHCPACK(tape56ef56c-66) 100.97.97.61 a0:11:11:33:44:11 [root@devel91 ~] systemctl status neutron-dhcp-agent.service -l ● neutron-dhcp-agent.service - OpenStack Neutron DHCP Agent Loaded: loaded (/usr/lib/systemd/system/neutron-dhcp-agent.service; enabled; vendor preset: disabled) Active: active (running) since Qua 2018-11-07 14:23:42 -02; 42min ago Main PID: 39445 (neutron-dhcp-ag) Tasks: 13 CGroup: /system.slice/neutron-dhcp-agent.service ├─39445 /usr/bin/python2 /usr/bin/neutron-dhcp-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-dhcp-agent --log-file /var/log/neutron/dhcp-agent.log ├─39490 sudo neutron-rootwrap-daemon /etc/neutron/rootwrap.conf ├─39491 /usr/bin/python2 /usr/bin/neutron-rootwrap-daemon /etc/neutron/rootwrap.conf ├─39575 /usr/bin/python2 /bin/privsep-helper --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini --config-dir /etc/neutron/conf.d/neutron-dhcp-agent --privsep_context neutron.privileged.default --privsep_sock_path /tmp/tmp_N9dUK/privsep.sock ├─39576 /usr/bin/python2 /bin/privsep-helper --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini --config-dir /etc/neutron/conf.d/neutron-dhcp-agent --privsep_context neutron.privileged.default --privsep_sock_path /tmp/tmpbIRjwc/privsep.sock ├─39577 /usr/bin/python2 /bin/privsep-helper --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini --config-dir /etc/neutron/conf.d/neutron-dhcp-agent --privsep_context neutron.privileged.default --privsep_sock_path /tmp/tmpkBMZy3/privsep.sock ├─39578 /usr/bin/python2 /bin/privsep-helper --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini --config-dir /etc/neutron/conf.d/neutron-dhcp-agent --privsep_context neutron.privileged.default --privsep_sock_path /tmp/tmpYHHG05/privsep.sock ├─39632 dnsmasq --no-hosts --no-resolv --except-interface=lo --pid-file=/var/lib/neutron/dhcp/3a07cc53-9944-4420-9b76-fa32e41922f5/pid --dhcp-hostsfile=/var/lib/neutron/dhcp/3a07cc53-9944-4420-9b76-fa32e41922f5/host --addn-hosts=/var/lib/neutron/dhcp/3a07cc53-9944-4420-9b76-fa32e41922f5/addn_hosts --dhcp-optsfile=/var/lib/neutron/dhcp/3a07cc53-9944-4420-9b76-fa32e41922f5/opts --dhcp-leasefile=/var/lib/neutron/dhcp/3a07cc53-9944-4420-9b76-fa32e41922f5/leases --dhcp-match=set:ipxe,175 --bind-interfaces --interface=tape56ef56c-66 --dhcp-range=set:tag0,100.97.97.0,static,255.255.255.0,86400s --dhcp-option-force=option:mtu,1500 --dhcp-lease-max=256 --conf-file=/etc/neutron/dnsmasq-neutron.conf --domain=openstacklocal ├─39645 dnsmasq --no-hosts --no-resolv --except-interface=lo --pid-file=/var/lib/neutron/dhcp/4201703f-98fe-4ca6-8b03-2a68fbb7242b/pid --dhcp-hostsfile=/var/lib/neutron/dhcp/4201703f-98fe-4ca6-8b03-2a68fbb7242b/host --addn-hosts=/var/lib/neutron/dhcp/4201703f-98fe-4ca6-8b03-2a68fbb7242b/addn_hosts --dhcp-optsfile=/var/lib/neutron/dhcp/4201703f-98fe-4ca6-8b03-2a68fbb7242b/opts --dhcp-leasefile=/var/lib/neutron/dhcp/4201703f-98fe-4ca6-8b03-2a68fbb7242b/leases --dhcp-match=set:ipxe,175 --bind-interfaces --interface=tap5ff4e88b-68 --dhcp-range=set:tag0,100.99.99.0,static,255.255.255.0,86400s --dhcp-option-force=option:mtu,1500 --dhcp-lease-max=256 --conf-file=/etc/neutron/dnsmasq-neutron.conf --domain=openstacklocal ├─39655 dnsmasq --no-hosts --no-resolv --except-interface=lo --pid-file=/var/lib/neutron/dhcp/46e1907c-0bb6-4141-8db4-2cc372c625af/pid --dhcp-hostsfile=/var/lib/neutron/dhcp/46e1907c-0bb6-4141-8db4-2cc372c625af/host --addn-hosts=/var/lib/neutron/dhcp/46e1907c-0bb6-4141-8db4-2cc372c625af/addn_hosts --dhcp-optsfile=/var/lib/neutron/dhcp/46e1907c-0bb6-4141-8db4-2cc372c625af/opts --dhcp-leasefile=/var/lib/neutron/dhcp/46e1907c-0bb6-4141-8db4-2cc372c625af/leases --dhcp-match=set:ipxe,175 --bind-interfaces --interface=tapb871519b-71 --dhcp-range=set:tag0,100.98.98.0,static,255.255.255.0,86400s --dhcp-option-force=option:mtu,1500 --dhcp-lease-max=256 --conf-file=/etc/neutron/dnsmasq-neutron.conf --domain=openstacklocal ├─39660 dnsmasq --no-hosts --no-resolv --except-interface=lo --pid-file=/var/lib/neutron/dhcp/bf2c1841-e09b-4a00-8911-25893ccbf948/pid --dhcp-hostsfile=/var/lib/neutron/dhcp/bf2c1841-e09b-4a00-8911-25893ccbf948/host --addn-hosts=/var/lib/neutron/dhcp/bf2c1841-e09b-4a00-8911-25893ccbf948/addn_hosts --dhcp-optsfile=/var/lib/neutron/dhcp/bf2c1841-e09b-4a00-8911-25893ccbf948/opts --dhcp-leasefile=/var/lib/neutron/dhcp/bf2c1841-e09b-4a00-8911-25893ccbf948/leases --dhcp-match=set:ipxe,175 --bind-interfaces --interface=tap4cdf4812-fd --dhcp-range=set:tag0,100.100.0.0,static,255.255.240.0,86400s --dhcp-option-force=option:mtu,1500 --dhcp-lease-max=4096 --conf-file=/etc/neutron/dnsmasq-neutron.conf --domain=openstacklocal └─39671 dnsmasq --no-hosts --no-resolv --except-interface=lo --pid-file=/var/lib/neutron/dhcp/c541368d-4189-435b-bbc8-093dae40aa8e/pid --dhcp-hostsfile=/var/lib/neutron/dhcp/c541368d-4189-435b-bbc8-093dae40aa8e/host --addn-hosts=/var/lib/neutron/dhcp/c541368d-4189-435b-bbc8-093dae40aa8e/addn_hosts --dhcp-optsfile=/var/lib/neutron/dhcp/c541368d-4189-435b-bbc8-093dae40aa8e/opts --dhcp-leasefile=/var/lib/neutron/dhcp/c541368d-4189-435b-bbc8-093dae40aa8e/leases --dhcp-match=set:ipxe,175 --bind-interfaces --interface=tapd449e876-4d --dhcp-range=set:tag0,100.96.96.0,static,255.255.255.0,86400s --dhcp-option-force=option:mtu,1500 --dhcp-lease-max=256 --conf-file=/etc/neutron/dnsmasq-neutron.conf --domain=openstacklocal Nov 07 14:23:42 devel91 systemd[1]: Started OpenStack Neutron DHCP Agent. Nov 07 14:23:42 devel91 systemd[1]: Starting OpenStack Neutron DHCP Agent... Nov 07 14:23:45 devel91 sudo[39490]: neutron : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/neutron-rootwrap-daemon /etc/neutron/rootwrap.conf Nov 07 14:23:45 devel91 sudo[39503]: neutron : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/neutron-rootwrap /etc/neutron/rootwrap.conf privsep-helper --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini --config-dir /etc/neutron/conf.d/neutron-dhcp-agent --privsep_context neutron.privileged.default --privsep_sock_path /tmp/tmp_N9dUK/privsep.sock Nov 07 14:23:45 devel91 sudo[39507]: neutron : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/neutron-rootwrap /etc/neutron/rootwrap.conf privsep-helper --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini --config-dir /etc/neutron/conf.d/neutron-dhcp-agent --privsep_context neutron.privileged.default --privsep_sock_path /tmp/tmpbIRjwc/privsep.sock Nov 07 14:23:45 devel91 sudo[39515]: neutron : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/neutron-rootwrap /etc/neutron/rootwrap.conf privsep-helper --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini --config-dir /etc/neutron/conf.d/neutron-dhcp-agent --privsep_context neutron.privileged.default --privsep_sock_path /tmp/tmpkBMZy3/privsep.sock Nov 07 14:23:45 devel91 sudo[39518]: neutron : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/neutron-rootwrap /etc/neutron/rootwrap.conf privsep-helper --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini --config-dir /etc/neutron/conf.d/neutron-dhcp-agent --privsep_context neutron.privileged.default --privsep_sock_path /tmp/tmpYHHG05/privsep.sock > DNSMASQ configuration file [root@devel91 ~] cat /etc/neutron/dnsmasq-neutron.conf log-queries #DEBUG para LOGs no syslog padrao. log-dhcp #Log de DHCP ? log-facility=/tmp/dnsmasq.log #Se ativado, cuidar com rotacao do arquivo dhcp-option-force=26,1500 dhcp-option-force=6,xx.xx.xx.xx,8.8.8.8 dhcp-reply-delay=1 #(Algum dos servers demorar mais pra responder) dhcp-range=set:PRIV-192.168.0.0-,192.168.0.10,192.168.0.250,86400s dhcp-option=tag:PRIV-192.168.0.0-,3,192.168.0.1 dhcp-range=set:PRIV-192.168.1.0-,192.168.1.10,192.168.0.250,86400s dhcp-option=tag:PRIV-192.168.1.0-,3,192.168.1.1 dhcp-range=set:PRIV-10.0.0.0-,10.0.0.10,10.0.0.250,86400s dhcp-option=tag:PRIV-10.0.0.0-,3,10.0.0.1 dhcp-range=set:PRIV-10.0.1.0-,10.0.1.10,10.0.1.250,86400s dhcp-option=tag:PRIV-10.0.1.0-,3,10.0.1.1 dhcp-range=set:infra-70-subnet,100.101.1.11,100.101.1.64,600s dhcp-option=tag:infra-70-subnet,3,100.101.1.1 dhcp-range=set:infra-71-subnet,100.101.2.11,100.101.2.64,600s dhcp-option=tag:infra-71-subnet,3,100.101.2.1 dhcp-range=set:infra-72-subnet,100.98.98.11,100.98.98.64,600s dhcp-option=tag:infra-72-subnet,3,100.98.98.1 dhcp-range=set:infra-73-subnet,100.101.4.11,100.101.4.64,600s dhcp-option=tag:infra-73-subnet,3,100.101.4.1 dhcp-range=set:infra-74-subnet,100.101.5.11,100.101.5.64,600s dhcp-option=tag:infra-74-subnet,3,100.101.5.1 dhcp-range=set:infra-75-subnet,100.99.99.11,100.99.99.64,600s dhcp-option=tag:infra-75-subnet,3,100.99.99.1 dhcp-range=set:infra-76-subnet,100.101.7.11,100.101.7.64,600s dhcp-option=tag:infra-76-subnet,3,100.101.7.1 dhcp-range=set:infra-77-subnet,100.101.8.11,100.101.8.64,600s dhcp-option=tag:infra-77-subnet,3,100.101.8.1 dhcp-range=set:infra-78-subnet,100.102.1.11,100.102.1.64,600s dhcp-option=tag:infra-78-subnet,3,100.102.1.1 dhcp-range=set:infra-79-subnet,100.102.2.11,100.102.2.64,600s dhcp-option=tag:infra-79-subnet,3,100.102.2.1 dhcp-range=set:infra-80-subnet,100.102.3.11,100.102.3.64,600s dhcp-option=tag:infra-80-subnet,3,100.102.3.1 dhcp-range=set:infra-81-subnet,100.97.97.11,100.97.97.64,600s dhcp-option=tag:infra-81-subnet,3,100.97.97.1 dhcp-range=set:infra-82-subnet,100.102.5.11,100.102.5.64,600s dhcp-option=tag:infra-82-subnet,3,100.102.5.1 dhcp-range=set:infra-83-subnet,100.102.6.11,100.102.6.64,600s dhcp-option=tag:infra-83-subnet,3,100.102.6.1 dhcp-range=set:infra-84-subnet,100.102.7.11,100.102.7.64,600s dhcp-option=tag:infra-84-subnet,3,100.102.7.1 dhcp-range=set:infra-85-subnet,100.102.8.11,100.102.8.64,600s dhcp-option=tag:infra-85-subnet,3,100.102.8.1 dhcp-range=set:infra-86-subnet,100.103.1.11,100.103.1.64,600s dhcp-option=tag:infra-86-subnet,3,100.103.1.1 dhcp-range=set:infra-87-subnet,100.103.2.11,100.103.2.64,600s dhcp-option=tag:infra-87-subnet,3,100.103.2.1 dhcp-range=set:infra-88-subnet,100.103.3.11,100.103.3.64,600s dhcp-option=tag:infra-88-subnet,3,100.103.3.1 dhcp-range=set:infra-89-subnet,100.103.4.11,100.103.4.64,600s dhcp-option=tag:infra-89-subnet,3,100.103.4.1 dhcp-range=set:infra-90-subnet,100.103.5.11,100.103.5.64,600s dhcp-option=tag:infra-90-subnet,3,100.103.5.1 dhcp-range=set:infra-91-subnet,100.103.6.11,100.103.6.64,600s dhcp-option=tag:infra-91-subnet,3,100.103.6.1 dhcp-range=set:infra-92-subnet,100.103.7.11,100.103.7.64,600s dhcp-option=tag:infra-92-subnet,3,100.103.7.1 dhcp-range=set:infra-93-subnet,100.103.8.11,100.103.8.64,600s dhcp-option=tag:infra-93-subnet,3,100.103.8.1 dhcp-range=set:infra-94-subnet,100.104.1.11,100.104.1.64,600s dhcp-option=tag:infra-94-subnet,3,100.104.1.1 dhcp-range=set:infra-95-subnet,100.96.96.11,100.96.96.64,600s dhcp-option=tag:infra-95-subnet,3,100.96.96.1 This was the lease file when I saw that reproduced the problem. cat /var/lib/neutron/dhcp/3a07cc53-9944-4420-9b76-fa32e41922f5/leases 1541608853 a0:11:3a:33:44:3a 100.101.1.61 * * 1541608845 a0:11:28:33:44:28 100.101.1.23 * * 1541608841 a0:11:23:33:44:23 100.101.1.13 * * 1541608795 a0:11:41:33:44:41 100.101.1.19 * * 1541609097 70:4f:57:ca:25:00 100.101.1.36 Archer_C20 01:70:4f:57:ca:25:00 1541608789 a0:11:30:33:44:30 100.101.1.41 * * 1541608783 a0:11:25:33:44:25 100.101.1.47 * * 1541608739 a0:11:45:33:44:45 100.101.1.55 * * 1541608745 a0:11:1a:33:44:1a 100.101.1.53 * * 1541608720 a0:11:2c:33:44:2c 100.101.1.59 * * 1541608867 a0:11:44:33:44:44 100.97.97.50 * * 1541608801 a0:11:36:33:44:36 100.97.97.26 * * 1541608684 a0:11:3d:33:44:3d 100.97.97.38 * * 1541608778 a0:11:0b:33:44:0b 100.97.97.24 * * 1541608810 a0:11:3f:33:44:3f 100.97.97.40 * * 1541608749 a0:11:20:33:44:20 100.97.97.37 * * 1541608631 a0:11:16:33:44:16 100.97.97.18 * * 1541608847 a0:11:43:33:44:43 100.97.97.22 * * 1541608669 a0:11:29:33:44:29 100.97.97.52 * * 1541608804 a0:11:2b:33:44:2b 100.97.97.32 * * 1541608696 a0:11:12:33:44:12 100.97.97.36 * * 1541608837 a0:11:15:33:44:15 100.97.97.44 * * 1541608592 a0:11:18:33:44:18 100.97.97.20 * * 1541608857 a0:11:27:33:44:27 100.97.97.49 * * 1541608724 a0:11:13:33:44:13 100.97.97.64 * * 1541608573 a0:11:38:33:44:34 100.97.97.23 * * 1541608566 a0:11:40:33:44:40 100.97.97.46 * * 1541608657 a0:11:1c:33:44:1c 100.97.97.56 * * 1541608767 a0:11:33:33:44:33 100.97.97.17 * * 1541608759 a0:11:46:33:44:46 100.97.97.30 * * 1541608799 a0:11:10:33:44:10 100.97.97.34 * * 1541608706 a0:11:21:33:44:21 100.97.97.12 * * 1541608831 a0:11:3e:33:44:3e 100.97.97.11 * * 1541608869 a0:11:26:33:44:26 100.97.97.21 * * 1541608598 a0:11:2d:33:44:2d 100.97.97.33 * * 1541608828 a0:11:42:33:44:42 100.97.97.47 * * 1541608855 a0:11:2a:33:44:2a 100.97.97.57 * * 1541608765 a0:11:38:33:44:38 100.97.97.27 * * 1541608833 a0:11:3b:33:44:3b 100.97.97.35 * * 1541608797 a0:11:3c:33:44:3c 100.97.97.63 * * 1541608849 a0:11:31:33:44:31 100.97.97.16 * * 1541608816 a0:11:0e:33:44:0e 100.97.97.31 * * 1541608716 a0:11:2f:33:44:2f 100.97.97.13 * * 1541608863 a0:11:22:33:44:22 100.97.97.39 * * 1541608771 a0:11:2e:33:44:2e 100.97.97.62 * * 1541608769 a0:11:32:33:44:32 100.97.97.43 * * 1541608861 a0:11:17:33:44:17 100.97.97.45 * * 1541608700 a0:11:0f:33:44:0f 100.97.97.59 * * 1541608839 a0:11:11:33:44:11 100.97.97.61 * * 1541608865 a0:11:37:33:44:37 100.97.97.53 * * 1541608814 a0:11:35:33:44:35 100.97.97.51 * * 1541608859 a0:11:1d:33:44:1d 100.97.97.29 * * 1541608835 a0:11:14:33:44:14 100.97.97.15 * * 1541694227 fa:16:3e:94:ee:91 100.97.97.3 host-100-97-97-3 * 1541694227 fa:16:3e:1f:02:87 100.97.97.1 host-100-97-97-1 * 1541694227 fa:16:3e:9f:c1:40 100.97.97.2 host-100-97-97-2 * After this first wrong offer, only wrong addresses (100.101.1.x) where offered. This "wrong network" is not in use within this scenario, only on dnsmasq configuration file. The problem started some time when used infra-70-subnet instead of infra-81-subnet. I tried to attacked dnsmasq full log debug, but it was rejected. Nov 7 14:28:40 dnsmasq-dhcp[39632]: 2132249441 tags: infra-70-subnet, tape56ef56c-66 Nov 7 14:28:40 dnsmasq-dhcp[39632]: 2132249441 reply delay: 1 Nov 7 14:28:40 dnsmasq-dhcp[39632]: 2132249441 DHCPOFFER(tape56ef56c-66) 100.101.1.59 a0:11:2c:33:44:2c What kind of logs or Informations can help to understand what is happening? I don't think that could be configuration missing/mistake because it works for a long time and is not easy to reproduce. Is there a config that could identify what's happening? Thanks for any help Luís Kleber
_______________________________________________ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss