DHCP Server providing incorrect IP for subnet

Greetings, I will try to be as simple yet detailed as possible, but I am at a loss as to the cause of the issues I’m facing with my DHCP server config in OpenSuse Leap 15.5. I have just completed a year long project to replace old Windows servers with OpenSuse servers for DHCP and DNS.

The network uses a core switch for layer 3 routing and IP helper. I have setup multiple subnets in the DHCP server that match the VLAN subnets. Here are the issues I am facing:

  • One of the subnets originally had a range to hand out IPs from .10 - .89.
  • I edited that range in the config to hand out .140 - .250 instead, however the server keeps trying to hand out IPs in the old range, even though I have restarted the service.
  • I have created hosts entries in this subnet to reserve IPs to MAC addresses, however those are ignored and the device with that MAC addresses is given a different IP.

I know there can be other variables causing this behavior, and I am willing to provide parts of my DHCP config. At least I wanted to provide this initial information to ask for any insight. I did replicate this setup in a test environment, but of course it worked as expected then.

Hello and welcome to the openSUSE forums.

I am in no way affluent in the DHCP server(s) that can be used on openSUSE, but I can imagine, that talking about the software you use and it’s configuration, it will be very helpful to your potential helpers if you mention which software (package?) you use and show the configuration. That will make the mutual understanding much better I assume.

Can you post your config file?

Thank you for your patient with my super-late-night-frustrated post about this. The brain doesn’t want to function so well.

OpenSuse 15.5 Leap uses the ISC DHCP server. I have used the Yast DHCP config tool in expert mode. I will post a second reply with the current config.

I apologize for this being so long, but here is the contents of my dhcpd.conf file:

option domain-name "eca.local";
option domain-name-servers 192.168.2.10, 192.168.2.12;
option routers 192.168.2.20;
option ntp-servers 192.168.2.10;
option lpr-servers 192.168.2.12;
option netbios-name-servers 192.168.2.12;
ddns-update-style none;
default-lease-time 28800;
authoritative ;
subnet 192.168.2.0 netmask 255.255.254.0 {
  option ntp-servers 192.168.2.10;
  range 192.168.3.10 192.168.3.200;
  default-lease-time 28800;
  max-lease-time 172800;
  host Springfield-EMM-POS2 {
    fixed-address 192.168.2.246;
    hardware ethernet 6c:0b:84:6d:01:f7;
  }
  host Springfield-EMM-POS1 {
    fixed-address 192.168.2.247;
    hardware ethernet a4:34:d9:3d:c9:da;
  }
  host ECA-SnipeIT {
    fixed-address 192.168.2.72;
    hardware ethernet 00:15:5d:02:05:07;
  }
  host ReachFoyerSign {
    fixed-address 192.168.2.75;
    hardware ethernet 94:c6:91:18:4d:6d;
  }
}
subnet 192.168.20.0 netmask 255.255.254.0 {
  option routers 192.168.20.1;
  option tftp-server-name "http://b26b04dc:d4f7a3544b16ad60@192.168.20.5:84";
  option ntp-servers 192.168.2.10;
  range 192.168.20.11 192.168.20.150;
  default-lease-time 28800;
  max-lease-time 172800;
  host FreePBX {
    fixed-address 192.168.20.5;
    hardware ethernet 00:1b:78:42:db:74;
  }
  host GrandstreamHT813 {
    fixed-address 192.168.20.6;
    hardware ethernet 00:0b:82:e9:e9:94;
  }
}
subnet 192.168.30.0 netmask 255.255.254.0 {
  option routers 192.168.30.1;
  option bootfile-name "ipxe.efi";
  option tftp-server-name "192.168.2.19";
  option ntp-servers 192.168.2.10;
  default-lease-time 604800;
  range 192.168.30.11 192.168.30.250;
  range 192.168.31.11 192.168.31.240;
  filename "unidionly.kpxe";
  next-server 192.168.2.19;
  allow booting;
  allow bootp;
  host ECA-IT02 {
    fixed-address 192.168.30.11;
    hardware ethernet 9c:8e:99:f1:64:31;
  }
  host JohnLaptop {
    fixed-address 192.168.30.12;
    hardware ethernet c0:3e:ba:a5:ca:01;
  }
  host JohnXPS15 {
    fixed-address 192.168.30.13;
    hardware ethernet 74:78:27:ae:9e:d0;
  }
  host RichardDellDock {
    fixed-address 192.168.30.15;
    hardware ethernet 9c:eb:e8:66:37:05;
  }
  host TrippLiteUSBDongle {
    fixed-address 192.168.30.23;
    hardware ethernet a0:ce:c8:0e:00:85;
  }
  host ECA-IT {
    fixed-address 192.168.30.26;
    hardware ethernet 24:be:05:1d:46:1e;
  }
  host JohnXPS152 {
    fixed-address 192.168.30.32;
    hardware ethernet 70:88:6b:86:b7:ac;
  }
  host JohnXPS153 {
    fixed-address 192.168.30.33;
    hardware ethernet 70:88:6b:83:7d:38;
  }
  host Room212SpecialPrinter {
    fixed-address 192.168.30.120;
    hardware ethernet f4:30:b9:ef:bc:5d;
  }
  host ECA-IT-Mac {
    fixed-address 192.168.30.130;
    hardware ethernet c4:2c:03:1c:ce:8e;
  }
  host ECACHAP-03 {
    fixed-address 192.168.30.16;
    hardware ethernet 3c:cd:36:69:ae:73;
  }
  host X32 {
    fixed-address 192.168.30.17;
    hardware ethernet 00:15:64:08:f8:5e;
  }
  host businessoffice1 {
    fixed-address 192.168.30.67;
    hardware ethernet 88:51:fb:68:c6:d6;
  }
  host businessoffice2 {
    hardware ethernet b8:ca:3a:95:38:0f;
    fixed-address 192.168.30.55;
  }
  host businessoffice3 {
    hardware ethernet 78:e7:d1:cc:3b:69;
    fixed-address 192.168.30.48;
  }
}
subnet 192.168.40.0 netmask 255.255.254.0 {
  option routers 192.168.40.1;
  option ntp-servers 192.168.2.10;
  default-lease-time 604800;
  range 192.168.40.11 192.168.40.250;
  range 192.168.41.5 192.168.41.250;
  host ECASIGN-03 {
    fixed-address 192.168.40.5;
    hardware ethernet ac:7b:a1:e8:1b:ec;
  }
  host ECASIGN-02 {
    fixed-address 192.168.40.6;
    hardware ethernet ac:7b:a1:bc:85:e5;
  }
  host ADLAPTOP {
    fixed-address 192.168.40.13;
    hardware ethernet 9c:b7:0d:2a:6b:54;
  }
  host android-7a98495cd6c8fb1b {
    fixed-address 192.168.40.61;
    hardware ethernet dc:0b:34:bb:c2:99;
  }
  host eca-Zorin-G570 {
    fixed-address 192.168.40.66;
    hardware ethernet 9c:b7:0d:2a:3b:8e;
  }
}
subnet 192.168.60.0 netmask 255.255.254.0 {
  option routers 192.168.60.1;
  option ntp-servers 192.168.2.10;
  default-lease-time 604800;
  range 192.168.60.11 192.168.60.254;
}
subnet 192.168.70.0 netmask 255.255.254.0 {
  option routers 192.168.70.1;
  option ntp-servers 192.168.2.10;
  default-lease-time 43200;
  range 192.168.70.10 192.168.70.254;
  range 192.168.71.10 192.168.71.254;
}
subnet 192.168.80.0 netmask 255.255.255.0 {
  option routers 192.168.80.1;
  option ntp-servers 192.168.2.10;
  range 192.168.80.140 192.168.80.250;
  default-lease-time 604800;
  allow unknown-clients;
  allow client-updates;
  host CafeteriaHall {
    fixed-address 192.168.80.10;
    hardware ethernet 74:83:C2:CF:57:13;
  }
  host CafeLunchLine {
    fixed-address 192.168.80.11;
    hardware ethernet 74:83:C2:CF:56:AD;
  }
  host KitchenEntrance {
    fixed-address 192.168.80.12;
    hardware ethernet 74:83:C2:CF:57:FE;
  }
  host ClinicHallway {
    fixed-address 192.168.80.13;
    hardware ethernet 74:83:C2:CF:57:E5;
  }
  host ClinicHallOutsideDoor {
    fixed-address 192.168.80.14;
    hardware ethernet 74:83:C2:CF:58:30;
  }
  host CustodialFirst {
    fixed-address 192.168.80.15;
    hardware ethernet 18:E8:29:9F:8F:30;
  }
  host FineArtsHall {
    fixed-address 192.168.80.16;
    hardware ethernet 18:E8:29:6F:B2:F6;
  }
  host LockerRoomLib {
    fixed-address 192.168.80.17;
    hardware ethernet 74:83:C2:CF:57:DD;
  }
  host EdWingEntry2nd {
    fixed-address 192.168.80.18;
    hardware ethernet 18:E8:29:6F:B2:B6;
  }
  host RestroomFirst {
    fixed-address 192.168.80.19;
    hardware ethernet 18:E8:29:6F:B2:B6;
  }
  host MainSouth {
    fixed-address 192.168.80.20;
    hardware ethernet 74:83:C2:CF:56:A6;
  }
  host EdWing203204 {
    fixed-address 192.168.80.21;
    hardware ethernet 18:E8:29:6F:AC:B9;
  }
  host EdWing201202 {
    fixed-address 192.168.80.22;
    hardware ethernet 18:E8:29:6F:B2:36;
  }
  host EdWingEntrySecond {
    fixed-address 192.168.80.23;
    hardware ethernet 18:E8:29:6F:B2:EE;
  }
  host ChoirRoom {
    fixed-address 192.168.80.24;
    hardware ethernet 18:E8:29:6F:B2:42;
  }
  host Atrium214 {
    fixed-address 192.168.80.25;
    hardware ethernet 74:83:C2:CF:57:0F;
  }
  host PlaygroundDoor {
    fixed-address 192.168.80.26;
    hardware ethernet 18:E8:29:9F:8D:37;
  }
  host BandStairwell {
    fixed-address 192.168.80.27;
    hardware ethernet 74:83:C2:CF:54:FB;
  }
  host MainStairs {
    fixed-address 192.168.80.28;
    hardware ethernet 74:83:C2:CF:56:A0;
  }
  host MainWest {
    fixed-address 192.168.80.29;
    hardware ethernet 74:83:C2:CF:57:59;
  }
  host StairwellEntrySecond {
    fixed-address 192.168.80.30;
    hardware ethernet 18:E8:29:6F:B0:31;
  }
  host LobbyMain {
    fixed-address 192.168.80.31;
    hardware ethernet 74:83:C2:CF:56:BC;
  }
  host EndEdWingStairSecond {
    fixed-address 192.168.80.32;
    hardware ethernet 18:E8:29:6F:AD:A2;
  }
  host ElevatorSecond {
    fixed-address 192.168.80.33;
    hardware ethernet 74:83:C2:CF:56:B7;
  }
  host BoilerRoom {
    fixed-address 192.168.80.34;
    hardware ethernet 18:E8:29:9F:90:B9;
  }
  host AtriumArtLanding {
    fixed-address 192.168.80.35;
    hardware ethernet 74:83:C2:CF:56:E2;
  }
  host BandHall {
    fixed-address 192.168.80.36;
    hardware ethernet 18:E8:29:6F:AD:9E;
  }
  host UpperHallway {
    fixed-address 192.168.80.37;
    hardware ethernet 18:E8:29:6F:B2:54;
  }
  host AirHandler {
    fixed-address 192.168.80.38;
    hardware ethernet 18:E8:29:6F:B3:55;
  }
  host EdWingLockersFirst {
    fixed-address 192.168.80.39;
    hardware ethernet 18:E8:29:9F:8B:15;
  }
  host EdWing103104 {
    fixed-address 192.168.80.40;
    hardware ethernet 18:E8:29:9F:8B:19;
  }
  host EdWing101102 {
    fixed-address 192.168.80.41;
    hardware ethernet 18:E8:29:9F:8C:CA;
  }
  host EdWing107108 {
    fixed-address 192.168.80.42;
    hardware ethernet 18:E8:29:9F:90:E3;
  }
  host EdWing105106 {
    fixed-address 192.168.80.43;
    hardware ethernet 18:E8:29:9F:91:1C;
  }
  host EdWing111112 {
    fixed-address 192.168.80.44;
    hardware ethernet 18:E8:29:9F:8C:6C;
  }
  host UpperRestroom201 {
    fixed-address 192.168.80.45;
    hardware ethernet 18:E8:29:6F:AB:F0;
  }
  host EndEdWingFirstOutside {
    fixed-address 192.168.80.46;
    hardware ethernet 18:E8:29:9F:8A:EB;
  }
  host EdWingEntranceFirst {
    fixed-address 192.168.80.47;
    hardware ethernet 18:E8:29:9F:8C:C8;
  }
  host LibGymHall {
    fixed-address 192.168.80.48;
    hardware ethernet 18:E8:29:9F:91:3C;
  }
  host TeacherLounge {
    fixed-address 192.168.80.49;
    hardware ethernet 74:83:C2:CF:56:BB;
  }
  host Room220 {
    fixed-address 192.168.80.50;
    hardware ethernet 18:E8:29:6F:AC:3E;
  }
  host Atrium213 {
    fixed-address 192.168.80.51;
    hardware ethernet 18:E8:29:6F:AB:CF;
  }
  host EdWing207208 {
    fixed-address 192.168.80.52;
    hardware ethernet 18:E8:29:6F:AF:AF;
  }
  host EdWing205206 {
    fixed-address 192.168.80.53;
    hardware ethernet 18:E8:29:6F:B2:F2;
  }
  host EdWing211212 {
    fixed-address 192.168.80.54;
    hardware ethernet 18:E8:29:6F:B3:B5;
  }
  host EdWing209210 {
    fixed-address 192.168.80.55;
    hardware ethernet 18:E8:29:6F:AD:4A;
  }
  host BandRoomStair {
    fixed-address 192.168.80.56;
    hardware ethernet 18:E8:29:6F:B3:A5;
  }
  host EdWingStairSecond {
    fixed-address 192.168.80.57;
    hardware ethernet 18:E8:29:6F:B2:EA;
  }
  host Garage {
    fixed-address 192.168.80.58;
    hardware ethernet 18:E8:29:9F:18:B0;
  }
  host ElevatorFirst {
    fixed-address 192.168.80.59;
    hardware ethernet 18:E8:29:6F:B9:6A;
  }
  host PlaygroundStairSecond {
    fixed-address 192.168.80.60;
    hardware ethernet 18:E8:29:6F:B2:F3;
  }
  host LockerRoomStage {
    fixed-address 192.168.80.61;
    hardware ethernet 74:83:C2:CF:57:0A;
  }
  host KitchenBackDoor {
    fixed-address 192.168.80.62;
    hardware ethernet 74:83:C2:CF:57:D4;
  }
  host EdWingStairFirst {
    fixed-address 192.168.80.63;
    hardware ethernet 18:E8:29:9F:8A:FA;
  }
  host LockerRoomCenter {
    fixed-address 192.168.80.64;
    hardware ethernet 74:83:C2:CF:56:B9;
  }
  host PlaygroundStairFirst {
    fixed-address 192.168.80.65;
    hardware ethernet 18:E8:29:9F:8D:49;
  }
  host BandStairFirst {
    fixed-address 192.168.80.66;
    hardware ethernet 74:83:C2:CF:56:EE;
  }
  host GymBleacher {
    fixed-address 192.168.80.67;
    hardware ethernet 74:83:C2:8F:97:64;
  }
  host StageGym {
    fixed-address 192.168.80.68;
    hardware ethernet 18:E8:29:9F:16:6E;
  }
  host EdWing109110 {
    fixed-address 192.168.80.69;
    hardware ethernet 18:E8:29:9F:8E:97;
  }
  host Playground1 {
    fixed-address 192.168.80.70;
    hardware ethernet 74:83:C2:8F:96:A3;
  }
  host GymStage {
    fixed-address 192.168.80.71;
    hardware ethernet 74:83:C2:8F:50:73;
  }
  host DropOffEntrance {
    fixed-address 192.168.80.72;
    hardware ethernet 74:83:C2:8F:93:A3;
  }
  host ParkingLotEntrance {
    fixed-address 192.168.80.73;
    hardware ethernet 74:83:C2:8F:94:0C;
  }
  host ServerRoom {
    fixed-address 192.168.80.74;
    hardware ethernet 18:E8:29:9F:8D:59;
  }
  host CafeGarage {
    fixed-address 192.168.80.75;
    hardware ethernet 74:83:C2:8F:97:E8;
  }
  host ParkingLot2 {
    fixed-address 192.168.80.76;
    hardware ethernet 74:83:C2:8F:58:65;
  }
  host ParkingLot1 {
    fixed-address 192.168.80.77;
    hardware ethernet 74:83:C2:8F:93:AF;
  }
  host CafeStage {
    fixed-address 192.168.80.78;
    hardware ethernet 74:83:C2:8F:4E:D3;
  }
  host Playground2 {
    fixed-address 192.168.80.79;
    hardware ethernet 74:83:C2:8F:96:D4;
  }
  host AdminHall {
    fixed-address 192.168.80.80;
    hardware ethernet 74:83:C2:CF:54:CF;
  }
  host WeightRoom {
    fixed-address 192.168.80.81;
    hardware ethernet 74:83:C2:CF:54:F5;
  }
  host StageStorage {
    fixed-address 192.168.80.82;
    hardware ethernet 18:E8:29:9F:13:60;
  }
  host CafeVending {
    fixed-address 192.168.80.83;
    hardware ethernet 74:83:C2:2F:9D:8E;
  }
  host Elevator {
    fixed-address 192.168.80.84;
    hardware ethernet 74:83:C2:CF:9F:3A;
  }
  host OutsideLower {
    fixed-address 192.168.80.85;
    hardware ethernet 74:83:C2:2F:9D:27;
  }
  host OutsideDropOff {
    fixed-address 192.168.80.86;
    hardware ethernet 74:83:C2:2F:9D:1F;
  }
  host UpperRestroom {
    fixed-address 192.168.80.87;
    hardware ethernet E0:63:DA:AF:3C:C6;
  }
  host Bleacher1 {
    fixed-address 192.168.80.88;
    hardware ethernet 68:D7:9A:E5:35:8B;
  }
  host Bleacher2 {
    fixed-address 192.168.80.89;
    hardware ethernet 68:D7:9A:E5:35:B9;
  }
  host ECA-NVR01 {
    fixed-address 192.168.80.5;
    hardware ethernet e4:38:83:56:ff:cf;
  }
  host ECA-NVR02 {
    fixed-address 192.168.80.101;
    hardware ethernet e4:38:83:56:fe:bf;
  }
}

You forgot to tell which subnet in this configuration file has problems.

Here are a couple of screenshots showing the errors that I was talking about. As you can see in the .80.x subnet, the range I specified starts at .140.

The screenshot of the dhcpd log shows a device being handed a 80.25 address, which is not only reserved but also outside of the range. The screenshot from the dhcpd.leases file shows a different IP that the server tried to provide. This just doesn’t make sense.

The log shows a DISCOVER request from 80.1, which is the gateway IP from the core layer 3 switch.

dhcploglease

I was already in the process of providing that information with screenshots when your reply came in. You just beat me to it.

The first screenshot shows lease for the IP 80.55 and unknown hardware address; the second shows some logs for the IP 80.25. How are they related?

The log is printed when dhcpd found an existing lease or allocated new one. You configuration shows 7 days lease for the subnet 192.168.80.0 so it is quite possible some non-expired lease still exists for this address.

Finally, please, do not show textual information as image. It makes it impossible to search or quote it.

These two IPs are related because the same device kept requesting an IP. These are two IPs that the server tried to provide but couldn’t because they were already used by other devices. Still, the server shouldn’t have tried to provide those IPs in the first place since they are outside of the range.

I understand, but at the moment of creating my previous post a screenshot was my only option to obtain that information due to remote access restrictions.