Network and IPAM

The record of every VLAN, subnet, IP address, DHCP pool and DNS zone you run — for your own network, and for every client network an MSP services.

The problem

The addressing plan is a spreadsheet. One tab per site, colour-coded by someone who left in 2022. Nobody knows which addresses in the 10.0.20.0/24 are actually free, so the new printer gets the one the backup server has held since March and both drop off the network on a Tuesday afternoon. When a client asks which VLAN their guest wifi is on, the answer takes a switch login and a guess.

What Solidlio does about it

Every prefix is stored as a CIDR with its host bits masked off, so one network is one row and a duplicate is refused at the point of entry. Every address is canonicalised before it is written, so 2001:db8::1 and its fully expanded form are the same address rather than two rows that will disagree forever. Utilisation is derived from the address rows on every read — not from a counter that drifts — and the arithmetic runs in arbitrary precision, so an IPv6 /64 reports 18,446,744,073,709,551,616 addresses instead of overflowing. Ask for the next free address and you get one that honours the network and broadcast reservations for IPv4, RFC 3021 for a /31, and nothing at all for IPv6, because IPv6 has no broadcast address.


Capabilities

CapabilityWhat it does
Subnet hierarchyNest prefixes to any depth; a child is validated as contained in its parent and the same version
Overlap detectionRefuses a prefix that partially overlaps another in the same organization, in either IP version
Dual stackIPv4 and IPv6 throughout — /0 to /32, /0 to /128, including /31, /32, /127, /128
Address allocationNext-free lookup, single assign, or bulk-create up to 1,024 addresses in a bounded range
Live utilisationUsed, reserved and available derived from the rows on every read; percentages clamped to 0–100
VLAN managementVID 1–4094 with role and status, grouped into named ranges, optionally pinned to a location
Port VLAN configAccess + voice VLAN, or native + tagged VLANs, on an individual physical port
DHCP scopesLease pools with exclusion ranges and MAC-to-address reservations, all validated against the subnet
DNS zones and recordsForward and reverse zones with SOA fields; A, AAAA, CNAME, MX, TXT, SRV, NS, PTR, SOA and CAA
Record validationAn A record must hold an IPv4 literal, MX must carry a priority, SRV a priority and a port
Conflict checkingFind every non-available record already holding an address or a MAC, in any notation
Subnet calculatorNetwork, broadcast, first and last host, subnet mask, wildcard mask, usable host count
Address mapA 256-cell status grid for any IPv4 /24 or longer

Built for MSPs and their clients

An MSP and each of its clients are separate accounts with separate data. Each side documents its own network; the MSP additionally gets one view across every client it services.

OrganizationMSP
Subnets and VLANsIts ownIts own plus every client it services, filterable to one client
Who can editorganization administratorMSP technician and above
Address conflictsChecked within the organizationChecked across every serviced client at once
Overlapping rangesRefused within the organizationTwo clients may both use 192.168.1.0/24 — that is expected
End usersRead-only network views on a location

Servicing is resolved through the account-management link table, so an MSP brought in alongside an incumbent sees the client’s network without becoming its primary manager. An organizationId outside the serviced set is refused, and refused identically to one that does not exist.


How it works

  1. Record the VLAN — VID, name, role, and the site it belongs to. VIDs are unique per site.
  2. Carve the address space — enter a CIDR. Host bits are masked off, so 10.0.1.55/24 is stored as 10.0.1.0/24. Nest child prefixes under it; each is checked for containment and for overlap against every other prefix in the organization.
  3. Allocate addresses — press “Assign next available” and Solidlio hands back the first genuinely free address, or bulk-create a block bounded by a start and an end.
  4. Hand out the rest by DHCP — define a pool inside the subnet, exclude the ranges you keep static, and pin the printers and controllers by MAC.
  5. Name it — create the zone and its records. Link an A, AAAA or PTR record to the address row it describes so the two live in one place.
  6. Watch the utilisation — the dashboard ranks the ten most-consumed subnets by used plus reserved, so a /16 at 98% surfaces ahead of an idle /30.

Correctness

Network arithmetic fails quietly, so it is tested explicitly rather than assumed:

  • CIDR parsing and containment for both IP versions, including IPv4-mapped IPv6 (::ffff:192.168.1.1) and IPv4-embedded forms.
  • Usable-host counts at every edge — /30 reserves two addresses, /31 reserves none (RFC 3021), /32 is a single host route, and IPv6 reserves nothing.
  • IPv6 text is canonicalised to RFC 5952 on write, so one address cannot become two rows.
  • Capacity is arbitrary-precision throughout. A /64 is 2^64 addresses; nothing in the path narrows that to a floating-point number.
  • Overlap distinguishes nesting (legal, and the whole point of a hierarchy) from partial overlap (always a mistake).
  • Percentages are clamped to 0–100, so a counter that drifted past capacity cannot render a bar wider than its track.

The org-scoped and MSP-scoped routers share one implementation of all of it, so the two portals cannot give different answers about the same subnet.


Editions

Network and IPAM carries no plan gate. What differs is portal and role:

CapabilityCustomerOrganizationMSP
View subnets, VLANs, DNS●*
Create / edit / deleteorganization administrator
Cross-client view
Cross-client conflict check
Subnet calculator, tools

* Read-only, reached from a location’s Network tab.


Security and tenancy

  • Every subnet, address, VLAN, DHCP scope and DNS zone query is pinned to the caller’s organization, or for the MSP router to the set of organizations the account actually services.
  • Uniqueness is per tenant, never global: two clients may legitimately both run 192.168.1.0/24, and both are stored.
  • Every client-supplied reference — VLAN, location, asset, network port, DHCP scope, parent subnet, linked IP address — is resolved inside the owning organization before it is persisted. A foreign identifier and a non-existent one produce the same reply.
  • The MSP router is floored at MSP technician for reads as well as writes, so it cannot be used to bypass the organization administrator floor on the organization routes.
  • Every mutation writes an audit entry naming the actor, the entity and the action.

Integrations

None. IPAM is a system of record: Solidlio does not push configuration to switches, DHCP servers or DNS servers, and does not discover devices on the wire. Addresses, VLANs and zones are entered, imported or edited by people.

A subnet you cannot trust is a spreadsheet with a login page.

See this working on a real account.

Book a walkthrough and we will run this capability against your own clients, devices and tickets.

Book a demo All features

A 30-minute walkthrough against your own workflow. No slides.