IPFlow for WHMCS

Managing Subnets & IP Pools

This guide explains how to create, configure, organize, split, and merge IPv4 and IPv6 subnet pools in IPFlow, and how to map pools to WHMCS products for automated customer provisioning.


Creating Your First Subnet Pool

  1. Log in to your WHMCS Admin area and navigate to Addons > IPFlow > Subnets & Pools.
  2. Click the + Add Subnet Pool button at the top-right of the page.
  3. Fill in the subnet configuration form:
+-------------------------------------------------------------------------------+
|                             Add New Subnet Pool                               |
+-------------------------------------------------------------------------------+
| Pool Name        : [ US-East Web Cluster Pool A                             ] |
| CIDR Network     : [ 185.190.20.0/24                                        ] |
| Default Gateway  : [ 185.190.20.1                                           ] |
| VLAN Tag (1-4094): [ 100                                                    ] |
| Description/Notes: [ Primary public block for Frankfurt VPS nodes           ] |
|                                                    [ Cancel ]  [ Save Pool ]  |
+-------------------------------------------------------------------------------+

Form Fields Overview:

  • Pool Name: A friendly descriptive name (e.g. Frankfurt KVM Pool #1 or Enterprise VPS /24).
  • CIDR Network: The base network in standard CIDR format (e.g., 185.190.20.0/24 for IPv4 or 2001:db8:1000::/64 for IPv6).
  • Default Gateway: The gateway address for this subnet (e.g., 185.190.20.1).
  • VLAN Tag: Optional 802.1Q VLAN ID (e.g., 100).
  • Notes: Any internal notes regarding switch ports, data center locations, or upstream providers.

  • Click Save Pool. IPFlow will instantly generate the IP addresses in the pool and display them in your inventory.


How Auto-Reservation Works

When creating an IPv4 pool, IPFlow automatically protects critical network infrastructure addresses so they are never assigned to end-user orders:

+-------------------------------------------------------------------------------+
| 185.190.20.0/24 Subnet Layout (256 Total Addresses)                          |
+-------------------------------------------------------------------------------+
|  .0 (Network IP)     -> [ RESERVED ] (Reason: Network Address)                |
|  .1 (Gateway IP)     -> [ RESERVED ] (Reason: Gateway IP)                     |
|  .2 to .254 (Hosts)  -> [ FREE ] (Available for automatic customer orders)    |
|  .255 (Broadcast)    -> [ RESERVED ] (Reason: Broadcast Address)              |
+-------------------------------------------------------------------------------+

[!TIP]
You can manually unreserve or reserve any specific host IP at any time by clicking on its status badge in the IP Inventory table.


Subnet Splitting (1-Click Partitioning)

If you need to break down a large subnet into smaller customer blocks or separate VLANs, IPFlow makes it easy:

+-------------------------------------------------------------------------------+
| 192.168.1.0/24 (256 IPs)                                                      |
|        ├── Split into 2x /25 Subnets (128 IPs each)                           |
|        └── or Split into 4x /26 Subnets (64 IPs each)                         |
+-------------------------------------------------------------------------------+

How to Split a Subnet:

  1. Navigate to Addons > IPFlow > Subnets & Pools.
  2. Find the subnet pool you want to partition and click the Split Subnet action icon.
  3. In the split popup, choose your desired target prefix (e.g., split a /24 into /25, /26, /27, or /28).
  4. Click Confirm Split.

[!WARNING]
Safety Guard: IPFlow will only allow splitting if all IP addresses in the pool are unassigned. If active customer services are currently using IPs in the block, IPFlow will protect them and block the split until those IPs are freed.


Subnet Merging (Consolidation)

When smaller subnets are no longer needed separately, you can merge them back into a single consolidated pool:

  1. In the Subnets & Pools table, select the adjacent child subnets you wish to combine.
  2. Click the Merge Selected Subnets button.
  3. IPFlow will verify that the blocks are contiguous and merge them back into their original parent pool with zero orphaned records.

Assigning Pools for Automated Provisioning (4-Tier Cascade)

You can link subnet pools to WHMCS packages and servers so customer orders receive dedicated IPs automatically upon checkout.

Navigate to Addons > IPFlow > Pool Mappings and click + Add Mapping Rule.

+-------------------------------------------------------------------------------+
|                             Create Pool Mapping Rule                          |
+-------------------------------------------------------------------------------+
| Target Type : [ Product / Package                                           v]|
| Target Item : [ (Package #12) KVM Cloud VPS - 4GB RAM                       v]|
| Subnet Pool : [ Frankfurt KVM Pool #1 (185.190.20.0/24)                     v]|
| Priority    : [ 10                                                          ] |
|                                                    [ Cancel ]  [ Save Rule ]  |
+-------------------------------------------------------------------------------+

The 4-Tier Automated Provisioning Cascade:

When a customer orders a service in WHMCS, IPFlow automatically selects an IP address using this intelligent 4-tier hierarchy:

  1. Tier 1 — Product Mapping: Matches the exact WHMCS package ordered (e.g. “cPanel Pro Hosting”).
  2. Tier 2 — Product Group Mapping: Matches the entire product group (e.g. all products under “Cloud Servers”).
  3. Tier 3 — Server Mapping: Matches the specific server (tblservers) assigned to provision the account (e.g. “Node-US-East-01”).
  4. Tier 4 — Global Fallback Pool: If no specific mapping rules exist, IPFlow assigns the next free IP from your default active pool.

[!NOTE]
IPFlow uses instant database row locking during checkout. Even during major flash sales with dozens of concurrent orders per second, two customers will never receive the same IP address.