Thanks for your help buddy.
My config for the 2 subnets (from dhcpd.conf) :
subnet 10.1.1.0 netmask 255.255.255.0 #GREEN
{
pool {
range 10.1.1.100 10.1.1.149;
}
option subnet-mask 255.255.255.0;
option domain-name "MyLAN";
option routers 10.1.1.250;
option domain-name-servers 10.1.1.250, 1.1.1.2;
option ntp-servers 10.1.1.250;
default-lease-time 3600;
max-lease-time 7200;
} #GREEN
subnet 10.0.0.0 netmask 255.255.255.0 #BLUE
{
pool {
range 10.0.0.100 10.0.0.200;
}
option subnet-mask 255.255.255.0;
option domain-name "MyWLAN";
option routers 10.0.0.250;
option domain-name-servers 10.0.0.250, 1.1.1.2;
option ntp-servers 10.0.0.250;
default-lease-time 3600;
max-lease-time 7200;
} #BLUE
And the static mapping for the Laptop (in GREEN), bottom of same config file:
host fix0 # MacBook
{
hardware ethernet 0c:4d:e9:xx:xx:xx;
fixed-address 10.1.1.115;
}
And, following your hint using:
tail -f /var/log/messages | grep dhcpd
I get this:
[root@ipfire ~]# tail -f /var/log/messages | grep dhcpd
Jun 21 12:27:22 ipfire dhcpd: DHCPDISCOVER from 0c:4d:e9:xx:xx:xx (MacBook) via blue0
Jun 21 12:27:22 ipfire dhcpd: uid lease 10.1.1.115 for client 0c:4d:e9:xx:xx:xx is duplicate on 10.1.1.0/24
Jun 21 12:27:22 ipfire dhcpd: DHCPDISCOVER from 0c:4d:e9:xx:xx:xx via green0
Jun 21 12:27:22 ipfire dhcpd: DHCPOFFER on 10.1.1.115 to 0c:4d:e9:xx:xx:xx via green0
Jun 21 12:27:23 ipfire dhcpd: DHCPOFFER on 10.0.0.108 to 0c:4d:e9:xx:xx:xx (MacBook) via blue0
Jun 21 12:27:23 ipfire dhcpd: Dynamic and static leases present for 10.1.1.115.
Jun 21 12:27:23 ipfire dhcpd: Remove host declaration fix0 or remove 10.1.1.115
Jun 21 12:27:23 ipfire dhcpd: from the dynamic address pool for 10.1.1.0/24
Jun 21 12:27:23 ipfire dhcpd: uid lease 10.1.1.115 for client 0c:4d:e9:xx:xx:xx is duplicate on 10.1.1.0/24
Jun 21 12:27:23 ipfire dhcpd: DHCPREQUEST for 10.1.1.115 (10.1.1.250) from 0c:4d:e9:xx:xx:xx via blue0: wrong network.
Jun 21 12:27:23 ipfire dhcpd: DHCPNAK on 10.1.1.115 to 0c:4d:e9:xx:xx:xx via blue0
Jun 21 12:27:23 ipfire dhcpd: Dynamic and static leases present for 10.1.1.115.
Jun 21 12:27:23 ipfire dhcpd: Remove host declaration fix0 or remove 10.1.1.115
Jun 21 12:27:23 ipfire dhcpd: from the dynamic address pool for 10.1.1.0/24
Jun 21 12:27:23 ipfire dhcpd: uid lease 10.1.1.115 for client 0c:4d:e9:xx:xx:xx is duplicate on 10.1.1.0/24
Jun 21 12:27:23 ipfire dhcpd: execute_statement argv[0] = /usr/sbin/unbound-dhcp-leases-client
Jun 21 12:27:23 ipfire dhcpd: execute_statement argv[1] = commit
Jun 21 12:27:23 ipfire dhcpd: execute_statement argv[2] = ADDRESS=10.1.1.115
Jun 21 12:27:23 ipfire dhcpd: execute_statement argv[3] = NAME=MacBook
Jun 21 12:27:23 ipfire dhcpd: DHCPREQUEST for 10.1.1.115 (10.1.1.250) from 0c:4d:e9:xx:xx:xx via green0
Jun 21 12:27:23 ipfire dhcpd: DHCPACK on 10.1.1.115 to 0c:4d:e9:xx:xx:xx via green0
So, if I see this right, then the first discover packet seems to come in on the BLUE.
Then a moment later there is another discover packet received in GREEN.
However, there a offer packets apparently sent on GREEN and BLUE, which might just result in a race condition. Whatever offer is reaching the client first. Do I interpret this right?
And then it seems to sort out the mess. (Request with the fix on the wrong net, and the at the bottom the correct request and ack packages.
Any idea on how to sort that out?