18.1.7 not handing dhcp leases to Windows client's, Mac & Linux are fine

Started by mircsicz, May 07, 2018, 09:58:17 AM

Previous topic - Next topic
We're having issue's with one router where Windows client's are not receiving their leases:


May 7 09:56:03 dhcpd: DHCPACK to 10.xx.yy.77 (80:fa:5b:57:11:18) via igb1
May 7 09:56:03 dhcpd: DHCPINFORM from 10.xx.yy.77 via igb1
May 7 09:56:03 dhcpd: DHCPACK on 10.xx.yy.77 to 80:fa:5b:57:11:18 via igb1
May 7 09:56:03 dhcpd: DHCPREQUEST for 10.xx.yy.77 (10.xx.yy.1) from 80:fa:5b:57:11:18 via igb1
May 7 09:56:03 dhcpd: DHCPOFFER on 10.xx.yy.77 to 80:fa:5b:57:11:18 via igb1
May 7 09:56:03 dhcpd: DHCPDISCOVER from 80:fa:5b:57:11:18 via igb1


Windows only get's himself a 169 IP and if reboot into Linux I see the same log entry but Linux set the correct IP. As this is over several Windows machines I don't have a clue what this is about...



You're not using DHCP Relay Agent by any chance?
Hobbyist at home, sysadmin at work. Sometimes the first is mixed with the second.


Reason I asked is that when searching for an answer, I only saw it mentioned with Windows clients and DHCP Relay Agent, but linux working just fine.

I don't have a solution for your, I'm afraid. I don't use the DCHP server in OPNsense.
Hobbyist at home, sysadmin at work. Sometimes the first is mixed with the second.

The weird thing is the log for a Linux device is exactly the same...

Don't have deny unknown hosts or any VLANS going on that would block the traffic?

No 'deny unknown' option isn't set... And there are no VLAN's

root@router:/home/mirco # ps ax | grep dhcp
16133  -  Ss      24:24.10 /usr/local/sbin/syslogd -s -c -c -P /var/run/syslog.pid -l /var/dhcpd/var/run/log -f /var/etc/syslog.conf
16760  -  Is       0:08.67 /usr/local/sbin/dhcpd -user dhcpd -group dhcpd -chroot /var/dhcpd -cf /etc/dhcpd.conf -pf /var/run/dhcpd.pid igb1
19699  -  Ss       4:40.53 /usr/local/bin/python2.7 /usr/local/opnsense/scripts/dns/unbound_dhcpd.py /domain it.lan


But as /etc/dhcpd.conf doesn't exist I can't paste the detailed config

It's just chroot so you can find the conf at:

cat /var/dhcpd/etc/dhcpd.conf

From the log you are seeing, there is an ACK from the client accepting it which is the strange part. The other clients are working, which makes me think your config is ok.

Are you seeing anything else in the log? I unfortunately have 0 Windows machines in the house so I can't test it :(

Didn't realize the chroot, THX...


option domain-name "it.lan";
option ldap-server code 95 = text;
option domain-search-list code 119 = text;
option arch code 93 = unsigned integer 16; # RFC4578
option custom-lan-0 code 121 = string;

default-lease-time 7200;
max-lease-time 86400;
log-facility local7;
one-lease-per-client true;
deny duplicates;
ping-check true;
update-conflict-detection false;
authoritative;

subnet 10.10.254.0 netmask 255.255.255.0 {
  pool {
    range 10.10.254.101 10.10.254.250;
  }

  option routers 10.10.254.1;
  option domain-name-servers 10.10.254.1;
  option ntp-servers 10.10.254.1;
  option tftp-server-name "10.10.254.4";

  option custom-lan-0 1c:ac:0a:00:0a:0a:0a:01;
  next-server 10.10.254.4;
  filename "linux/pxelinux.0";
}

host s_lan_0 {
  hardware ethernet a8:60:b6:3a:12:64;
  fixed-address 10.10.254.76;
  option host-name "MacBook-Pro-TB";
}


I'ld not be suprised if it's a simple windows issue, but with half a dozen machine's at the same time over different patch level's...

Quote from: mircsicz on May 07, 2018, 09:58:17 AM
We're having issue's with one router where Windows client's are not receiving their leases:

Windows only get's himself a 169 IP and if reboot into Linux I see the same log entry but Linux set the correct IP. As this is over several Windows machines I don't have a clue what this is about...

try to ad in:
/usr/local/etc/inc/services.inc at line 446 after "authoritative;"


ignore client-updates;
ddns-updates on; //if use ddns,


..end /usr/local/etc/rc.d/isc-dhcpd restart




THX, made the change... But as of the holiday we've in Germany I won't be able to report back till tomorow or monday. ;-)