Usage of dhcpClass to overcome the duplicate address assignment problem in PXE boot workstations
The Preboot execution environment is an environment to boot computers using a network interface independently using the available data storage devices (like hard disks) or installed operating systems.
If the workstation is PXE boot, then it gets an address from the dhcp server. During the PXE boot, the client-identifier is not sent to the dhcp server. So the server creates a lease entry without the client-identifier value.
After the client loads up the operating system, the dhcp server again gives away the IP to the client. Thus for every single workstation, two IP addresses are offered. Hence, sometimes all the IP’s get exhausted although effectively only half are being used.
To over come this, a solution is proposed as below:
- Create a class using iManager or Java console. For Example: PXE
- Click modify class option and type the following in the conditional expression field:
match if option dhcp-client-identifier = null
- Create 2 pools. Example: Pool1 and Pool2.
- Select any pool. Example: Pool1.
- Set the default lease time to double the time taken by the client to boot.
- Select the other Pool. Example: Pool2.
- Add the class PXE in the denied classes section of this pool.
(Server renews the leases after half the default-lease-time).
This achieves the following functionality:
- During PXE boot, Pool2 never leases any IP. So this pool remains intact to serve the normal (non pxe boot) clients.
- Only Pool1 leases IPs during PXE boot and the lease expires soon after the client boots up. Hence these IPs are available soon.