<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[SimpleIPAM]]></title><description><![CDATA[SimpleIPAM]]></description><link>https://blog.simpleipam.com</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Apr 2026 18:59:08 GMT</lastBuildDate><atom:link href="https://blog.simpleipam.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Stop Managing IP Addresses in Excel: There's a Better Way]]></title><description><![CDATA[You know the spreadsheet. It has 47 tabs, one for each VLAN. The formulas broke six months ago. Nobody's sure if it matches reality anymore. Here's why it fails and what actually works.
The IP Address Spreadsheet Problem
Almost every network team sta...]]></description><link>https://blog.simpleipam.com/stop-managing-ip-addresses-in-excel-theres-a-better-way</link><guid isPermaLink="true">https://blog.simpleipam.com/stop-managing-ip-addresses-in-excel-theres-a-better-way</guid><category><![CDATA[excel]]></category><category><![CDATA[Spreadsheet]]></category><category><![CDATA[ipam]]></category><category><![CDATA[best practices]]></category><category><![CDATA[csv]]></category><dc:creator><![CDATA[SimpleIPAM]]></dc:creator><pubDate>Sun, 30 Nov 2025 23:36:59 GMT</pubDate><content:encoded><![CDATA[<p>You know the spreadsheet. It has 47 tabs, one for each VLAN. The formulas broke six months ago. Nobody's sure if it matches reality anymore. Here's why it fails and what actually works.</p>
<h2 id="heading-the-ip-address-spreadsheet-problem"><strong>The IP Address Spreadsheet Problem</strong></h2>
<p>Almost every network team starts with Excel. It makes sense—you already have it, it's flexible, and the first version takes five minutes to create.</p>
<p>Then reality sets in:</p>
<ul>
<li><p><strong>Nobody updates it:</strong> The spreadsheet says 10.1.1.50 is available, but someone assigned it last week during a change window and forgot to update the doc</p>
</li>
<li><p><strong>Version control nightmares:</strong> "IP_addresses_FINAL_v3_UPDATED_johns_version.xlsx" sitting in three different SharePoint folders</p>
</li>
<li><p><strong>Collaboration breaks down:</strong> Two people edit different copies, changes get lost, conflicts appear</p>
</li>
<li><p><strong>Scaling is painful:</strong> Managing a /16 means 65,000 potential rows. Excel starts choking around 50,000.</p>
</li>
<li><p><strong>No validation:</strong> Nothing stops someone from entering "10.1.1.500" or duplicating an existing assignment</p>
</li>
</ul>
<h2 id="heading-why-teams-keep-using-it-anyway"><strong>Why Teams Keep Using It Anyway</strong></h2>
<p>The alternatives haven't been great:</p>
<ul>
<li><p><strong>Enterprise IPAM tools:</strong> $35,000-300,000/year. Requires dedicated infrastructure, training, and ongoing maintenance. Overkill for most teams.</p>
</li>
<li><p><strong>Open-source IPAM (phpIPAM, NetBox):</strong> Free but requires database setup, web servers, and network scanning infrastructure. Still too much overhead.</p>
</li>
<li><p><strong>Cloud IPAM services:</strong> Monthly fees for features you might not need. Yet another login and integration to manage.</p>
</li>
</ul>
<p>So teams stick with Excel because the alternatives require more effort than the problem seems to justify.</p>
<h2 id="heading-the-real-source-of-truth"><strong>The Real Source of Truth</strong></h2>
<p>Here's the thing: your most accurate IP data already exists. It's in your firewall configuration.</p>
<p>Think about it. Your FortiGate or Palo Alto config contains:</p>
<ul>
<li><p>Every address object you've defined</p>
</li>
<li><p>All subnets and their assignments</p>
</li>
<li><p>Interface IP addresses</p>
</li>
<li><p>VIP/NAT mappings</p>
</li>
<li><p>Static routes showing network topology</p>
</li>
</ul>
<p>This data is <em>always current</em> because the firewall won't work if it's wrong. It's maintained as part of normal operations. It doesn't require a separate update process.</p>
<p>The spreadsheet is always trying to mirror what's in the firewall config anyway—so why not just read the config directly?</p>
<h2 id="heading-config-parsing-vs-spreadsheets"><strong>Config Parsing vs. Spreadsheets</strong></h2>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Problem</strong></td><td><strong>Excel</strong></td><td><strong>Config Parsing</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Data accuracy</td><td>Depends on manual updates</td><td>Always matches live config</td></tr>
<tr>
<td>Update process</td><td>Manual, often forgotten</td><td>Re-upload config anytime</td></tr>
<tr>
<td>Version conflicts</td><td>Common</td><td>Single source of truth</td></tr>
<tr>
<td>Setup time</td><td>Quick initially, grows complex</td><td>Instant results</td></tr>
<tr>
<td>Multi-site</td><td>Multiple files, chaos</td><td>Upload each config separately</td></tr>
<tr>
<td>Export capability</td><td>It's already a spreadsheet</td><td>Export to CSV</td></tr>
</tbody>
</table>
</div><h2 id="heading-the-best-of-both-worlds"><strong>The Best of Both Worlds</strong></h2>
<p>You don't have to give up spreadsheets entirely. Here's a better workflow:</p>
<ol>
<li><p><strong>Export your firewall config</strong> (you should be doing this for backups anyway)</p>
</li>
<li><p><strong>Parse the config</strong> to extract all IP data automatically</p>
</li>
<li><p><strong>Export to CSV</strong> for analysis, documentation, or compliance reports</p>
</li>
<li><p><strong>Keep the CSV as a snapshot</strong> rather than a living document</p>
</li>
</ol>
<p>Need updated information? Just re-export the firewall config and parse again. Takes seconds, always accurate.</p>
<h2 id="heading-when-you-actually-need-excel"><strong>When You Actually Need Excel</strong></h2>
<p>Config parsing covers what's <em>currently configured</em>. Excel (or a proper IPAM tool) might still make sense for:</p>
<ul>
<li><p><strong>IP planning:</strong> Allocating space for future projects before they're configured</p>
</li>
<li><p><strong>Reservation tracking:</strong> Recording IPs reserved but not yet assigned</p>
</li>
<li><p><strong>Historical records:</strong> Tracking who requested what and when</p>
</li>
<li><p><strong>DHCP ranges:</strong> Documenting dynamic pools that aren't in firewall config</p>
</li>
</ul>
<p>For everything else—understanding what's actually deployed—let the config be your source of truth.</p>
<h2 id="heading-try-it-now"><strong>Try It Now</strong></h2>
<p>SimpleIPAM parses FortiGate and Palo Alto configs and shows you every IP address, subnet, interface, VIP, and route in seconds.</p>
<p><a target="_blank" href="https://www.simpleipam.com/analyze"><strong>Upload Your Config</strong></a></p>
<p>No signup. No infrastructure. Just drag, drop, and see your IP space organized.</p>
]]></content:encoded></item><item><title><![CDATA[phpIPAM Alternative: IP Management Without Network Scanning]]></title><description><![CDATA[phpIPAM is a solid open-source IPAM tool, but it requires setting up network scanning agents and database infrastructure. Here's a different approach that might fit your needs better.
The phpIPAM Approach
phpIPAM is built around a traditional IPAM mo...]]></description><link>https://blog.simpleipam.com/phpipam-alternative-ip-management-without-network-scanning</link><guid isPermaLink="true">https://blog.simpleipam.com/phpipam-alternative-ip-management-without-network-scanning</guid><category><![CDATA[phpipam]]></category><category><![CDATA[alternative]]></category><category><![CDATA[ipam]]></category><dc:creator><![CDATA[SimpleIPAM]]></dc:creator><pubDate>Sun, 30 Nov 2025 23:35:36 GMT</pubDate><content:encoded><![CDATA[<p>phpIPAM is a solid open-source IPAM tool, but it requires setting up network scanning agents and database infrastructure. Here's a different approach that might fit your needs better.</p>
<h2 id="heading-the-phpipam-approach"><strong>The phpIPAM Approach</strong></h2>
<p>phpIPAM is built around a traditional IPAM model: deploy the software, configure database backends, set up scanning agents, and maintain the infrastructure. It's powerful, but it comes with operational overhead.</p>
<p>Common challenges teams face with phpIPAM:</p>
<ul>
<li><p><strong>Infrastructure requirements:</strong> MySQL/MariaDB database, web server, PHP—all need ongoing maintenance</p>
</li>
<li><p><strong>Network scanning setup:</strong> Scanning agents need network access, firewall rules, and credential management</p>
</li>
<li><p><strong>Data accuracy:</strong> Scanning shows what's live on the network, but not what's configured in your firewall</p>
</li>
<li><p><strong>Update cycles:</strong> Database needs to stay in sync with network changes</p>
</li>
</ul>
<h2 id="heading-a-different-approach-config-based-ipam"><strong>A Different Approach: Config-Based IPAM</strong></h2>
<p>What if you could skip the scanning entirely and get your IP data from the source of truth—your firewall configuration?</p>
<p>Your FortiGate or Palo Alto config already contains:</p>
<ul>
<li><p>Every address object you've defined</p>
</li>
<li><p>All address groups and their members</p>
</li>
<li><p>Interface IP assignments</p>
</li>
<li><p>VIP/NAT mappings</p>
</li>
<li><p>Static routes and next hops</p>
</li>
<li><p>Security zone definitions</p>
</li>
</ul>
<p>This is the data that actually matters for understanding your IP allocation—and it's already organized and maintained as part of your firewall management.</p>
<h2 id="heading-when-config-based-ipam-makes-sense"><strong>When Config-Based IPAM Makes Sense</strong></h2>
<p>This approach works particularly well for:</p>
<ul>
<li><p><strong>MSPs managing multiple clients:</strong> Upload each client's firewall config, get instant visibility without deploying scanning infrastructure at every site</p>
</li>
<li><p><strong>Network audits:</strong> Document IP allocation quickly without setting up persistent monitoring</p>
</li>
<li><p><strong>Migration planning:</strong> Understand the current state before making changes</p>
</li>
<li><p><strong>Compliance documentation:</strong> Generate accurate IP inventories from authoritative config files</p>
</li>
<li><p><strong>Small teams:</strong> Get IPAM functionality without dedicated infrastructure</p>
</li>
</ul>
<h2 id="heading-when-phpipam-is-still-better"><strong>When phpIPAM Is Still Better</strong></h2>
<p>To be fair, phpIPAM and similar scanning-based tools have strengths that config parsing doesn't cover:</p>
<ul>
<li><p><strong>Live network state:</strong> Scanning shows what's actually responding on the network right now</p>
</li>
<li><p><strong>DHCP integration:</strong> phpIPAM can integrate with DHCP servers for dynamic IP tracking</p>
</li>
<li><p><strong>DNS management:</strong> Some tools integrate DNS record management</p>
</li>
<li><p><strong>Rogue device detection:</strong> Scanning can find unauthorized devices</p>
</li>
</ul>
<p>If you need these capabilities, a scanning-based tool makes sense. But many teams discover they primarily need visibility into their <em>planned</em> IP allocation—what's configured—rather than continuous live monitoring.</p>
<h2 id="heading-quick-comparison"><strong>Quick Comparison</strong></h2>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Feature</strong></td><td><strong>phpIPAM</strong></td><td><strong>Config Parsing</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Setup time</td><td>Hours to days</td><td>Minutes</td></tr>
<tr>
<td>Infrastructure</td><td>Database, web server, agents</td><td>None (browser-based)</td></tr>
<tr>
<td>Network access</td><td>Required for scanning</td><td>Not required</td></tr>
<tr>
<td>Data source</td><td>Live network + manual entry</td><td>Firewall config file</td></tr>
<tr>
<td>Multi-site</td><td>Requires distributed agents</td><td>Upload configs from anywhere</td></tr>
<tr>
<td>Maintenance</td><td>Ongoing</td><td>None</td></tr>
</tbody>
</table>
</div><h2 id="heading-try-config-based-ipam"><strong>Try Config-Based IPAM</strong></h2>
<p>SimpleIPAM takes the config parsing approach. Upload your FortiGate or Palo Alto config file and see your entire IP address space in seconds—no database setup, no scanning agents, no ongoing maintenance.</p>
<p><a target="_blank" href="https://www.simpleipam.com/analyze"><strong>Try SimpleIPAM Free</strong></a></p>
<p>No registration required. Config is processed in your browser and not stored.</p>
]]></content:encoded></item><item><title><![CDATA[NetBox Alternative for Small Teams: When DCIM Is Overkill]]></title><description><![CDATA[NetBox is excellent for data center infrastructure management—but if you just need to track IP addresses without managing racks, cables, and physical equipment, there's a simpler path.
The NetBox Experience
NetBox (originally built by DigitalOcean) c...]]></description><link>https://blog.simpleipam.com/netbox-alternative-for-small-teams-when-dcim-is-overkill</link><guid isPermaLink="true">https://blog.simpleipam.com/netbox-alternative-for-small-teams-when-dcim-is-overkill</guid><category><![CDATA[netbox]]></category><category><![CDATA[alternative]]></category><category><![CDATA[ipam]]></category><category><![CDATA[DCIM]]></category><dc:creator><![CDATA[SimpleIPAM]]></dc:creator><pubDate>Sun, 30 Nov 2025 23:34:33 GMT</pubDate><content:encoded><![CDATA[<p>NetBox is excellent for data center infrastructure management—but if you just need to track IP addresses without managing racks, cables, and physical equipment, there's a simpler path.</p>
<h2 id="heading-the-netbox-experience"><strong>The NetBox Experience</strong></h2>
<p>NetBox (originally built by DigitalOcean) combines DCIM and IPAM into one platform. It's powerful, well-maintained, and has a great API. But here's what comes with that power:</p>
<ul>
<li><p><strong>Database setup:</strong> PostgreSQL required</p>
</li>
<li><p><strong>Redis cache:</strong> Needed for background tasks</p>
</li>
<li><p><strong>Web server:</strong> nginx/Apache with WSGI</p>
</li>
<li><p><strong>Data model complexity:</strong> Sites, racks, devices, interfaces, cables, circuits—even when you just want IPs</p>
</li>
<li><p><strong>Manual data entry:</strong> All information must be entered or imported through API</p>
</li>
</ul>
<p>A common sentiment from the community: "DCIM has been immediately appreciated; but, IPAM has been lacklustre." NetBox is a DCIM tool with IPAM bolted on—not an IPAM tool first.</p>
<h2 id="heading-what-small-teams-actually-need"><strong>What Small Teams Actually Need</strong></h2>
<p>If you don't have a data center to manage—or you have one but just need IP visibility—you probably want:</p>
<ul>
<li><p>A clear view of what IP addresses are allocated</p>
</li>
<li><p>Which subnets are in use and where</p>
</li>
<li><p>Address objects and their relationships</p>
</li>
<li><p>Documentation you can export and share</p>
</li>
<li><p>Minimal setup and no ongoing infrastructure</p>
</li>
</ul>
<p>You don't need to define rack elevations or track patch panel ports. You need to know what IPs are used where.</p>
<h2 id="heading-the-manual-entry-problem"><strong>The Manual Entry Problem</strong></h2>
<p>Both NetBox and phpIPAM share a fundamental challenge: data has to get into the system somehow. Options are:</p>
<ul>
<li><p><strong>Manual entry:</strong> Tedious and error-prone</p>
</li>
<li><p><strong>CSV import:</strong> You have to build the CSV first</p>
</li>
<li><p><strong>API scripts:</strong> Requires development effort</p>
</li>
<li><p><strong>Network scanning:</strong> NetBox doesn't even include this</p>
</li>
</ul>
<p>The irony: the most accurate IP data in your environment is already structured and maintained—in your firewall configuration files. Every address object, group, interface, and route is defined there, kept current because the firewall won't work otherwise.</p>
<h2 id="heading-config-based-ipam-skip-the-data-entry"><strong>Config-Based IPAM: Skip the Data Entry</strong></h2>
<p>What if you could extract IP information directly from your firewall config? Your FortiGate or Palo Alto backup file contains:</p>
<ul>
<li><p>Every IP address object you've created</p>
</li>
<li><p>Address groups with full member lists</p>
</li>
<li><p>Interface assignments and subnets</p>
</li>
<li><p>VIP/NAT mappings</p>
</li>
<li><p>Static routes</p>
</li>
<li><p>Zone definitions</p>
</li>
</ul>
<p>Upload the config, get immediate visibility. No data entry, no sync issues, no infrastructure.</p>
<h2 id="heading-when-netbox-is-still-the-right-choice"><strong>When NetBox Is Still the Right Choice</strong></h2>
<p>NetBox makes sense when you genuinely need DCIM capabilities:</p>
<ul>
<li><p>Managing physical rack layouts across data centers</p>
</li>
<li><p>Tracking cables and cross-connects</p>
</li>
<li><p>Circuit and provider management</p>
</li>
<li><p>Maintaining relationships between physical and logical infrastructure</p>
</li>
<li><p>Running automation pipelines that need NetBox as source of truth</p>
</li>
</ul>
<p>If you're at that scale, NetBox is excellent. But if you're a small team managing a few firewalls and need IP visibility—you're using a sledgehammer for a nail.</p>
<h2 id="heading-quick-comparison"><strong>Quick Comparison</strong></h2>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Aspect</strong></td><td><strong>NetBox</strong></td><td><strong>Config Parsing</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Primary focus</td><td>DCIM + IPAM</td><td>IPAM only</td></tr>
<tr>
<td>Time to first results</td><td>Hours (setup + data entry)</td><td>Seconds</td></tr>
<tr>
<td>Data entry</td><td>Manual or API scripts</td><td>Automatic from config</td></tr>
<tr>
<td>Infrastructure</td><td>PostgreSQL, Redis, web server</td><td>None</td></tr>
<tr>
<td>Learning curve</td><td>Moderate to steep</td><td>Minimal</td></tr>
<tr>
<td>Best for</td><td>DC teams with physical infrastructure</td><td>Quick IP visibility from firewalls</td></tr>
</tbody>
</table>
</div><h2 id="heading-try-the-simpler-approach"><strong>Try the Simpler Approach</strong></h2>
<p>SimpleIPAM extracts IP data directly from your firewall configuration. Upload your FortiGate or Palo Alto config and see your IP space organized and searchable in seconds.</p>
<p><a target="_blank" href="https://www.simpleipam.com/analyze"><strong>Analyze Your Config Free</strong></a></p>
<p>No database. No Redis. No data entry. Just upload and see results.</p>
]]></content:encoded></item><item><title><![CDATA[Firewall Config Audit Checklist: IP Address Review]]></title><description><![CDATA[Whether you're doing a security assessment, preparing for a migration, or just cleaning up years of accumulated config cruft—here's a practical checklist for auditing IP addresses in your firewall configuration.
Why Audit IP Configuration?
Firewall c...]]></description><link>https://blog.simpleipam.com/firewall-config-audit-checklist-ip-address-review</link><guid isPermaLink="true">https://blog.simpleipam.com/firewall-config-audit-checklist-ip-address-review</guid><category><![CDATA[audit]]></category><category><![CDATA[checklist]]></category><category><![CDATA[best practices]]></category><dc:creator><![CDATA[SimpleIPAM]]></dc:creator><pubDate>Sun, 30 Nov 2025 23:33:06 GMT</pubDate><content:encoded><![CDATA[<p>Whether you're doing a security assessment, preparing for a migration, or just cleaning up years of accumulated config cruft—here's a practical checklist for auditing IP addresses in your firewall configuration.</p>
<h2 id="heading-why-audit-ip-configuration"><strong>Why Audit IP Configuration?</strong></h2>
<p>Firewall configurations accumulate technical debt over time. Address objects get created for one-off projects and never removed. Subnets get allocated and forgotten. VIPs stay configured long after servers are decommissioned.</p>
<p>Regular audits help you:</p>
<ul>
<li><p>Identify unused address objects cluttering your config</p>
</li>
<li><p>Spot IP conflicts before they cause outages</p>
</li>
<li><p>Document actual IP allocation for compliance</p>
</li>
<li><p>Plan capacity for new projects</p>
</li>
<li><p>Prepare for migrations with accurate inventory</p>
</li>
</ul>
<h2 id="heading-the-audit-checklist"><strong>The Audit Checklist</strong></h2>
<h3 id="heading-1-address-object-inventory"><strong>1. Address Object Inventory</strong></h3>
<ul>
<li><p>☐ Export all address objects with their values</p>
</li>
<li><p>☐ Count total objects by type (host, subnet, range, FQDN)</p>
</li>
<li><p>☐ Identify objects with missing or outdated descriptions</p>
</li>
<li><p>☐ Flag objects not referenced in any policy (potential cleanup candidates)</p>
</li>
<li><p>☐ Check for duplicate objects pointing to the same IP</p>
</li>
</ul>
<h3 id="heading-2-address-group-analysis"><strong>2. Address Group Analysis</strong></h3>
<ul>
<li><p>☐ List all groups and their member counts</p>
</li>
<li><p>☐ Identify empty groups (zero members)</p>
</li>
<li><p>☐ Expand nested groups to see full membership</p>
</li>
<li><p>☐ Check for circular group references</p>
</li>
<li><p>☐ Verify group naming follows conventions</p>
</li>
</ul>
<h3 id="heading-3-interface-and-subnet-review"><strong>3. Interface and Subnet Review</strong></h3>
<ul>
<li><p>☐ Document all interface IP assignments</p>
</li>
<li><p>☐ Verify no overlapping subnets on different interfaces</p>
</li>
<li><p>☐ Check interface descriptions match actual usage</p>
</li>
<li><p>☐ Identify interfaces without IP assignments</p>
</li>
<li><p>☐ Verify zone assignments are correct</p>
</li>
</ul>
<h3 id="heading-4-vipnat-mapping-review"><strong>4. VIP/NAT Mapping Review</strong></h3>
<ul>
<li><p>☐ List all VIPs with external→internal mappings</p>
</li>
<li><p>☐ Verify internal servers still exist for each VIP</p>
</li>
<li><p>☐ Check for VIPs pointing to decommissioned IPs</p>
</li>
<li><p>☐ Document port mappings (external port → internal port)</p>
</li>
<li><p>☐ Identify unused public IPs in VIP pool</p>
</li>
</ul>
<h3 id="heading-5-route-table-analysis"><strong>5. Route Table Analysis</strong></h3>
<ul>
<li><p>☐ Export all static routes</p>
</li>
<li><p>☐ Verify next-hop IPs are reachable</p>
</li>
<li><p>☐ Check for routes to decommissioned networks</p>
</li>
<li><p>☐ Identify overlapping routes with different metrics</p>
</li>
<li><p>☐ Document default gateway configuration</p>
</li>
</ul>
<h3 id="heading-6-rfc-1918-and-public-ip-review"><strong>6. RFC 1918 and Public IP Review</strong></h3>
<ul>
<li><p>☐ Categorize all IPs as private (RFC 1918) or public</p>
</li>
<li><p>☐ Verify public IPs are actually owned/assigned to you</p>
</li>
<li><p>☐ Check for accidental use of public IPs internally</p>
</li>
<li><p>☐ Identify CGNAT ranges (100.64.0.0/10) if applicable</p>
</li>
<li><p>☐ Document link-local addresses (169.254.x.x)</p>
</li>
</ul>
<h2 id="heading-common-issues-to-look-for"><strong>Common Issues to Look For</strong></h2>
<h3 id="heading-stale-objects"><strong>Stale Objects</strong></h3>
<p>Address objects created for projects that ended years ago. Look for objects with old naming conventions, references to decommissioned systems, or descriptions mentioning past dates.</p>
<h3 id="heading-overly-broad-definitions"><strong>Overly Broad Definitions</strong></h3>
<p>Objects like "any" or "0.0.0.0/0" used in places where they shouldn't be. Also watch for /8 or /16 subnets when more specific ranges would be appropriate.</p>
<h3 id="heading-naming-inconsistencies"><strong>Naming Inconsistencies</strong></h3>
<p>Mixed naming conventions: "Web-Server-01" vs "WEBSRV_01" vs "web-server-1". This makes maintenance harder and indicates config accumulated from multiple admins over time.</p>
<h3 id="heading-missing-documentation"><strong>Missing Documentation</strong></h3>
<p>Objects without descriptions or with unhelpful descriptions like "temp" or "test". Every object should explain what it's for and who owns it.</p>
<h2 id="heading-automating-the-audit"><strong>Automating the Audit</strong></h2>
<p>Manually reviewing a firewall config with hundreds of address objects is tedious and error-prone. Here's a faster approach:</p>
<ol>
<li><p>Export your firewall config backup</p>
</li>
<li><p>Upload to SimpleIPAM for automatic parsing</p>
</li>
<li><p>Export the structured data as CSV</p>
</li>
<li><p>Use the CSV to work through this checklist</p>
</li>
<li><p>Document findings and remediation actions</p>
</li>
</ol>
<p><a target="_blank" href="https://www.simpleipam.com/analyze"><strong>Start Your Config Audit</strong></a></p>
<h2 id="heading-after-the-audit"><strong>After the Audit</strong></h2>
<p>Once you've identified issues, prioritize remediation:</p>
<ol>
<li><p><strong>Critical:</strong> IP conflicts, incorrect VIP mappings, routing issues</p>
</li>
<li><p><strong>High:</strong> Unused objects referenced in policies, stale NAT rules</p>
</li>
<li><p><strong>Medium:</strong> Missing documentation, naming inconsistencies</p>
</li>
<li><p><strong>Low:</strong> Completely unused objects (safe to remove but not urgent)</p>
</li>
</ol>
<p>Make config changes during maintenance windows, and always have a rollback plan.</p>
]]></content:encoded></item><item><title><![CDATA[Extracting IP Addresses from Palo Alto Configs: A Technical Guide]]></title><description><![CDATA[Palo Alto firewalls store configuration in XML format. Here's exactly what SimpleIPAM extracts and how the XML structure maps to useful IP address information.
Getting Your Palo Alto Config
First, export your running configuration. You have two optio...]]></description><link>https://blog.simpleipam.com/extracting-ip-addresses-from-palo-alto-configs-a-technical-guide</link><guid isPermaLink="true">https://blog.simpleipam.com/extracting-ip-addresses-from-palo-alto-configs-a-technical-guide</guid><category><![CDATA[Palo Alto Networks]]></category><category><![CDATA[parsing]]></category><category><![CDATA[technical]]></category><category><![CDATA[xml]]></category><dc:creator><![CDATA[SimpleIPAM]]></dc:creator><pubDate>Sun, 30 Nov 2025 23:30:02 GMT</pubDate><content:encoded><![CDATA[<p>Palo Alto firewalls store configuration in XML format. Here's exactly what SimpleIPAM extracts and how the XML structure maps to useful IP address information.</p>
<h2 id="heading-getting-your-palo-alto-config"><strong>Getting Your Palo Alto Config</strong></h2>
<p>First, export your running configuration. You have two options:</p>
<p><strong>Via GUI:</strong></p>
<ol>
<li><p>Navigate to Device → Setup → Operations</p>
</li>
<li><p>Click "Export named configuration snapshot"</p>
</li>
<li><p>Select "running-config.xml"</p>
</li>
<li><p>Save the downloaded XML file</p>
</li>
</ol>
<p><strong>Via CLI:</strong></p>
<pre><code class="lang-plaintext">&gt; show config running
</code></pre>
<p>Copy the output and save as an .xml file.</p>
<h2 id="heading-palo-alto-xml-structure"><strong>Palo Alto XML Structure</strong></h2>
<p>Unlike FortiGate's text-based config, Palo Alto uses hierarchical XML. The structure follows this pattern:</p>
<pre><code class="lang-plaintext">&lt;config&gt;
  &lt;devices&gt;
    &lt;entry name="localhost.localdomain"&gt;
      &lt;vsys&gt;
        &lt;entry name="vsys1"&gt;
          &lt;address&gt;
            &lt;!-- Address objects here --&gt;
          &lt;/address&gt;
          &lt;address-group&gt;
            &lt;!-- Address groups here --&gt;
          &lt;/address-group&gt;
        &lt;/entry&gt;
      &lt;/vsys&gt;
      &lt;network&gt;
        &lt;interface&gt;
          &lt;!-- Interfaces here --&gt;
        &lt;/interface&gt;
        &lt;virtual-router&gt;
          &lt;!-- Routes here --&gt;
        &lt;/virtual-router&gt;
      &lt;/network&gt;
    &lt;/entry&gt;
  &lt;/devices&gt;
&lt;/config&gt;
</code></pre>
<h2 id="heading-1-address-objects"><strong>1. Address Objects</strong></h2>
<p>Address objects are the building blocks of your firewall policies. They're stored under each vsys:</p>
<pre><code class="lang-plaintext">&lt;address&gt;
  &lt;entry name="Web-Server-01"&gt;
    &lt;ip-netmask&gt;10.1.1.100/32&lt;/ip-netmask&gt;
    &lt;description&gt;Production web server&lt;/description&gt;
    &lt;tag&gt;
      &lt;member&gt;Production&lt;/member&gt;
    &lt;/tag&gt;
  &lt;/entry&gt;
  &lt;entry name="Internal-Network"&gt;
    &lt;ip-netmask&gt;10.0.0.0/8&lt;/ip-netmask&gt;
  &lt;/entry&gt;
  &lt;entry name="Partner-DNS"&gt;
    &lt;fqdn&gt;dns.partner.com&lt;/fqdn&gt;
  &lt;/entry&gt;
  &lt;entry name="IP-Range-DHCP"&gt;
    &lt;ip-range&gt;192.168.1.100-192.168.1.200&lt;/ip-range&gt;
  &lt;/entry&gt;
&lt;/address&gt;
</code></pre>
<p><strong>What SimpleIPAM extracts:</strong></p>
<ul>
<li><p><strong>Name:</strong> The object identifier from the entry name attribute</p>
</li>
<li><p><strong>Type:</strong> ip-netmask (host or subnet), ip-range, or fqdn</p>
</li>
<li><p><strong>Value:</strong> The IP address, CIDR, range, or domain</p>
</li>
<li><p><strong>Description:</strong> Documentation text if present</p>
</li>
<li><p><strong>Tags:</strong> Organizational labels</p>
</li>
<li><p><strong>vsys:</strong> Which virtual system contains this object</p>
</li>
</ul>
<h2 id="heading-2-address-groups"><strong>2. Address Groups</strong></h2>
<p>Groups reference address objects by name:</p>
<pre><code class="lang-plaintext">&lt;address-group&gt;
  &lt;entry name="Web-Servers"&gt;
    &lt;static&gt;
      &lt;member&gt;Web-Server-01&lt;/member&gt;
      &lt;member&gt;Web-Server-02&lt;/member&gt;
      &lt;member&gt;Web-Server-03&lt;/member&gt;
    &lt;/static&gt;
    &lt;description&gt;All production web servers&lt;/description&gt;
  &lt;/entry&gt;
  &lt;entry name="All-Internal"&gt;
    &lt;static&gt;
      &lt;member&gt;Internal-Network&lt;/member&gt;
      &lt;member&gt;VPN-Users&lt;/member&gt;
    &lt;/static&gt;
  &lt;/entry&gt;
&lt;/address-group&gt;
</code></pre>
<p><strong>What SimpleIPAM extracts:</strong></p>
<ul>
<li><p><strong>Group name</strong></p>
</li>
<li><p><strong>Member list:</strong> All referenced address objects</p>
</li>
<li><p><strong>Member count</strong></p>
</li>
<li><p><strong>Type:</strong> Static (explicit members) or dynamic (tag-based)</p>
</li>
<li><p><strong>Description</strong></p>
</li>
</ul>
<h2 id="heading-3-network-interfaces"><strong>3. Network Interfaces</strong></h2>
<p>Interfaces are defined in the network section:</p>
<pre><code class="lang-plaintext">&lt;network&gt;
  &lt;interface&gt;
    &lt;ethernet&gt;
      &lt;entry name="ethernet1/1"&gt;
        &lt;layer3&gt;
          &lt;ip&gt;
            &lt;entry name="203.0.113.1/30"/&gt;
          &lt;/ip&gt;
        &lt;/layer3&gt;
        &lt;comment&gt;WAN Interface&lt;/comment&gt;
      &lt;/entry&gt;
      &lt;entry name="ethernet1/2"&gt;
        &lt;layer3&gt;
          &lt;ip&gt;
            &lt;entry name="10.1.1.1/24"/&gt;
          &lt;/ip&gt;
          &lt;interface-management-profile&gt;Allow-Ping&lt;/interface-management-profile&gt;
        &lt;/layer3&gt;
        &lt;comment&gt;LAN Interface&lt;/comment&gt;
      &lt;/entry&gt;
    &lt;/ethernet&gt;
    &lt;loopback&gt;
      &lt;entry name="loopback.1"&gt;
        &lt;ip&gt;
          &lt;entry name="10.255.255.1/32"/&gt;
        &lt;/ip&gt;
      &lt;/entry&gt;
    &lt;/loopback&gt;
  &lt;/interface&gt;
&lt;/network&gt;
</code></pre>
<p><strong>What SimpleIPAM extracts:</strong></p>
<ul>
<li><p><strong>Interface name:</strong> ethernet1/1, loopback.1, tunnel.1, etc.</p>
</li>
<li><p><strong>IP address with CIDR</strong></p>
</li>
<li><p><strong>Interface type:</strong> Ethernet, loopback, tunnel, VLAN</p>
</li>
<li><p><strong>Comment/description</strong></p>
</li>
<li><p><strong>Zone assignment</strong> (from zone configuration)</p>
</li>
</ul>
<h2 id="heading-4-static-routes"><strong>4. Static Routes</strong></h2>
<p>Routes are defined in virtual-router configuration:</p>
<pre><code class="lang-plaintext">&lt;virtual-router&gt;
  &lt;entry name="default"&gt;
    &lt;routing-table&gt;
      &lt;ip&gt;
        &lt;static-route&gt;
          &lt;entry name="Default-Route"&gt;
            &lt;destination&gt;0.0.0.0/0&lt;/destination&gt;
            &lt;nexthop&gt;
              &lt;ip-address&gt;203.0.113.2&lt;/ip-address&gt;
            &lt;/nexthop&gt;
            &lt;interface&gt;ethernet1/1&lt;/interface&gt;
            &lt;metric&gt;10&lt;/metric&gt;
          &lt;/entry&gt;
          &lt;entry name="Branch-Office"&gt;
            &lt;destination&gt;10.2.0.0/16&lt;/destination&gt;
            &lt;nexthop&gt;
              &lt;ip-address&gt;10.1.1.254&lt;/ip-address&gt;
            &lt;/nexthop&gt;
            &lt;interface&gt;ethernet1/2&lt;/interface&gt;
          &lt;/entry&gt;
        &lt;/static-route&gt;
      &lt;/ip&gt;
    &lt;/routing-table&gt;
  &lt;/entry&gt;
&lt;/virtual-router&gt;
</code></pre>
<p><strong>What SimpleIPAM extracts:</strong></p>
<ul>
<li><p><strong>Route name</strong></p>
</li>
<li><p><strong>Destination network:</strong> CIDR notation</p>
</li>
<li><p><strong>Next hop IP</strong></p>
</li>
<li><p><strong>Egress interface</strong></p>
</li>
<li><p><strong>Metric</strong></p>
</li>
<li><p><strong>Virtual router name</strong></p>
</li>
</ul>
<h2 id="heading-5-security-zones"><strong>5. Security Zones</strong></h2>
<p>Zones group interfaces by trust level:</p>
<pre><code class="lang-plaintext">&lt;zone&gt;
  &lt;entry name="Trust"&gt;
    &lt;network&gt;
      &lt;layer3&gt;
        &lt;member&gt;ethernet1/2&lt;/member&gt;
        &lt;member&gt;ethernet1/3&lt;/member&gt;
      &lt;/layer3&gt;
    &lt;/network&gt;
  &lt;/entry&gt;
  &lt;entry name="Untrust"&gt;
    &lt;network&gt;
      &lt;layer3&gt;
        &lt;member&gt;ethernet1/1&lt;/member&gt;
      &lt;/layer3&gt;
    &lt;/network&gt;
  &lt;/entry&gt;
  &lt;entry name="DMZ"&gt;
    &lt;network&gt;
      &lt;layer3&gt;
        &lt;member&gt;ethernet1/4&lt;/member&gt;
      &lt;/layer3&gt;
    &lt;/network&gt;
  &lt;/entry&gt;
&lt;/zone&gt;
</code></pre>
<h2 id="heading-6-nat-rules"><strong>6. NAT Rules</strong></h2>
<p>NAT rules map external to internal addresses:</p>
<pre><code class="lang-plaintext">&lt;nat&gt;
  &lt;rules&gt;
    &lt;entry name="NAT-Web-Server"&gt;
      &lt;source-translation&gt;
        &lt;dynamic-ip-and-port&gt;
          &lt;interface-address&gt;
            &lt;interface&gt;ethernet1/1&lt;/interface&gt;
          &lt;/interface-address&gt;
        &lt;/dynamic-ip-and-port&gt;
      &lt;/source-translation&gt;
      &lt;to&gt;
        &lt;member&gt;Untrust&lt;/member&gt;
      &lt;/to&gt;
      &lt;destination&gt;
        &lt;member&gt;any&lt;/member&gt;
      &lt;/destination&gt;
      &lt;source&gt;
        &lt;member&gt;Web-Server-01&lt;/member&gt;
      &lt;/source&gt;
    &lt;/entry&gt;
  &lt;/rules&gt;
&lt;/nat&gt;
</code></pre>
<h2 id="heading-handling-multi-vsys-configurations"><strong>Handling Multi-vsys Configurations</strong></h2>
<p>If your Palo Alto uses multiple virtual systems, SimpleIPAM extracts data from each vsys separately and tags objects with their vsys context. This lets you see which virtual firewall owns each address object.</p>
<h2 id="heading-what-we-dont-parse"><strong>What We Don't Parse</strong></h2>
<p>SimpleIPAM focuses on IP address management. We intentionally skip:</p>
<ul>
<li><p><strong>Security policies:</strong> That's a different type of analysis</p>
</li>
<li><p><strong>Service objects:</strong> TCP/UDP ports aren't relevant to IPAM</p>
</li>
<li><p><strong>User-ID configuration:</strong> Not IP-related</p>
</li>
<li><p><strong>Threat prevention profiles:</strong> Security profiles are out of scope</p>
</li>
<li><p><strong>GlobalProtect settings:</strong> VPN config is separate from IP allocation</p>
</li>
</ul>
<h2 id="heading-try-it-with-your-config"><strong>Try It With Your Config</strong></h2>
<p>Upload your Palo Alto config and see what we extract:</p>
<p><a target="_blank" href="https://www.simpleipam.com/analyze"><strong>Analyze Your Palo Alto Config</strong></a></p>
<p>Works with PAN-OS 10.x and 11.x. No registration required.</p>
]]></content:encoded></item><item><title><![CDATA[Parsing FortiGate Configs: What We Extract and Why]]></title><description><![CDATA[FortiGate firewalls use a hierarchical config structure that's both powerful and complex. Here's exactly what SimpleIPAM extracts and how we make it useful.
The FortiGate Config Structure
FortiGate configs use a config / edit / next / end syntax. Eve...]]></description><link>https://blog.simpleipam.com/parsing-fortigate-configs-what-we-extract-and-why</link><guid isPermaLink="true">https://blog.simpleipam.com/parsing-fortigate-configs-what-we-extract-and-why</guid><category><![CDATA[Fortigate]]></category><category><![CDATA[parsing]]></category><category><![CDATA[technical]]></category><dc:creator><![CDATA[SimpleIPAM]]></dc:creator><pubDate>Sun, 30 Nov 2025 23:28:37 GMT</pubDate><content:encoded><![CDATA[<p>FortiGate firewalls use a hierarchical config structure that's both powerful and complex. Here's exactly what SimpleIPAM extracts and how we make it useful.</p>
<h2 id="heading-the-fortigate-config-structure"><strong>The FortiGate Config Structure</strong></h2>
<p>FortiGate configs use a <code>config</code> / <code>edit</code> / <code>next</code> / <code>end</code> syntax. Everything is hierarchical, and sections can be deeply nested (especially with VDOMs).</p>
<p>SimpleIPAM parses six key sections from your FortiGate configuration:</p>
<ul>
<li><p>Firewall Address Objects</p>
</li>
<li><p>Firewall Address Groups</p>
</li>
<li><p>System Interfaces</p>
</li>
<li><p>Virtual IPs (VIPs)</p>
</li>
<li><p>Static Routes</p>
</li>
<li><p>Security Zones</p>
</li>
</ul>
<h2 id="heading-1-firewall-address-objects"><strong>1. Firewall Address Objects</strong></h2>
<p>Address objects are the foundation of your firewall's IP management:</p>
<pre><code class="lang-plaintext">config firewall address
    edit "Server-Web-01"
        set subnet 10.1.1.10 255.255.255.255
        set comment "Production web server"
    next
    edit "Internal-Network"
        set subnet 10.0.0.0 255.0.0.0
    next
    edit "External-DNS"
        set type fqdn
        set fqdn "dns.google.com"
    next
end
</code></pre>
<p><strong>What we extract:</strong></p>
<ul>
<li><p><strong>Name:</strong> Object identifier (e.g., "Server-Web-01")</p>
</li>
<li><p><strong>Type:</strong> host, subnet, range, fqdn, geography, dynamic</p>
</li>
<li><p><strong>Value:</strong> IP address, CIDR, FQDN, or range</p>
</li>
<li><p><strong>Subnet:</strong> Parent subnet calculated from value</p>
</li>
<li><p><strong>Comment:</strong> Description field</p>
</li>
<li><p><strong>Category:</strong> Auto-categorized as private, public, external, etc.</p>
</li>
</ul>
<p><strong>Why it matters:</strong> Address objects are reused across firewall policies, NAT rules, and routing. Knowing what each object represents is critical for understanding your firewall's logic.</p>
<h2 id="heading-2-firewall-address-groups"><strong>2. Firewall Address Groups</strong></h2>
<pre><code class="lang-plaintext">config firewall addrgrp
    edit "Web-Servers"
        set member "Server-Web-01" "Server-Web-02"
        set comment "All web servers"
    next
    edit "Database-Cluster"
        set member "DB-Primary" "DB-Replica-01" "DB-Replica-02"
    next
end
</code></pre>
<p><strong>What we extract:</strong></p>
<ul>
<li><p><strong>Group name</strong></p>
</li>
<li><p><strong>Member list:</strong> All address objects or groups in the group (nested groups supported)</p>
</li>
<li><p><strong>Member count</strong></p>
</li>
<li><p><strong>Comment</strong></p>
</li>
</ul>
<p><strong>Why it matters:</strong> Groups help you understand logical server clusters, network segments, and service groups. When troubleshooting a policy, knowing what's in "All-Internal-Networks" is essential.</p>
<h2 id="heading-3-system-interfaces"><strong>3. System Interfaces</strong></h2>
<pre><code class="lang-plaintext">config system interface
    edit "port1"
        set vdom "root"
        set ip 203.0.113.1 255.255.255.252
        set allowaccess ping https ssh
        set type physical
        set alias "WAN"
    next
    edit "port2"
        set ip 10.1.1.1 255.255.255.0
        set allowaccess ping https
        set type physical
        set alias "LAN"
    next
end
</code></pre>
<p><strong>What we extract:</strong></p>
<ul>
<li><p><strong>Interface name</strong> (port1, port2, VLANs, tunnels)</p>
</li>
<li><p><strong>IP address and netmask</strong></p>
</li>
<li><p><strong>CIDR notation</strong> (calculated from IP/netmask)</p>
</li>
<li><p><strong>Alias</strong> (human-readable name like "WAN" or "LAN")</p>
</li>
<li><p><strong>Type:</strong> physical, vlan, tunnel, aggregate, etc.</p>
</li>
<li><p><strong>VDOM</strong> (for multi-tenant configs)</p>
</li>
</ul>
<p><strong>Why it matters:</strong> Interfaces define your network boundaries. Understanding which subnet lives on which interface is fundamental to IP address management and routing decisions.</p>
<h2 id="heading-4-virtual-ips-vips"><strong>4. Virtual IPs (VIPs)</strong></h2>
<p>VIPs map external (public) IPs to internal (private) IPs for inbound NAT:</p>
<pre><code class="lang-plaintext">config firewall vip
    edit "VIP-WebServer"
        set extip 203.0.113.10
        set mappedip "10.1.1.5"
        set extintf "port1"
    next
    edit "VIP-HTTPS"
        set extip 203.0.113.10
        set mappedip "10.1.1.5"
        set extintf "port1"
        set portforward enable
        set extport 443
        set mappedport 8443
    next
end
</code></pre>
<p><strong>What we extract:</strong></p>
<ul>
<li><p><strong>VIP name</strong></p>
</li>
<li><p><strong>External IP:</strong> The public-facing address</p>
</li>
<li><p><strong>Mapped IP:</strong> The internal server address</p>
</li>
<li><p><strong>External interface</strong></p>
</li>
<li><p><strong>Port mapping:</strong> If portforward is enabled, we capture external to mapped port translation</p>
</li>
</ul>
<p><strong>Why it matters:</strong> VIPs are critical for understanding how your public IPs map to internal servers. When you see traffic to 203.0.113.10, you need to know it's actually going to 10.1.1.5.</p>
<h2 id="heading-5-static-routes"><strong>5. Static Routes</strong></h2>
<pre><code class="lang-plaintext">config router static
    edit 1
        set gateway 203.0.113.1
        set device "port1"
        set comment "Default route to ISP"
    next
    edit 2
        set dst 10.2.0.0 255.255.0.0
        set gateway 10.1.1.254
        set device "port2"
        set distance 10
    next
end
</code></pre>
<p><strong>What we extract:</strong></p>
<ul>
<li><p><strong>Destination network:</strong> CIDR block (0.0.0.0/0 for default route)</p>
</li>
<li><p><strong>Gateway IP</strong></p>
</li>
<li><p><strong>Egress interface</strong></p>
</li>
<li><p><strong>Administrative distance:</strong> Route priority</p>
</li>
<li><p><strong>Comment</strong></p>
</li>
</ul>
<p><strong>Why it matters:</strong> Static routes determine how traffic reaches remote networks. If you're managing multi-site networks or branch offices, routes show you how subnets are interconnected.</p>
<h2 id="heading-6-security-zones"><strong>6. Security Zones</strong></h2>
<pre><code class="lang-plaintext">config system zone
    edit "WAN"
        set interface "port1" "port1-vlan100"
        set description "External zone"
    next
    edit "LAN"
        set interface "port2" "port3"
        set description "Internal zone"
    next
    edit "DMZ"
        set interface "port4"
        set description "DMZ servers"
    next
end
</code></pre>
<p><strong>What we extract:</strong></p>
<ul>
<li><p><strong>Zone name</strong> (WAN, LAN, DMZ, etc.)</p>
</li>
<li><p><strong>Member interfaces</strong></p>
</li>
<li><p><strong>Description</strong></p>
</li>
</ul>
<p><strong>Why it matters:</strong> Zones group interfaces by trust level. Understanding which interfaces belong to which zones is critical for interpreting firewall policies.</p>
<h2 id="heading-what-we-dont-parse-and-why"><strong>What We Don't Parse (And Why)</strong></h2>
<p>SimpleIPAM is focused on <strong>IP address management</strong>, not firewall policy analysis. We intentionally skip:</p>
<ul>
<li><p><strong>Firewall policies:</strong> We're developing a separate tool for policy analysis and audit workflows</p>
</li>
<li><p><strong>Service objects:</strong> TCP/UDP ports aren't relevant to IP management</p>
</li>
<li><p><strong>SSL VPN users:</strong> Not IP-related</p>
</li>
<li><p><strong>IPS/AV signatures:</strong> Security profiles are out of scope</p>
</li>
</ul>
<h2 id="heading-how-we-handle-vdoms"><strong>How We Handle VDOMs</strong></h2>
<p>If your FortiGate uses Virtual Domains (VDOMs), we extract the VDOM context for each object. This helps you understand which objects belong to which virtual firewall instance.</p>
<p>All extracted data includes a <code>vdom</code> field (defaults to "root" for single-VDOM configs).</p>
<h2 id="heading-try-it-yourself"><strong>Try It Yourself</strong></h2>
<p>Upload your FortiGate config and see what we extract:</p>
<p><a target="_blank" href="https://www.simpleipam.com/analyze"><strong>Analyze Your FortiGate Config</strong></a></p>
<p>No registration required. Config is processed in your browser and not stored.</p>
]]></content:encoded></item><item><title><![CDATA[Why SimpleIPAM Doesn't Scan Your Network]]></title><description><![CDATA[Every traditional IPAM tool scans your network. We deliberately chose not to. Here's why that decision makes SimpleIPAM faster, more secure, and easier to use.
The Traditional IPAM Approach
Most IPAM tools work by scanning your network infrastructure...]]></description><link>https://blog.simpleipam.com/why-simpleipam-doesnt-scan-your-network</link><guid isPermaLink="true">https://blog.simpleipam.com/why-simpleipam-doesnt-scan-your-network</guid><category><![CDATA[Security]]></category><category><![CDATA[architecture]]></category><category><![CDATA[compliance ]]></category><dc:creator><![CDATA[SimpleIPAM]]></dc:creator><pubDate>Sun, 30 Nov 2025 23:27:14 GMT</pubDate><content:encoded><![CDATA[<p>Every traditional IPAM tool scans your network. We deliberately chose not to. Here's why that decision makes SimpleIPAM faster, more secure, and easier to use.</p>
<h2 id="heading-the-traditional-ipam-approach"><strong>The Traditional IPAM Approach</strong></h2>
<p>Most IPAM tools work by scanning your network infrastructure:</p>
<ol>
<li><p>You provide network device credentials (SNMP, SSH, API keys)</p>
</li>
<li><p>Agents query devices every few minutes/hours</p>
</li>
<li><p>Data is aggregated in a central database</p>
</li>
<li><p>You get a dashboard of current network state</p>
</li>
</ol>
<p>This works, but it comes with significant overhead.</p>
<h2 id="heading-the-hidden-costs-of-network-scanning"><strong>The Hidden Costs of Network Scanning</strong></h2>
<h3 id="heading-1-security-risks"><strong>1. Security Risks</strong></h3>
<p>Network scanning requires credentials — lots of them:</p>
<ul>
<li><p>SNMP community strings for every device</p>
</li>
<li><p>SSH keys or passwords for CLI access</p>
</li>
<li><p>API tokens for REST-based management</p>
</li>
<li><p>Service accounts in Active Directory</p>
</li>
</ul>
<p>Now you're managing credential rotation, security reviews, and access controls for a tool that's supposed to <em>simplify</em> your life. When the IPAM tool gets compromised, an attacker has credentials to your entire network.</p>
<h3 id="heading-2-firewall-configuration"><strong>2. Firewall Configuration</strong></h3>
<p>To scan your network, the IPAM tool needs access to it. That means:</p>
<ul>
<li><p>Opening firewall rules for SNMP (UDP 161)</p>
</li>
<li><p>Allowing SSH access (TCP 22) from the IPAM server</p>
</li>
<li><p>Permitting HTTPS API calls to management interfaces</p>
</li>
<li><p>Maintaining these rules across firewall upgrades and reconfigurations</p>
</li>
</ul>
<p>Every firewall rule is a potential attack vector. Every management interface exposed is a risk.</p>
<h3 id="heading-3-performance-impact"><strong>3. Performance Impact</strong></h3>
<p>Network scanning isn't free:</p>
<ul>
<li><p>SNMP polling adds load to device CPUs</p>
</li>
<li><p>SSH sessions consume memory</p>
</li>
<li><p>API queries impact management plane performance</p>
</li>
<li><p>Large networks can take 30-60 minutes to scan completely</p>
</li>
</ul>
<p>We've seen cases where aggressive IPAM scanning caused management interface slowdowns during critical troubleshooting.</p>
<h3 id="heading-4-compliance-headaches"><strong>4. Compliance Headaches</strong></h3>
<p>Regulatory frameworks (PCI DSS, HIPAA, SOC 2) have specific requirements around:</p>
<ul>
<li><p>Credential management and rotation</p>
</li>
<li><p>Network access logging</p>
</li>
<li><p>Third-party tool security reviews</p>
</li>
<li><p>Data retention and privacy</p>
</li>
</ul>
<p>Scanning-based IPAM tools trigger all of these requirements. Your compliance team will want documentation, audits, and assurances before approval.</p>
<h2 id="heading-the-config-based-alternative"><strong>The Config-Based Alternative</strong></h2>
<p>SimpleIPAM sidesteps all of these problems by using a fundamentally different data source: your firewall configuration files.</p>
<h3 id="heading-security-benefits"><strong>Security Benefits</strong></h3>
<ul>
<li><p><strong>Zero network access:</strong> We never connect to your network. No credentials to store, rotate, or leak.</p>
</li>
<li><p><strong>You control the data:</strong> Redact sensitive information before upload. Remove comments, hostnames, or anything you don't want to share.</p>
</li>
<li><p><strong>No persistent storage (in preview):</strong> Configs are parsed and discarded. Nothing is retained on our servers.</p>
</li>
<li><p><strong>Audit-friendly:</strong> Easy to demonstrate to auditors — just show them the config you uploaded (or didn't).</p>
</li>
</ul>
<h3 id="heading-speed-benefits"><strong>Speed Benefits</strong></h3>
<ul>
<li><p><strong>Results in seconds:</strong> Parsing a 50,000-line FortiGate config takes 3-5 seconds. No waiting for scan cycles.</p>
</li>
<li><p><strong>No device impact:</strong> Zero load on your production infrastructure.</p>
</li>
<li><p><strong>Instant updates:</strong> Made a config change? Upload the new config and see updated results immediately.</p>
</li>
</ul>
<h3 id="heading-compliance-benefits"><strong>Compliance Benefits</strong></h3>
<ul>
<li><p><strong>No credential management:</strong> Eliminates an entire category of compliance requirements.</p>
</li>
<li><p><strong>No network access logging:</strong> The tool never touches your network.</p>
</li>
<li><p><strong>Minimal security review:</strong> Upload a config, get results. No agents, no scanning, no persistent connections.</p>
</li>
</ul>
<h2 id="heading-what-you-give-up"><strong>What You Give Up</strong></h2>
<p>Config-based IPAM isn't perfect. Here's what you lose compared to scanning:</p>
<ul>
<li><p><strong>Real-time DHCP utilization:</strong> We can't tell you how many addresses are currently leased from your DHCP pools.</p>
</li>
<li><p><strong>Rogue device detection:</strong> We won't find devices that shouldn't be on your network.</p>
</li>
<li><p><strong>Automatic updates:</strong> You need to re-upload configs to see changes. No continuous monitoring.</p>
</li>
<li><p><strong>Layer 2 visibility:</strong> We don't see MAC addresses, switch ports, or ARP tables.</p>
</li>
</ul>
<p>For many teams, these tradeoffs are worth it. If your primary pain point is "I don't know what's in my firewall config," SimpleIPAM solves that instantly. If you need real-time DHCP monitoring, you probably still need a traditional IPAM tool.</p>
<h2 id="heading-future-api-based-integration-not-scanning"><strong>Future: API-Based Integration (Not Scanning)</strong></h2>
<p>We're planning to support <strong>API-based cloud integrations</strong> for AWS, Azure, and Google Cloud VPC data. You provide credentials, we fetch metadata about your cloud subnets.</p>
<p>Key difference: This is <strong>read-only API access to cloud metadata</strong>, not network scanning. You're in control of what we can access via IAM policies.</p>
<h2 id="heading-try-it-yourself"><strong>Try It Yourself</strong></h2>
<p>The best way to understand the difference is to experience it:</p>
<p><a target="_blank" href="https://www.simpleipam.com/analyze"><strong>Upload a Config and See Results in 5 Seconds</strong></a></p>
<p>No registration required. No credentials to provide. Just upload and see what we extract.</p>
]]></content:encoded></item><item><title><![CDATA[Introducing SimpleIPAM: IP Management Without the Complexity]]></title><description><![CDATA[We built SimpleIPAM to solve a problem we kept seeing: network engineers managing IP addresses in Excel spreadsheets that are always out of date.
The Problem
If you've managed network infrastructure for any length of time, you know this spreadsheet. ...]]></description><link>https://blog.simpleipam.com/introducing-simpleipam-ip-management-without-the-complexity</link><guid isPermaLink="true">https://blog.simpleipam.com/introducing-simpleipam-ip-management-without-the-complexity</guid><category><![CDATA[launch]]></category><category><![CDATA[product]]></category><category><![CDATA[ipam]]></category><dc:creator><![CDATA[SimpleIPAM]]></dc:creator><pubDate>Sun, 30 Nov 2025 23:06:23 GMT</pubDate><content:encoded><![CDATA[<p>We built SimpleIPAM to solve a problem we kept seeing: network engineers managing IP addresses in Excel spreadsheets that are always out of date.</p>
<h2 id="heading-the-problem"><strong>The Problem</strong></h2>
<p>If you've managed network infrastructure for any length of time, you know this spreadsheet. It has 50+ tabs, one for each site or VLAN. The formulas break randomly. Someone edits it during a change window, and suddenly nobody knows what's assigned where. And it's <em>always</em> out of sync with your actual firewall configs.</p>
<p>Enterprise IPAM tools exist — SolarWinds, Infoblox, BlueCat — but they come with significant overhead:</p>
<ul>
<li><p>$10,000+ annual licensing</p>
</li>
<li><p>Network scanning agents to deploy</p>
</li>
<li><p>Credentials to manage and rotate</p>
</li>
<li><p>Firewall rules to configure</p>
</li>
<li><p>Security review processes</p>
</li>
<li><p>3-6 month deployment timelines</p>
</li>
</ul>
<p>For small and mid-sized networks, this is overkill. Most teams end up sticking with the spreadsheet because the alternative is too complex and expensive.</p>
<h2 id="heading-a-different-approach"><strong>A Different Approach</strong></h2>
<p>SimpleIPAM takes a fundamentally different approach: instead of scanning your network, we parse your firewall configuration.</p>
<p>Your firewall config already contains everything you need to know about your IP address space:</p>
<ul>
<li><p>Address objects (hosts, subnets, ranges)</p>
</li>
<li><p>Address groups and their members</p>
</li>
<li><p>Interface IP assignments</p>
</li>
<li><p>VIP/NAT mappings</p>
</li>
<li><p>Static routing tables</p>
</li>
<li><p>Security zones</p>
</li>
</ul>
<p>We extract all of this in seconds and present it in a visual, searchable format. No scanning. No credentials. No agents.</p>
<h2 id="heading-how-it-works"><strong>How It Works</strong></h2>
<ol>
<li><p><strong>Upload your config:</strong> Drag and drop your FortiGate or Palo Alto configuration file. Or paste CSV/Excel data if that's what you have.</p>
</li>
<li><p><strong>Instant parsing:</strong> We extract every address object, group, interface, VIP, route, and zone from your config.</p>
</li>
<li><p><strong>Visual exploration:</strong> Browse your entire IP hierarchy. Click any subnet to see utilization. Search for specific addresses. Spot conflicts.</p>
</li>
<li><p><strong>Export results:</strong> Download everything as CSV for further analysis or documentation.</p>
</li>
</ol>
<p>The entire process takes 5-10 seconds. No deployment, no infrastructure, no credentials.</p>
<h2 id="heading-what-we-support-today"><strong>What We Support Today</strong></h2>
<ul>
<li><p><strong>FortiGate:</strong> Full support for address objects, address groups, interfaces, VIPs, zones, and static routes</p>
</li>
<li><p><strong>Palo Alto:</strong> XML parsing for address objects, groups, NAT rules, interfaces, zones, and routing</p>
</li>
<li><p><strong>Excel/CSV:</strong> Import IP address data from spreadsheets (yes, we know you have them)</p>
</li>
</ul>
<p><strong>Coming soon:</strong> Cisco IOS/NX-OS router and switch configs, expanding beyond just firewalls to give you complete visibility across your network infrastructure.</p>
<h2 id="heading-why-no-scanning"><strong>Why No Scanning?</strong></h2>
<p>This deserves its own post (which we'll publish soon), but here's the short version:</p>
<p><strong>Security:</strong> No scanning means no network credentials to manage, no firewall rules to configure, and zero attack surface from the tool itself. You control what you upload.</p>
<p><strong>Speed:</strong> Config parsing takes seconds. Network scanning takes minutes to hours, especially for large networks.</p>
<p><strong>Compliance:</strong> Need to demo the tool but can't give us network access? Redact sensitive data from your config and upload. Perfect for security-conscious environments.</p>
<h2 id="heading-try-it-now"><strong>Try It Now</strong></h2>
<p>SimpleIPAM is live and free to use in preview mode. Upload a config and see what you think:</p>
<p><a target="_blank" href="https://www.simpleipam.com/analyze"><strong>Try SimpleIPAM Free</strong></a></p>
<p>We're working toward a paid tier with features like saved configs, change tracking, multi-site topology, and team collaboration. The core parsing and visualization will always be free.</p>
<h2 id="heading-wed-love-your-feedback"><strong>We'd Love Your Feedback</strong></h2>
<p>We built SimpleIPAM to solve our own IP management problems, but we want to make sure it solves yours too.</p>
<p>Questions we're asking:</p>
<ul>
<li><p>What firewall/network vendors should we support next?</p>
</li>
<li><p>What features would make you ditch the spreadsheet?</p>
</li>
<li><p>What's missing from the current implementation?</p>
</li>
</ul>
<p>Send us feedback using the feedback button in the header, or email hello [at] simpleipam [dot] com.</p>
]]></content:encoded></item></channel></rss>