Discussion:
[Dnsmasq-discuss] dnsmaq responds with DHCPNACK
Budai Laszlo
2018-06-14 13:02:07 UTC
Permalink
Hello,

we have an openstack install that uses dnsmasq for dhcp functionality.
we have 2 ndsmasq processes running for each network (on different openstack network nodes).
From time to time I can see DHCPNACK sent by one of the servers when a client is trying to renew its lease.

On the client log I have the following:

Jun 7 09:34:25 hhr-prd-be1 dhclient: message repeated 2580 times: [ DHCPREQUEST of 192.168.1.32 on eth0 to 192.168.1.1 port 67 (xid=0x196ca4cf)]
Jun 7 09:34:25 hhr-prd-be1 dhclient: DHCPACK of 192.168.1.32 from 192.168.1.1
Jun 7 09:34:25 hhr-prd-be1 dhclient: bound to 192.168.1.32 -- renewal in 36110 seconds.
Jun 7 19:36:15 hhr-prd-be1 dhclient: DHCPREQUEST of 192.168.1.32 on eth0 to 192.168.1.1 port 67 (xid=0x196ca4cf)
Jun 7 19:36:15 hhr-prd-be1 dhclient: DHCPNAK from 192.168.1.1 (xid=0xcfa46c19)
Jun 7 19:36:15 hhr-prd-be1 dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 (xid=0x1a8d6d00)
Jun 7 19:36:15 hhr-prd-be1 dhclient: DHCPREQUEST of 192.168.1.32 on eth0 to 255.255.255.255 port 67 (xid=0x6d8d1a)
Jun 7 19:36:15 hhr-prd-be1 dhclient: DHCPOFFER of 192.168.1.32 from 192.168.1.1
Jun 7 19:36:15 hhr-prd-be1 dhclient: DHCPACK of 192.168.1.32 from 192.168.1.1
Jun 7 19:36:15 hhr-prd-be1 dhclient: bound to 192.168.1.32 -- renewal in 34193 seconds.


the first server (the one with the IP 192.168.1.1) is responding with ACK:

Jun 7 09:34:00 dp-c2-bl16 dnsmasq-dhcp[27774]: DHCPREQUEST(tap347066a3-42) 192.168.1.33 fa:16:3e:5c:2e:fc
Jun 7 09:34:00 dp-c2-bl16 dnsmasq-dhcp[27774]: DHCPACK(tap347066a3-42) 192.168.1.33 fa:16:3e:5c:2e:fc host-192-168-1-33
Jun 7 09:34:25 dp-c2-bl16 dnsmasq-dhcp[27774]: DHCPREQUEST(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56
Jun 7 09:34:25 dp-c2-bl16 dnsmasq-dhcp[27774]: DHCPACK(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56 host-192-168-1-32
Jun 7 19:13:38 dp-c2-bl16 dnsmasq-dhcp[27774]: DHCPREQUEST(tap347066a3-42) 192.168.1.33 fa:16:3e:5c:2e:fc
Jun 7 19:13:38 dp-c2-bl16 dnsmasq-dhcp[27774]: DHCPACK(tap347066a3-42) 192.168.1.33 fa:16:3e:5c:2e:fc host-192-168-1-33
Jun 7 19:36:15 dp-c2-bl16 dnsmasq-dhcp[27774]: DHCPREQUEST(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56
Jun 7 19:36:15 dp-c2-bl16 dnsmasq-dhcp[27774]: DHCPACK(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56 host-192-168-1-32
Jun 7 19:36:15 dp-c2-bl16 dnsmasq-dhcp[27774]: DHCPDISCOVER(tap347066a3-42) fa:16:3e:76:aa:56
Jun 7 19:36:15 dp-c2-bl16 dnsmasq-dhcp[27774]: DHCPOFFER(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56
Jun 7 19:36:15 dp-c2-bl16 dnsmasq-dhcp[27774]: DHCPREQUEST(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56
Jun 7 19:36:15 dp-c2-bl16 dnsmasq-dhcp[27774]: DHCPACK(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56 host-192-168-1-32


While the other (192.168.1.2) sends the NACK:

Jun 7 09:34:00 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPREQUEST(tap347066a3-42) 192.168.1.33 fa:16:3e:5c:2e:fc
Jun 7 09:34:00 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPACK(tap347066a3-42) 192.168.1.33 fa:16:3e:5c:2e:fc host-192-168-1-33
Jun 7 09:34:16 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPREQUEST(tap347066a3-42) 192.168.1.33 fa:16:3e:5c:2e:fc
Jun 7 09:34:16 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPACK(tap347066a3-42) 192.168.1.33 fa:16:3e:5c:2e:fc host-192-168-1-33
Jun 7 19:13:38 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPREQUEST(tap347066a3-42) 192.168.1.33 fa:16:3e:5c:2e:fc
Jun 7 19:13:38 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPACK(tap347066a3-42) 192.168.1.33 fa:16:3e:5c:2e:fc host-192-168-1-33
Jun 7 19:36:15 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPREQUEST(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56
Jun 7 19:36:15 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPNAK(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56 lease not found
Jun 7 19:36:15 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPDISCOVER(tap347066a3-42) fa:16:3e:76:aa:56
Jun 7 19:36:15 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPOFFER(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56
Jun 7 19:36:15 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPREQUEST(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56
Jun 7 19:36:15 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPACK(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56 host-192-168-1-32

my question is that from the client we can see the request targeting 192.168.1.1:
Jun 7 19:36:15 hhr-prd-be1 dhclient: DHCPREQUEST of 192.168.1.32 on eth0 to 192.168.1.1 port 67 (xid=0x196ca4cf)

why the 192.168.1.2 is sending the NACK in this case?

Thank you,
Laszlo
Simon Kelley
2018-06-15 21:17:37 UTC
Permalink
Do you have dhcp-authoritative set in the dnsmasq configuration?


Simon.
Post by Budai Laszlo
Hello,
we have an openstack install that uses dnsmasq for dhcp functionality.
we have 2 ndsmasq processes running for each network (on different
openstack network nodes).
From time to time I can see DHCPNACK sent by one of the servers when a
client is trying to renew its lease.
Jun  7 09:34:25 hhr-prd-be1 dhclient: message repeated 2580 times: [
DHCPREQUEST of 192.168.1.32 on eth0 to 192.168.1.1 port 67
(xid=0x196ca4cf)]
Jun  7 09:34:25 hhr-prd-be1 dhclient: DHCPACK of 192.168.1.32 from
192.168.1.1
Jun  7 09:34:25 hhr-prd-be1 dhclient: bound to 192.168.1.32 -- renewal
in 36110 seconds.
Jun  7 19:36:15 hhr-prd-be1 dhclient: DHCPREQUEST of 192.168.1.32 on
eth0 to 192.168.1.1 port 67 (xid=0x196ca4cf)
Jun  7 19:36:15 hhr-prd-be1 dhclient: DHCPNAK from 192.168.1.1
(xid=0xcfa46c19)
Jun  7 19:36:15 hhr-prd-be1 dhclient: DHCPDISCOVER on eth0 to
255.255.255.255 port 67 interval 3 (xid=0x1a8d6d00)
Jun  7 19:36:15 hhr-prd-be1 dhclient: DHCPREQUEST of 192.168.1.32 on
eth0 to 255.255.255.255 port 67 (xid=0x6d8d1a)
Jun  7 19:36:15 hhr-prd-be1 dhclient: DHCPOFFER of 192.168.1.32 from
192.168.1.1
Jun  7 19:36:15 hhr-prd-be1 dhclient: DHCPACK of 192.168.1.32 from
192.168.1.1
Jun  7 19:36:15 hhr-prd-be1 dhclient: bound to 192.168.1.32 -- renewal
in 34193 seconds.
DHCPREQUEST(tap347066a3-42) 192.168.1.33 fa:16:3e:5c:2e:fc
Jun  7 09:34:00 dp-c2-bl16 dnsmasq-dhcp[27774]: DHCPACK(tap347066a3-42)
192.168.1.33 fa:16:3e:5c:2e:fc host-192-168-1-33
DHCPREQUEST(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56
Jun  7 09:34:25 dp-c2-bl16 dnsmasq-dhcp[27774]: DHCPACK(tap347066a3-42)
192.168.1.32 fa:16:3e:76:aa:56 host-192-168-1-32
DHCPREQUEST(tap347066a3-42) 192.168.1.33 fa:16:3e:5c:2e:fc
Jun  7 19:13:38 dp-c2-bl16 dnsmasq-dhcp[27774]: DHCPACK(tap347066a3-42)
192.168.1.33 fa:16:3e:5c:2e:fc host-192-168-1-33
DHCPREQUEST(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56
Jun  7 19:36:15 dp-c2-bl16 dnsmasq-dhcp[27774]: DHCPACK(tap347066a3-42)
192.168.1.32 fa:16:3e:76:aa:56 host-192-168-1-32
DHCPDISCOVER(tap347066a3-42) fa:16:3e:76:aa:56
DHCPOFFER(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56
DHCPREQUEST(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56
Jun  7 19:36:15 dp-c2-bl16 dnsmasq-dhcp[27774]: DHCPACK(tap347066a3-42)
192.168.1.32 fa:16:3e:76:aa:56 host-192-168-1-32
DHCPREQUEST(tap347066a3-42) 192.168.1.33 fa:16:3e:5c:2e:fc
Jun  7 09:34:00 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPACK(tap347066a3-42)
192.168.1.33 fa:16:3e:5c:2e:fc host-192-168-1-33
DHCPREQUEST(tap347066a3-42) 192.168.1.33 fa:16:3e:5c:2e:fc
Jun  7 09:34:16 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPACK(tap347066a3-42)
192.168.1.33 fa:16:3e:5c:2e:fc host-192-168-1-33
DHCPREQUEST(tap347066a3-42) 192.168.1.33 fa:16:3e:5c:2e:fc
Jun  7 19:13:38 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPACK(tap347066a3-42)
192.168.1.33 fa:16:3e:5c:2e:fc host-192-168-1-33
DHCPREQUEST(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56
Jun  7 19:36:15 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPNAK(tap347066a3-42)
192.168.1.32 fa:16:3e:76:aa:56 lease not found
DHCPDISCOVER(tap347066a3-42) fa:16:3e:76:aa:56
Jun  7 19:36:15 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPOFFER(tap347066a3-42)
192.168.1.32 fa:16:3e:76:aa:56
DHCPREQUEST(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56
Jun  7 19:36:15 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPACK(tap347066a3-42)
192.168.1.32 fa:16:3e:76:aa:56 host-192-168-1-32
Jun  7 19:36:15 hhr-prd-be1 dhclient: DHCPREQUEST of 192.168.1.32 on
eth0 to 192.168.1.1 port 67 (xid=0x196ca4cf)
why the 192.168.1.2 is sending the NACK in this case?
Thank you,
Laszlo
_______________________________________________
Dnsmasq-discuss mailing list
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
Budai Laszlo
2018-06-18 09:33:13 UTC
Permalink
Hi Simon,

Thank you for the answer.
This is the command line for the dnsmasq process:

dnsmasq --no-hosts --no-resolv --strict-order --bind-interfaces --interface=tap347066a3-42 --except-interface=lo --pid-file=/var/lib/neutron/dhcp/af5d4690-46b6-4ad3-b0ee-6f02e2d1a8e2/pid --dhcp-hostsfile=/var/lib/neutron/dhcp/af5d4690-46b6-4ad3-b0ee-6f02e2d1a8e2/host --addn-hosts=/var/lib/neutron/dhcp/af5d4690-46b6-4ad3-b0ee-6f02e2d1a8e2/addn_hosts --dhcp-optsfile=/var/lib/neutron/dhcp/af5d4690-46b6-4ad3-b0ee-6f02e2d1a8e2/opts --dhcp-leasefile=/var/lib/neutron/dhcp/af5d4690-46b6-4ad3-b0ee-6f02e2d1a8e2/leases --dhcp-range=set:tag0,192.168.1.0,static,86400s --dhcp-lease-max=256 --conf-file= --domain=openstacklocal

so there is no such setting on the command line, and no config file is set . So the value should be a default one (which I guess that it is not authoritative.

Kind regards,
Laszlo
Post by Simon Kelley
Do you have dhcp-authoritative set in the dnsmasq configuration?
Simon.
Post by Budai Laszlo
Hello,
we have an openstack install that uses dnsmasq for dhcp functionality.
we have 2 ndsmasq processes running for each network (on different
openstack network nodes).
From time to time I can see DHCPNACK sent by one of the servers when a
client is trying to renew its lease.
Jun  7 09:34:25 hhr-prd-be1 dhclient: message repeated 2580 times: [
DHCPREQUEST of 192.168.1.32 on eth0 to 192.168.1.1 port 67
(xid=0x196ca4cf)]
Jun  7 09:34:25 hhr-prd-be1 dhclient: DHCPACK of 192.168.1.32 from
192.168.1.1
Jun  7 09:34:25 hhr-prd-be1 dhclient: bound to 192.168.1.32 -- renewal
in 36110 seconds.
Jun  7 19:36:15 hhr-prd-be1 dhclient: DHCPREQUEST of 192.168.1.32 on
eth0 to 192.168.1.1 port 67 (xid=0x196ca4cf)
Jun  7 19:36:15 hhr-prd-be1 dhclient: DHCPNAK from 192.168.1.1
(xid=0xcfa46c19)
Jun  7 19:36:15 hhr-prd-be1 dhclient: DHCPDISCOVER on eth0 to
255.255.255.255 port 67 interval 3 (xid=0x1a8d6d00)
Jun  7 19:36:15 hhr-prd-be1 dhclient: DHCPREQUEST of 192.168.1.32 on
eth0 to 255.255.255.255 port 67 (xid=0x6d8d1a)
Jun  7 19:36:15 hhr-prd-be1 dhclient: DHCPOFFER of 192.168.1.32 from
192.168.1.1
Jun  7 19:36:15 hhr-prd-be1 dhclient: DHCPACK of 192.168.1.32 from
192.168.1.1
Jun  7 19:36:15 hhr-prd-be1 dhclient: bound to 192.168.1.32 -- renewal
in 34193 seconds.
DHCPREQUEST(tap347066a3-42) 192.168.1.33 fa:16:3e:5c:2e:fc
Jun  7 09:34:00 dp-c2-bl16 dnsmasq-dhcp[27774]: DHCPACK(tap347066a3-42)
192.168.1.33 fa:16:3e:5c:2e:fc host-192-168-1-33
DHCPREQUEST(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56
Jun  7 09:34:25 dp-c2-bl16 dnsmasq-dhcp[27774]: DHCPACK(tap347066a3-42)
192.168.1.32 fa:16:3e:76:aa:56 host-192-168-1-32
DHCPREQUEST(tap347066a3-42) 192.168.1.33 fa:16:3e:5c:2e:fc
Jun  7 19:13:38 dp-c2-bl16 dnsmasq-dhcp[27774]: DHCPACK(tap347066a3-42)
192.168.1.33 fa:16:3e:5c:2e:fc host-192-168-1-33
DHCPREQUEST(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56
Jun  7 19:36:15 dp-c2-bl16 dnsmasq-dhcp[27774]: DHCPACK(tap347066a3-42)
192.168.1.32 fa:16:3e:76:aa:56 host-192-168-1-32
DHCPDISCOVER(tap347066a3-42) fa:16:3e:76:aa:56
DHCPOFFER(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56
DHCPREQUEST(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56
Jun  7 19:36:15 dp-c2-bl16 dnsmasq-dhcp[27774]: DHCPACK(tap347066a3-42)
192.168.1.32 fa:16:3e:76:aa:56 host-192-168-1-32
DHCPREQUEST(tap347066a3-42) 192.168.1.33 fa:16:3e:5c:2e:fc
Jun  7 09:34:00 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPACK(tap347066a3-42)
192.168.1.33 fa:16:3e:5c:2e:fc host-192-168-1-33
DHCPREQUEST(tap347066a3-42) 192.168.1.33 fa:16:3e:5c:2e:fc
Jun  7 09:34:16 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPACK(tap347066a3-42)
192.168.1.33 fa:16:3e:5c:2e:fc host-192-168-1-33
DHCPREQUEST(tap347066a3-42) 192.168.1.33 fa:16:3e:5c:2e:fc
Jun  7 19:13:38 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPACK(tap347066a3-42)
192.168.1.33 fa:16:3e:5c:2e:fc host-192-168-1-33
DHCPREQUEST(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56
Jun  7 19:36:15 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPNAK(tap347066a3-42)
192.168.1.32 fa:16:3e:76:aa:56 lease not found
DHCPDISCOVER(tap347066a3-42) fa:16:3e:76:aa:56
Jun  7 19:36:15 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPOFFER(tap347066a3-42)
192.168.1.32 fa:16:3e:76:aa:56
DHCPREQUEST(tap347066a3-42) 192.168.1.32 fa:16:3e:76:aa:56
Jun  7 19:36:15 dp-c1-bl16 dnsmasq-dhcp[635]: DHCPACK(tap347066a3-42)
192.168.1.32 fa:16:3e:76:aa:56 host-192-168-1-32
Jun  7 19:36:15 hhr-prd-be1 dhclient: DHCPREQUEST of 192.168.1.32 on
eth0 to 192.168.1.1 port 67 (xid=0x196ca4cf)
why the 192.168.1.2 is sending the NACK in this case?
Thank you,
Laszlo
_______________________________________________
Dnsmasq-discuss mailing list
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
_______________________________________________
Dnsmasq-discuss mailing list
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
Loading...