はじめに
「セキュリティポリシーが異なる部署ごとにファイアウォールを分けたいが、物理アプライアンスを何台も導入する予算は確保しにくい」「1 台の FortiGate で、複数の顧客(テナント)環境を安全に収容したい」
インフラ運用の現場では、こうした「コスト最適化」と「環境分離」の両立が課題になることが少なくありません。そのような場面で活用できるのが、本記事で解説する FortiGate の VDOM(Virtual Domain) 機能です。
VDOM を使うと、1 台の物理 FortiGate を、複数の独立したファイアウォールがあるかのように論理的に分割できます。
本記事では、VDOM の基本的な仕組みから、現場でよく採用される「LAG(リンクアグリゲーション)+ VLAN」を組み合わせた実践的な設定例までを、CLI と GUI の両方の観点から整理します。検証は FortiOS 7.4 / 7.6 系 を前提にしています。
- VDOM の仕組み(なぜ IP アドレスの重複が可能なのか)
- CLI / GUI それぞれでの有効化手順と注意点
- LAG・VLAN を組み合わせたマルチテナント設定例
- 設計時に押さえておきたい制約事項とトラブルシューティングのポイント
VDOM(Virtual Domain)とは
VDOM(Virtual Domain)は、1 台の物理 FortiGate の中に、独立した複数の「仮想ファイアウォール」を構築するための機能です。
機種と FortiOS バージョンによって作成可能な VDOM 数は異なります。FortiOS 7.4.8 / 7.6.0 以降では 200-400 シリーズで最大 25 個、500-900 シリーズで最大 50 個まで拡張されており、3000 番台以上のハイエンドモデルではさらに大規模なテナント数に対応します。標準で利用できる VDOM 数を超える場合は、別途 VDOM アップグレードライセンス(FG-VDOM-XX-UG)の追加が必要です。
参考: Fortinet Community / Technical Tip: The default number of VDOM is stackable
“For 200-900 series FortiGates, the VDOM limit was 10 till v7.4.8 and v7.6.0. This has been increased to 25 VDOMs for 200-400 Series and 50 VDOMs for 500-900 Series FortiGates.”
(FortiOS 7.4.8 / 7.6.0 までは 200-900 シリーズの VDOM 上限は 10 でしたが、200-400 シリーズで 25、500-900 シリーズで 50 に引き上げられました)
https://community.fortinet.com/t5/FortiGate/Technical-Tip-The-default-number-of-VDOM-is-stackable/ta-p/316988
マンションと部屋でイメージする
VDOM の構造は、「マンション(物理筐体)」と「部屋(VDOM)」の関係に置き換えると理解しやすくなります。
- 物理筐体(マンション本体): CPU・メモリ・電源などのハードウェアリソースは建物全体で共有されます。
- VDOM(各部屋): A 号室と B 号室が壁で仕切られているように、各 VDOM は論理的に独立しています。

この「論理的に独立している」という特性によって、以下のメリットが生まれます。
- 管理権限の分離
-
VDOM-A の管理者アカウントでは、VDOM-B の設定にアクセスできません。テナント単位で管理画面を分けて提供する運用が可能です。
- 設定・機能の独立
-
ファイアウォールポリシー、VPN、UTM など、各 VDOM で個別に設計できます。
- IP アドレスの重複が許容される(重要)
-
各 VDOM は独立したルーティングテーブル(VRF)を持つため、VDOM-A で
192.168.1.1/24、VDOM-B でも同じ192.168.1.1/24を使う構成が可能です。テナントごとに IP アドレス設計が異なるマルチテナント環境で特に効果を発揮します。
参考: Fortinet Document Library / VDOM overview(FortiOS 7.6.4)
“In multi-VDOM mode, the FortiGate can have multiple VDOMs that function as independent units.”
(Multi-VDOM モードでは、FortiGate は独立したユニットとして機能する複数の VDOM を持てます)
https://docs.fortinet.com/document/fortigate/7.6.4/administration-guide/597696/vdom-overview
Multi-VDOM と Split-VDOM の違い
VDOM を有効化する際、FortiOS 6.2 以降では Multi-VDOM モード と Split-VDOM モード(split-task VDOM) の 2 種類から選択する形になっています。本記事の構成例は Multi-VDOM モードを前提としていますが、用途によっては Split-VDOM モードが適するケースもあります。
| 比較軸 | Split-VDOM(split-task) | Multi-VDOM |
|---|---|---|
| 作成可能な VDOM 数 | 管理用 1 + トラフィック用 1 の固定(合計 2) | 機種上限まで自由(10〜50 など) |
| 管理 VDOM の用途 | 管理操作専用、通信は通せない | 管理用にも通信用にも設定可能 |
| VDOM 間ルーティング | 利用不可 | inter-VDOM link で構築可能 |
| 主な用途 | 管理経路と通信経路の最小限の分離 | マルチテナント、部署分離、セキュリティ境界の分離 |
| ライセンス | 標準ライセンスで利用可能 | 上限超過時は VDOM アップグレードライセンスを追加 |
参考: Fortinet Community / Technical Tip: How to enable multiple VDOMs
“split-vdom: split-task VDOM mode simplifies deployments that require only one management VDOM and one traffic VDOM. … multi-vdom: Multiple, completely separate VDOMs are created.”
(split-task VDOM は管理用 1・通信用 1 の構成を簡略化するモード、multi-vdom は完全に独立した複数の VDOM を作成するモードです)
https://community.fortinet.com/t5/FortiGate/Technical-Tip-How-to-enable-multiple-VDOMs/ta-p/193601
選定の目安として、「管理経路と通信経路を分けたいだけ」なら Split-VDOM、「テナントや部署単位で独立したファイアウォールを運用したい」なら Multi-VDOM という整理ができます。本記事の以降のセクションは Multi-VDOM モードを前提に進めます。
VDOM の有効化手順(CLI)
VDOM 機能は、多くの FortiGate モデルでデフォルトでは無効です。GUI からの有効化にも対応していますが、ここではまず確実性の高い CLI での手順を示します。GUI からの有効化手順は、後続セクション「VDOM の有効化手順(GUI)」で個別に解説します。
作業前に押さえたい注意点
VDOM の有効化は、初期構築時に行うことが推奨されます。
VDOM を有効にするとシステム構成が大きく変わります。既存のインターフェース設定やポリシーは原則として root 管理用 VDOM へ自動的に移行されますが、設定の一部が意図しない VDOM に割り当てられる可能性があります。稼働中の環境で切り替える際は、メンテナンス枠を確保した上で実施することをおすすめします。
CLI での有効化コマンド
コンソールまたは SSH で接続し、以下のコマンドを入力します。なお、以下の構文は FortiOS 6.2 以降の vdom-mode 構文 に対応しています。
config system global
set vdom-mode multi-vdom
endend を押すと、以下の確認メッセージが表示されます。リブートは不要です。
You will be logged out for the operation to take effect.
Do you want to continue? (y/n)yy を入力するとセッションが切断され、再ログイン後から Multi-VDOM モードが有効になります。
参考: Fortinet Community / Technical Tip: How to enable multiple VDOMs
“In FortiOS versions 6.2 and above (v6.2, v6.4, v7.0, v7.2, v7.4, v7.6, etc) there are two VDOM modes.”
(FortiOS 6.2 以降では 2 つの VDOM モード(split-vdom / multi-vdom)が選択可能です)
https://community.fortinet.com/t5/FortiGate/Technical-Tip-How-to-enable-multiple-VDOMs/ta-p/193601
VDOM の有効化手順(GUI)
GUI からも Multi-VDOM モードを有効化できます。CLI に慣れていない場合や、初期構築後の確認用途では GUI 操作が扱いやすい場面もあります。GUI / CLI どちらで有効化しても、リブートは不要で、操作直後に管理者がログアウトされる動作は同じです。
GUI での操作手順
- FortiGate の管理画面に管理者アカウントでログインします。
- 左メニューから System > Settings を開きます。
- System Operation Settings セクションまでスクロールします。
- Virtual Domains のトグルを有効化します。
- VDOM mode で Multi VDOM を選択し、保存します。
- ログアウトを促すダイアログが表示されるため、再ログインします。
再ログイン後、画面左上に VDOM 切り替えメニュー(Global / VDOM 名) が表示されていれば、Multi-VDOM モードが有効になっています。
VDOM の作成(GUI)
Multi-VDOM モード有効化後、Global ビューに切り替えて新規 VDOM を作成します。
- 画面左上のメニューから Global を選択します。
- System > VDOM を開き、Create New をクリックします。
- Virtual Domain に VDOM 名(例:
VDOM-A)を入力します。 - 必要に応じて NGFW Mode(Profile-based / Policy-based)を選択します。
- OK で確定します。
VDOM-Bも同様に作成します。
参考: Fortinet Document Library / Multi VDOM configuration examples(FortiOS 7.0.6)
“Multi VDOM mode can be enabled in the GUI or CLI. Enabling it does not require a reboot, but does log you out of the device. The current configuration is assigned to the root VDOM.”
(Multi-VDOM モードは GUI / CLI どちらでも有効化でき、リブートは不要ですが操作端末からログアウトされます。既存の設定は root VDOM に割り当てられます)
https://docs.fortinet.com/document/fortigate/7.0.6/administration-guide/575766/multi-vdom-configuration-examples
CLI と GUI の使い分けの目安
- 初期構築・移行作業
-
構文を記録・再利用しやすい CLI が向いています。設定変更履歴の管理にも有利です。
- 状態確認・テナント単位の運用
-
VDOM 切り替えが直感的な GUI が扱いやすく、テナント管理者への権限移譲にも適しています。
- トラブルシューティング
-
diagnose系コマンドは CLI のみで提供されるため、CLI 接続経路の確保は必須です。
【実践】LAG と VLAN を使ったマルチテナント構成
ここからは、実務で広く採用される「LAG(リンクアグリゲーション)と VLAN を組み合わせたマルチテナント構成」を解説します。
シナリオと論理構成
- 物理要件: 耐障害性を高めるため、物理ポート(port1 / port2、port3 / port4)をそれぞれ束ねて LAG を構成する。
- 論理要件: 1 つの物理回線(LAG)の中に、VLAN で論理的な区切りを作る。
- VDOM 要件: VLAN ごとに異なる VDOM(仮想 FW)に割り当て、顧客 A と顧客 B を分離する。


構成のポイント
物理(LAG)は Global / root VDOM 側で作成し、その上に作る VLAN サブインターフェースを各 VDOM に割り当てる構成です。物理層と論理層の責務を分けることで、後からテナントの追加・削除がしやすくなります。
VDOM の作成
まず、テナントごとの VDOM(仮想 FW の枠)を作成します。
config vdom
edit VDOM-A
next
edit VDOM-B
end物理インターフェースの LAG 設定(Global)
次に、土台となる物理ポートで LAG を構成します。集約インターフェース(aggregate)は Global で作成する必要があります。各テナント VDOM 配下では作成できません。
なお、set lacp-mode の既定値は active です。以下では意図を明示するために記述しています。
config global
config system interface
# WAN 側の LAG 作成(port1 と port2 を束ねる)
edit "wan-lag"
set vdom "root"
set type aggregate
set member "port1" "port2"
set lacp-mode active
next
# LAN 側の LAG 作成(port3 と port4 を束ねる)
edit "lan-lag"
set vdom "root"
set type aggregate
set member "port3" "port4"
set lacp-mode active
next
end
end参考: Fortinet Community / Technical Tip: Initial troubleshooting steps for LACP
“Active: Actively use LACP to negotiate 802.3ad link aggregation by initiating the negotiation through LACP packet exchanges.”
(Active モードは LACP パケットを能動的に送信して 802.3ad リンクアグリゲーションをネゴシエーションします)
https://community.fortinet.com/t5/FortiGate/Technical-Tip-Initial-troubleshooting-steps-for-LACP-Link/ta-p/198339
VLAN インターフェースと VDOM の紐づけ
ここが構成の中心です。STEP 2 で作成した LAG の上に VLAN サブインターフェースを作成し、どの VDOM で使うか を指定します。物理的には同じ LAG を通る通信でも、VLAN ID によって自動的に VDOM-A と VDOM-B に振り分けられます。
例: LAN 側(VLAN 100 / 200)の振り分け
config global
config system interface
# VDOM-A 用の VLAN サブインターフェース(VLAN 100)
edit "lan-lag-v100"
set vdom "VDOM-A" ← 所属 VDOM を指定
set interface "lan-lag" ← 土台のインターフェースを指定
set vlanid 100 ← タグ ID を指定
set ip 192.168.1.254 255.255.255.0
next
# VDOM-B 用の VLAN サブインターフェース(VLAN 200)
edit "lan-lag-v200"
set vdom "VDOM-B"
set interface "lan-lag"
set vlanid 200
set ip 192.168.2.254 255.255.255.0
next
end
end補足: VDOM 所属の変更について
set vdomは VLAN サブインターフェース作成時の初回設定です。後から所属 VDOM を変更したい場合は、IP やポリシーへの参照をいったん解除する必要があります。設計段階で VLAN ID と所属 VDOM の対応を確定させておくと、後の運用工数を抑えられます。
各 VDOM 内での PPPoE 設定
VLAN サブインターフェースの割り当てが完了したら、あとは通常の FortiGate と同様に各 VDOM 内で設定を行います。
例: VDOM-A の WAN 側(VLAN 10、PPPoE)
config vdom
edit VDOM-A
config system interface
edit "wan-lag-v10"
set vdom "VDOM-A"
set interface "wan-lag"
set vlanid 10
set mode pppoe
set username "aaa@example.com"
set password **********
next
end
endコマンド量は多く見えますが、構造はシンプルです。「物理(LAG)は Global が保有し、その上の VLAN サブインターフェースを各 VDOM に渡す」 という役割分担を意識すると、設計や引き継ぎがスムーズに進みます。
設計時に押さえたい制約事項
VDOM は柔軟な機能ですが、設計段階で把握しておかないと後から手戻りにつながるポイントがあります。
物理 / 論理インターフェースに関する制約
- 集約インターフェース(aggregate)は Global でのみ作成可能
-
本記事の構成例で
config global配下に LAG を作成しているのはこのためです。テナント VDOM 配下では LAG を新規作成できません。 - 物理インターフェースは 1 つの VDOM にしか所属できない
-
VDOM-A と VDOM-B で同じ物理ポートを共有することはできません。共有したい場合は LAG 上に VLAN サブインターフェースを作る構成が必要です。
- LACP は Active / Passive / Static の 3 モード
-
FortiGate 側を
passiveにした場合、対向機器もpassiveだと LAG が成立しません。少なくとも片方をactiveにする設計が前提です。
VDOM 間通信に関する制約
- VDOM 間は論理的に完全に分離される
-
VDOM-A から VDOM-B への通信を許可したい場合は、inter-VDOM link を作成し、両 VDOM にルーティング・ポリシーを設定する必要があります。
- inter-VDOM link のトラフィックは CPU を経由する
-
物理ポート経由より処理オーバーヘッドが発生する場合があります。テナント間通信が大量に発生する設計では、別構成を検討することをおすすめします。
ライセンス・機種に関する制約
- FortiGate-VM の S シリーズ / FortiFlex は標準で最大 2 VDOM
-
管理用 root と通信用の 2 つに限定され、それ以上は VDOM アップグレードライセンスが必要です。
- Multi-VDOM 非対応の機種が存在
-
エントリーモデルや旧世代モデルでは Multi-VDOM が利用できない場合があります。導入前に対象機種のデータシートで確認しておくことをおすすめします。
- VDOM 上限を超える場合は FG-VDOM-XX-UG ライセンスを追加
-
標準枠と購入枠は加算(スタック)される仕様です。
運用・移行時の注意点
- 稼働中の環境での Multi-VDOM 有効化にはリスクが伴う
-
既存設定が root に集約される過程で、ポリシー参照の不整合が発生する可能性があります。初期構築時に有効化することをおすすめします。
- mgmt-vdom は削除・改名できない
-
FortiGate 7000 シリーズなど一部機種では、デフォルトで管理専用の
mgmt-vdomが存在し、削除・改名はできません。インターフェースの追加・除外も制限されています。
参考: Fortinet Document Library / VDOM overview(FortiOS 7.6.4)
“When multi-VDOM mode is first enabled, all VDOM configurations will move to the root VDOM by default. The root VDOM cannot be deleted, and remains in the configuration even if it is not processing any traffic.”
(Multi-VDOM モードを最初に有効化すると、すべての設定はデフォルトで root VDOM に移行されます。root VDOM は削除できず、トラフィックを処理していなくても設定上は残ります)
https://docs.fortinet.com/document/fortigate/7.6.4/administration-guide/597696/vdom-overview
トラブルシューティングの基本コマンド
VDOM + LAG 構成では、「LAG が片肺で動作している」「VLAN タグが想定どおりに振り分けられていない」「VDOM の上限に達して新規作成できない」といったトラブルが発生することがあります。初動の切り分けに使える CLI コマンドを整理します。
VDOM の状態確認
# 現在の VDOM 一覧と上限値を確認
get system status
# VDOM 単位の詳細情報を確認
diagnose sys vd listget system status の出力に含まれる Max number of virtual domains が機種・ライセンスでの上限値、Virtual domains status が現在の利用状況を示します。
VDOM 上限に達している場合、新規作成の操作は失敗します。
LAG(集約インターフェース)の状態確認
# LAG の動作状況、参加ポート、LACP 状態を確認
diagnose netlink aggregate name <LAG 名>
# 例: diagnose netlink aggregate name wan-lag出力で確認したい項目:
status: up: LAG 自体が UP しているかLACP mode: active / passive / static のどれで動作しているか- 各メンバーポートの
LACP state:establishedならネゴシエーション成功 aggregator ID: すべてのメンバーで同一であれば正常に LAG として動作
各メンバーポートで aggregator ID が異なる場合、対向側との LACP ネゴシエーションが成立していない可能性があります。対向スイッチ側の LACP モード(active / passive)と速度設定(slow / fast)を合わせて確認することをおすすめします。
参考: Fortinet Community / Technical Tip: Initial troubleshooting steps for LACP
“If both FortiGates or the equipment are connected via an intermediate L2/Metro device, this device may impact LACPDU exchange.”
(FortiGate 同士や対向機器が L2 / Metro 装置経由で接続されている場合、その中間装置が LACPDU の通過に影響することがあります)
https://community.fortinet.com/t5/FortiGate/Technical-Tip-Initial-troubleshooting-steps-for-LACP-Link/ta-p/198339
LACP パケットのキャプチャ
LAG が UP しない場合、対向との LACPDU 交換状況を直接確認すると切り分けが進みます。
# LACP パケットのみをキャプチャ
diagnose sniffer packet any "ether proto 0x8809" 6 0 aLACPDU が一方向しか観測されない場合、対向側のポートで LACP が有効になっていないか、別 VLAN にトラップされている可能性があります。
VDOM 切り替えと設定確認
VDOM 内のリソース(ポリシー、ルーティング、PPPoE など)を確認するときは、対象 VDOM へ切り替えてから操作します。
# 対象 VDOM へ切り替え
config vdom
edit VDOM-A
# ルーティングテーブルの確認
get router info routing-table all
# インターフェース一覧の確認
get system interfaceVDOM ごとにルーティングテーブルが独立しているため、Global ビューのみでの確認では見落としが発生します。「症状が出ている VDOM に入ってから確認する」 を運用上の基本ルールにしておくと、切り分け時間を短縮できます。
まとめ
本記事では、FortiGate の仮想化機能 VDOM について、仕組みから LAG + VLAN を組み合わせた実践構成までを整理しました。
- 1 台の物理アプライアンスで、複数の独立したファイアウォールを運用できるためコスト最適化と環境分離を両立できる
- FortiOS 7.4.8 / 7.6.0 以降で 200-900 シリーズの VDOM 上限が 25〜50 個まで拡大されている
- 各 VDOM が独立したルーティングテーブルを持つため、テナントごとに IP アドレスが重複する設計にも柔軟に対応できる
- LAG は Global 配下、VLAN サブインターフェースは各 VDOM 配下という役割分担が現場で広く採用される
- 初期構築は CLI、日常運用や状態確認は GUI、トラブルシューティングは CLI を使う運用が基本になる
- テナント分離が目的なら Multi-VDOM、管理経路の分離のみなら Split-VDOM が適している
- VDOM 間通信には inter-VDOM link が必要、aggregate は Global での作成が前提など、設計前の制約把握が手戻り防止につながる
以上、最後までお読みいただきありがとうございました。

