FortiGate VDOM Configuration — Multi-Tenant Firewall Design & CLI Guide
FortiGate Virtual Domains (VDOMs) let you partition a single physical firewall into multiple independent virtual firewalls — each with its own interfaces, routing table, firewall policies, VPN tunnels, and UTM profiles. Whether you're an MSSP serving multiple clients on one appliance, an enterprise segmenting departments for compliance, or a campus network isolating guest WiFi from production — VDOMs are how you do it on FortiGate. This guide covers everything from enabling VDOMs to NPU-accelerated inter-VDOM routing, with verified CLI commands from the official FortiOS 7.6 documentation.
What is a VDOM?
A VDOM is a logically independent FortiGate instance running on shared hardware. Each VDOM has:
- Its own interfaces (physical ports, VLANs, tunnels assigned exclusively)
- Its own routing table (static, OSPF, BGP, IS-IS — fully independent)
- Its own firewall policies (no cross-VDOM rule inheritance)
- Its own VPN tunnels (site-to-site IPsec, SSL VPN, ZTNA)
- Its own UTM/security profiles (IPS, AV, web filter, app control)
- Its own admin accounts (per-VDOM RBAC for delegated management)
VDOMs share the FortiGate's CPU, memory, and ASIC resources — but you can set per-VDOM resource limits to prevent any single VDOM from monopolizing the hardware.
VDOM Limits Per FortiGate Model
| Model Series | Default VDOMs | Max VDOMs | Expandable? |
|---|---|---|---|
| FortiGate-90G / 120G | 10 | 10 | No — hardware limit |
| FortiGate-200G / 400F (200–400 series) | 10 | 25 | Yes (FortiOS 7.4.9+ / 7.6.1+) |
| FortiGate-600F / 900G (500–900 series) | 10 | 50 | Yes (FortiOS 7.4.9+ / 7.6.1+) |
| FortiGate-1800F / 3500F (1000+ series) | 10 | 250+ | Yes (VDOM-UG licenses, stackable) |
| FortiGate-VM | 10 | Varies | Yes (subscription VDOM license, FortiOS 7.0.2+) |
VDOM-UG licenses are stackable: default 10 + FG-VDOM-5-UG + FG-VDOM-15-UG = 30 VDOMs. Sources: Fortinet Community, Max Value Table
Step 1: Enable Multi-VDOM Mode
config system global
set vdom-mode multi-vdom
end
# GUI: System > Settings > Virtual Domains > Multi VDOM
When you enable VDOMs, all existing configuration moves into the root VDOM. The root VDOM exists by default and cannot be deleted. FortiOS 7.2+ removed the old "split-task" mode — only multi-vdom is supported now.
VDOM Types (FortiOS 7.2+)
- Traffic VDOM — standard VDOM that processes network traffic. Default type for all VDOMs.
- Admin VDOM — management-only VDOM for SSH/HTTPS access. Cannot pass traffic. Only one admin VDOM per FortiGate. Useful for MSSP scenarios where management is completely isolated from customer traffic.
Step 2: Create VDOMs and Assign Interfaces
config vdom
edit "CustomerA"
next
edit "CustomerB"
next
edit "Guest"
next
end
# Assign physical interfaces to VDOMs
config global
config system interface
edit "port3"
set vdom "CustomerA"
next
edit "port4"
set vdom "CustomerB"
next
edit "port5"
set vdom "Guest"
next
end
end
# Set admin VDOM type (optional, FortiOS 7.2+)
config vdom
edit "mgmt"
config system settings
set vdom-type admin
end
next
end
Key rule: Settings inside config global are shared (interfaces, HA, system settings). Settings inside config vdom > edit <name> are per-VDOM (routing, policies, VPN, UTM). Interfaces default to root VDOM until explicitly reassigned.
Step 3: Inter-VDOM Routing
VDOMs are isolated by default — no traffic flows between them. To enable controlled communication (e.g., customer VDOMs accessing the internet via root), you need inter-VDOM links. There are two types:
Software VDOM Link
- CPU-processed (no hardware offload)
- No limit on number of links
- Available on all FortiGate models
- Use for low-throughput inter-VDOM traffic
- Supports PPP and Ethernet types
NPU VDOM Link (Recommended)
- Hardware-accelerated (NP6/NP7 ASIC)
- Up to 200 Gbps throughput
- One link pair per NP processor
- Pre-created by system (npu0_vlink0/1)
- VLAN sub-interfaces for multiple VDOMs
Software VDOM Link — CLI Configuration
config global
config system vdom-link
edit "CustA-to-Root"
set type ethernet
next
end
# Assign link interfaces to VDOMs
config system interface
edit "CustA-to-Root0"
set vdom "CustomerA"
set ip 10.255.1.1 255.255.255.252
set allowaccess ping
next
edit "CustA-to-Root1"
set vdom "root"
set ip 10.255.1.2 255.255.255.252
set allowaccess ping
next
end
end
# Add default route in CustomerA pointing to root
config vdom
edit "CustomerA"
config router static
edit 1
set dst 0.0.0.0 0.0.0.0
set gateway 10.255.1.2
set device "CustA-to-Root0"
next
end
next
end
NPU VDOM Link — CLI Configuration (NP7)
# Discover available NPU vlinks:
get system interface | grep vlink
# Assign npu0_vlink1 to CustomerA (npu0_vlink0 stays in root)
config global
config system interface
edit "npu0_vlink0"
set ip 10.255.0.1 255.255.255.252
set allowaccess ping
next
edit "npu0_vlink1"
set vdom "CustomerA"
set ip 10.255.0.2 255.255.255.252
set allowaccess ping
next
end
end
NPU VDOM link throughput with NP7: up to 200 Gbps multi-session, 100 Gbps single-session. Source: FortiOS 7.6.6 Hardware Acceleration Guide
Pro tip: Need to connect more than 2 VDOMs through a single NPU link pair? Create VLAN sub-interfaces on the NPU vlink interfaces. Each VLAN tag connects a different VDOM while retaining full hardware acceleration.
Step 4: Per-VDOM Resource Limits
By default, any VDOM can consume all resources of the entire FortiGate. In multi-tenant environments, this is a noisy-neighbor risk. Set per-VDOM resource limits to prevent one tenant from starving others:
config system vdom-property
edit "CustomerA"
set session 50000
set firewall-policy 500
set ipsec-phase1 20
set sslvpn 100
set log-disk-quota 2048
next
end
end
Note: CPU and memory are NOT per-VDOM configurable. All VDOMs share system CPU and RAM. There is no CPU/memory pinning per VDOM in FortiOS. Resource limits only control object counts and session counts.
Step 5: Per-VDOM Admin Accounts
For MSSP or delegated management, create admin accounts restricted to specific VDOMs:
config system admin
edit "custA-admin"
set vdom "CustomerA"
set password ENC <encrypted>
set accprofile "prof_admin"
next
end
end
The custA-admin user can only see and manage the CustomerA VDOM. They cannot see root, other customer VDOMs, or global settings. This is essential for MSSP compliance — tenant isolation must extend to management access.
Design Patterns
MSSP Multi-Tenant
One VDOM per customer. Root/admin VDOM accessible only by MSSP. Per-tenant VLANs over shared Ethernet. Resource limits prevent noisy-neighbor. Per-VDOM admin accounts for customer self-service. SD-WAN hub with per-customer ADVPN overlays.
Campus Segmentation
HR, Finance, Guest, IoT on separate VDOMs. Inter-VDOM links for controlled access to shared services. Each department gets independent firewall policies and UTM profiles. Maps directly to RBI/DPDPA segmentation requirements.
Internet Edge + DMZ
Root VDOM handles WAN/internet. DMZ VDOM for public-facing servers. Internal VDOM for LAN. Inter-VDOM routing with strict policies between zones. Classic three-tier design on a single appliance.
SD-WAN Hub with VDOMs
Hub FortiGate uses VDOMs to separate customer SD-WAN overlays. Each customer VDOM runs independent SD-WAN rules, health checks, and ADVPN tunnels. FortiManager manages multi-VDOM SD-WAN at scale.
VDOM vs Competitors
| Capability | FortiGate VDOM | Check Point VSX | Palo Alto vsys |
|---|---|---|---|
| Default limit | 10 | 62 | Varies by model |
| Max (high-end) | 250+ | 250 | 255 (theoretical) |
| Supported models | All FortiGate models | VSX-enabled gateways only | PA-3400, 5400, 7000 only |
| Enable/disable | No reboot (logs out briefly) | Requires VSX license | Requires vsys license on PA-3400 |
| Full routing per instance | Yes (OSPF, BGP, IS-IS) | Yes | Yes |
| VPN per instance | Full (site-to-site + SSL VPN) | Full | Full |
| Hardware-accelerated inter-link | Yes (NPU vlink, up to 200 Gbps) | No (CPU only) | External-zone routing |
| Resource limits | Mature (sessions, policies, VPN, disk) | Interface limits scale with VS count | Newer feature in PAN-OS |
| Independent patching | Shared OS, isolated config | Shared OS, cannot patch individual VS | Shared PAN-OS |
7 Common VDOM Mistakes
- Forgetting to assign interfaces — New VDOMs have no interfaces until you explicitly assign them. Interfaces default to root.
- Running
diagnose sys session clearwithout a filter — This clears ALL sessions across ALL VDOMs. Always setdiagnose sys session filter vd <index>first. - Inter-VDOM routing loops — Two VDOMs with default routes pointing at each other. Use asymmetric routing or policy-based routing to break the loop.
- PPP vs Ethernet type mismatch — NAT-mode VDOM connecting to Transparent-mode VDOM requires Ethernet type, not the default PPP.
- Missing inter-VDOM firewall policies — Traffic between VDOMs still needs explicit firewall policies on the link interfaces. Without them, traffic is implicitly denied.
- MTU issues on VDOM links — Default MTU on software vdom-links may cause fragmentation. Verify with
fnsysctl ifconfig <interface>and adjust. - No resource limits in multi-tenant — Without
config system vdom-property, one tenant can exhaust all sessions/policies and impact everyone else.
Diagnostic Commands Quick Reference
diagnose sys vd list
# System performance (global)
get system performance status
# Filter sessions by VDOM index
diagnose sys session filter vd <index>
diagnose sys session list
# Show routes in a specific VDOM
config vdom
edit "CustomerA"
get router info routing-table all
end
# Discover NPU vlink interfaces
get system interface | grep vlink
# Check interface MTU (Linux-style output)
fnsysctl ifconfig <interface>
FortiManager + VDOM: ADOM Integration
FortiManager uses ADOMs (Administrative Domains) to group managed devices — including multi-VDOM FortiGates. Key facts:
- Each policy package can be targeted to a specific VDOM on a managed FortiGate
- In Advanced ADOM mode, individual VDOMs from a multi-VDOM FortiGate can be assigned to separate ADOMs (requires super user)
- FortiManager can create VDOMs remotely and push configurations to them
- Best practice: one policy package per managed VDOM to reduce admin error
Source: FortiManager 6.2.1 — Assigning VDOMs to an ADOM
India Use Cases
BFSI / RBI Compliance
RBI Cybersecurity Framework mandates network segmentation and Zero Trust. VDOMs isolate core banking from ATM network, internet banking, and DMZ. Each zone maps to a separate VDOM with independent security policies. Audit-ready — policies, VLANs, ACLs, and segmentation blueprints per zone.
University / Campus
Admin, Faculty, Student, and Guest WiFi on separate VDOMs. Each gets independent internet policies and bandwidth allocation. Guest VDOM with captive portal and no lateral access to internal VDOMs. Prevents infection spreading (as we documented in our university case study).
MSSP India
One FortiGate serves 10–25 SMB clients. Each client gets a dedicated VDOM with isolated policies, reporting, and VPN. MSSP retains root VDOM for management. Per-VDOM resource limits prevent noisy-neighbor. Significantly lower cost than deploying one firewall per client.
Need Help with VDOM Design?
Ogma designs and deploys multi-VDOM FortiGate architectures for Indian enterprises — from single-appliance campus segmentation to multi-site MSSP platforms. Our NSE 4-7 certified engineers handle the full lifecycle: design, deployment, inter-VDOM routing, FortiManager integration, and ongoing management.
Email [email protected] or contact us for a VDOM architecture consultation.
Stay ahead of cyber threats
One short email a week — curated Indian cybersecurity news, Fortinet releases, DPDPA updates. No fluff.