phpIPAM vs DHCP

phpIPAM is good at prefixes. It is not your DHCP. A reservation there is a comment until something syncs it — and on a busy Tuesday, that sync is often “we’ll build it later.” In Lattice the write is the next Discover. One catalog. You keep AD, Unbound, or BIND.

On-prem · Ubuntu tarball · Community: 1,000 managed IPs · No phone-home

Community is the install with no license file. A 30-day Starter trial is in the portal. List prices are on Pricing.

The plan usually lives in a sheet (or phpIPAM). Offers still come from Windows, ISC, or Kea. You keep those stories aligned yourself.

Prefixes, pools, reservations, and leases are one catalog. dhcpd serves those rows; the console writes them. There is no second copy to sync. A/PTR follow the grant into the DNS you already run — Ack does not wait on a nameserver.

Cutover

Lattice is not a phpIPAM clone. It is not your DNS. It will not import your phpIPAM database as a dump-and-run. Prefixes and subnets you care about get mapped and POSTed. Devices that must keep an IP become reservations. Your existing DHCP is what you turn off at cutover, not phpIPAM’s ping scan.

Playbook: Migrate · HA is not Microsoft failover — three-node VIP.

A Tuesday after cutover

Office trusts the sheet because it looks authoritative. Networking trusts DHCP because packets don’t lie. When a printer MAC changes, those two stories diverge. Lattice collapses that: helpdesk search and the Offer read the same row.

phpIPAM (+ your DHCP) compared with Lattice
TopicphpIPAM (+ your DHCP)Lattice
Plan and leasesIPAM sheet; DHCP is still Windows/ISC/KeaOne catalog
Scale-out / failoverWhatever your DHCP doesSame pool on every node (Starter: extra dhcpd + three-node VIP). A 30-day Starter trial is in the portal.
Find a MACphpIPAM search ≠ live leaseConsole search
Who held this IPPing scan / last seen — not the grantEvery hold. As-of a day. CSV.
DNSNot the resolver (same as Lattice)A/PTR after Ack into DNS you keep
CutoverMap prefixes/subnets you care about; turn off the DHCP server at cutover, not phpIPAM’s ping scanDump → map → API

What hurts in phpIPAM

The plan is not the grant

phpIPAM holds prefixes. Windows, ISC, or Kea still Offers. A reservation in phpIPAM is a comment until something syncs it.

Used is a ping or a note

There is no lease object that dhcpd must honour. Helpdesk has two consoles and a sheet that might be true.

DHCP is still someone else

You already knew that. The pain is keeping them aligned when a printer MAC changes.

What Lattice does

One catalog

The reservation you save is the next Offer. Assignments (static servers) and tracking-only VLANs sit on the same map.

The reservation you save is the next Offer — same catalog as the leases.

The reservation you save is the next Offer — same catalog as the leases.

Addresses: Seattle Distribution prefix 10.40.0.0/16 with three DHCP subnets, 330 leases, utilization from Postgres.

Who held this IP

Occupancy is lease rows dhcpd already wrote. As-of a day. phpIPAM last-seen is a ping.

Every hold. As-of a day on this computer. The grant is the occupancy log.

Every hold. As-of a day on this computer. The grant is the occupancy log.

History of 10.10.10.55: four holds, currently maya-chen-mbp (Apple); NAKs from a conference phone.

dhcpd serves those rows

No second DHCP product to keep in sync. Identical processes, shared Postgres.

Keep your DNS

Names after Ack into AD or BIND. phpIPAM was never the resolver. Neither is Lattice, unless you publish lattice-dns on purpose.

Same pool, any node

Community is one Ubuntu node. Same binaries. A Starter file adds dhcpd processes on the same database (Discover on one node, Ack on another, same pool) and three-node HA behind a VIP. Community is no license file. A 30-day Starter trial in the portal tests HA.

FAQ

Does phpIPAM do DHCP?
No. phpIPAM is IPAM. It holds a plan. It does not Offer an address. Your DHCP is still Windows, ISC, or Kea.
phpIPAM vs DHCP — which one do I need?
Today you need both: phpIPAM (or a sheet) plus a DHCP server. Lattice is both as one catalog. You keep AD, Unbound, or BIND. What DDI is.
Is phpIPAM a DDI?
No. phpIPAM is IPAM. Your DHCP is still Windows, ISC, or Kea. Lattice is DHCP and IPAM as one catalog. You keep AD, Unbound, or BIND. What DDI is.
Can Lattice import my phpIPAM database?
No dump-and-run. Prefixes and subnets you care about get mapped and POSTed. Devices that must keep an IP become reservations. Your existing DHCP is what you turn off at cutover. Read the migrate playbook.
Does Lattice replace my DNS?
No. phpIPAM was never the resolver. Neither is Lattice, unless you publish lattice-dns on purpose. Keep AD, Unbound, or BIND.