This printer always gets this IP
Add a reservation: IP plus MAC (or client-id). That row is the next Offer. Helpdesk and dhcpd are looking at the same catalog — not a sheet of used IPs in one place and a scope in another.
Product / IPAM
Prefixes, subnets, pools, reservations, assignments, and leases are one catalog. dhcpd serves those rows. The plan you save is the address dhcpd will grant.
Add a reservation: IP plus MAC (or client-id). That row is the next Offer. Helpdesk and dhcpd are looking at the same catalog — not a sheet of used IPs in one place and a scope in another.
Add an assignment: IP plus hostname, no MAC. It sits on the same map as reservations. It counts on the license. A ping that answers is not “free.”
Mark the subnet tracking-only. No pool. Put the static servers on the map. Next free IP still comes from the plan. Prefixes, DHCP subnets, and server networks live in one tree.
As of on the address map. Occupancy is who held each address at the end of that day on this computer. Reservations, assignments, and excludes on that map are the current plan, not time-travel. A prefix is not a History paste — open the subnet.
| Object | What it is |
|---|---|
| prefix | A block on the drawing. It can exist without ever being a DHCP scope. |
| subnet | The L3 network. DHCP (needs a pool) or tracking-only (static servers on the map). |
| pool | The dynamic range. Offers start when a pool exists. |
| reservation | This DHCP client always gets this IP. Needs MAC, DUID, or client-id. Counts on the license. |
| assignment | Static server. IP + hostname. Counts on the license. A reply to ping is not a free address. |
| exclude | Gateway, VIP, a hole with no identity. Never offered. Does not count as a managed IP. |
| lease | What dhcpd handed out. On the same map as the plan. |
Managed IPs = leased + reserved + quarantined + assigned. Prefix size is not the meter. A /16 with 200 live addresses is 200. Assignments on a tracking VLAN count the same as a lease.
Map a dump of Microsoft, ISC, or Kea to prefix, subnet, pool, and reservation, then POST /api/v1. Playbook: Migrate.