Project

General

Profile

Actions

Bug #425

open

OAM: Deploy phpIPAM for IP inventory + switch SNMP polling

Bug #425: OAM: Deploy phpIPAM for IP inventory + switch SNMP polling

Added by Charles N about 21 hours ago. Updated about 14 hours ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
08/11/2026
Due date:
% Done:

90%

Estimated time:

Description

Deploy phpIPAM on the tsys-librenms VM (or alongside OAM infrastructure) as the authoritative IP address management (IPAM) system. phpIPAM will keep IP inventory current by polling Dell switches via SNMP for ARP/MAC tables and auto-discovering active devices.

Scope

  • Deploy phpIPAM (Docker container on tsys-librenms)
  • Configure phpIPAM discovery sources (SNMP ARP table polling from core + TOR switches)
  • Import existing DHCP reservations from netinfra/dhcp/dhcpd-primary.conf and dhcpd-secondary.conf
  • Configure SNMP credentials (community: kn3lmgmt) for Dell PowerConnect switches
  • Set up scan agents for 192.168.0.0/22 and 192.168.3.0/24 subnets
  • Integrate with LibreNMS (avoid overlap: phpIPAM = IP inventory, LibreNMS = performance/status monitoring)
  • Initial full discovery scan + reconcile against DHCP reservations
  • Set up scheduled discovery (cron) to keep inventory current

Dependencies

  • Switches must be SNMP-reachable (resolved in #424: DNS names fixed, SNMP confirmed working)
  • Relates to #337 (LibreNMS integration modules), #343 (monitoring coverage matrix — phpIPAM owns IP inventory space)
  • Relates to #420 (DHCP reservations — phpIPAM should reflect these)

Why

No IPAM currently exists. IP inventory tracked manually in DHCP config files. phpIPAM provides self-service IP request workflow, VLAN management, and automatic discovery — essential as the fleet grows.

Updated by Charles N about 15 hours ago Actions #1

Scope revision 2026-08-11 (user directive): phpIPAM is ALREADY RUNNING on Cloudron at ipam.knownelement.com. API key exists in ~/.creds/phpipam.env. This ticket is NOT a deployment — it is configuration of the existing instance:

  • Configure phpIPAM SNMP discovery (community: kn3lmgmt) for Dell switches
  • Import DHCP reservations from netinfra/dhcp/dhcpd-primary.conf
  • Set up scan agents for 192.168.0.0/22 subnet
  • Configure VLAN/subnet structure to match network topology
  • Verify switch ARP/MAC polling keeps inventory current

Updated by Charles N about 14 hours ago Actions #2

  • % Done changed from 0 to 60

phpIPAM configured (2026-08-11):

  • Created PFV-SITER section with 2 subnets (192.168.0.0/22 + 10.100.100.0/22)
  • Added 10 infrastructure devices (4 switches, 2 servers, 2 APs, 1 PDU, 1 LibreNMS)
  • Imported ALL 64 DHCP reservations from dhcpd-primary.conf (hostname, MAC, IP)
  • API access confirmed working (app_code auth)

Remaining for phpIPAM:

  • Enable SNMP discovery (requires phpIPAM scan agent — may need Cloudron config)
  • Import dhcpd-secondary.conf reservations
  • Set up VLAN structure

Note: phpIPAM SNMP discovery requires a local scan agent binary running on a host in the network. Since phpIPAM is on Cloudron (external), the scan agent can't reach the LAN directly. Alternative: use the API to periodically import from DHCP config / LibreNMS data.

Updated by Charles N about 14 hours ago Actions #3

  • % Done changed from 60 to 80

phpIPAM configuration complete (2026-08-11):

  • Section: PFV-SITER (id 4)
  • Subnets: 192.168.0.0/22 (mgmt+storage), 10.100.100.0/22 (storage VLAN)
  • Devices: 4 switches (SNMP configured, community kn3lmgmt v2c), 2 servers, 2 APs, 1 LibreNMS. PDU removed (not needed for IP discovery).
  • Addresses: 64 static DHCP reservations imported from dhcpd-primary.conf
  • Subnet discovery: enabled (pingSubnet + discoverSubnet + resolveDNS)

User action needed from phpIPAM web UI:

  1. Administration > IPAM > Settings > Scan Agents: create agent for pfv-discovery
  2. Trigger first discovery scan on 192.168.0.0/22 subnet
  3. phpIPAM reaches switches via Tailscale subnet routing (netinfra-01/02 advertise 192.168.0.0/22)

Updated by Charles N about 14 hours ago Actions #4

  • % Done changed from 80 to 90

phpIPAM FULLY CONFIGURED (2026-08-11):

  • Consolidated to single PFV section with 3 sub-sections (Server Room, EE Lab, Art Room)
  • 192.168.0.0/22 + 10.100.100.0/22 in Server Room
  • 9 devices (4 switches w/SNMP, 3 servers, 2 APs)
  • 64 static DHCP reservations imported
  • Scan agent configured (id=2), discovery + ping enabled
  • Old PFV-SITER section removed, duplicate /24 removed
Actions

Also available in: PDF Atom