After install and first login. Open the console at http://127.0.0.1:8080/. You must be admin.
1. Prefix
Plan (/plan) → add a prefix:

- CIDR:
10.20.0.0/16 - Description:
lab
Prefixes are the addressing plan. They are not the DHCP scope.
2. Subnet
Still on Plan, add a subnet under that prefix:
- CIDR:
10.20.20.0/24 - Gateway:
10.20.20.1 - Site:
lab(optional)
Open the subnet. Set lease time if you want something other than 86400s. Leave DDNS off until BIND or embedded DNS is ready.
3. Exclude the gateway
On the subnet, Excludes → start 10.20.20.1, end blank (same as start). Save. The allocator will never offer the gateway.
4. Pool
Pools → name dynamic, start 10.20.20.10, end 10.20.20.200, class empty (any client). Save.
IPv4 inventory expands at most 65,536 addresses. This /24 is fine.
5. Prove DHCP
From the product repo, with compose still up:
make build
./bin/lattice-dhcptest -server 127.0.0.1:6767 -server2 127.0.0.1:6768 -giaddr 10.20.20.1 -n 5
-giaddr must sit in the subnet CIDR. Discover goes to dhcp-a, Request to dhcp-b. One lease row.
Open Leases (/leases) and Overview (/). You should see leased counts and a recent lease. If not: No Offer.
Next
- Reservation for a printer
- Options (DNS servers, domain name)
- NTP (option 42)
- Relays when you leave the lab