FortiGate VDOM Configuration — Multi-Tenant Firewall Design & CLI Guide

Satyam Maurya Published 10 Apr 2026  ·  By Satyam Maurya  ·  Cybersecurity  ·  9 min read

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 / 120G1010No — hardware limit
FortiGate-200G / 400F (200–400 series)1025Yes (FortiOS 7.4.9+ / 7.6.1+)
FortiGate-600F / 900G (500–900 series)1050Yes (FortiOS 7.4.9+ / 7.6.1+)
FortiGate-1800F / 3500F (1000+ series)10250+Yes (VDOM-UG licenses, stackable)
FortiGate-VM10VariesYes (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

# Enable multi-VDOM (logs you out — no reboot required)
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

# Create VDOMs
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

# Create software VDOM link
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)

# NPU links are pre-created by the system. Just reassign one side.
# 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 global
  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 global
  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 limit1062Varies by model
Max (high-end)250+250255 (theoretical)
Supported modelsAll FortiGate modelsVSX-enabled gateways onlyPA-3400, 5400, 7000 only
Enable/disableNo reboot (logs out briefly)Requires VSX licenseRequires vsys license on PA-3400
Full routing per instanceYes (OSPF, BGP, IS-IS)YesYes
VPN per instanceFull (site-to-site + SSL VPN)FullFull
Hardware-accelerated inter-linkYes (NPU vlink, up to 200 Gbps)No (CPU only)External-zone routing
Resource limitsMature (sessions, policies, VPN, disk)Interface limits scale with VS countNewer feature in PAN-OS
Independent patchingShared OS, isolated configShared OS, cannot patch individual VSShared PAN-OS

7 Common VDOM Mistakes

  1. Forgetting to assign interfaces — New VDOMs have no interfaces until you explicitly assign them. Interfaces default to root.
  2. Running diagnose sys session clear without a filter — This clears ALL sessions across ALL VDOMs. Always set diagnose sys session filter vd <index> first.
  3. Inter-VDOM routing loops — Two VDOMs with default routes pointing at each other. Use asymmetric routing or policy-based routing to break the loop.
  4. PPP vs Ethernet type mismatch — NAT-mode VDOM connecting to Transparent-mode VDOM requires Ethernet type, not the default PPP.
  5. Missing inter-VDOM firewall policies — Traffic between VDOMs still needs explicit firewall policies on the link interfaces. Without them, traffic is implicitly denied.
  6. MTU issues on VDOM links — Default MTU on software vdom-links may cause fragmentation. Verify with fnsysctl ifconfig <interface> and adjust.
  7. 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

# List all VDOMs with index numbers
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.


Cato Firewall as a Service
Cato ZTNA — Zero Trust Network Access
Cato SASE Solution