[]FortigateのVDOMで遊んでみた

 念願のFortiOS4.0が動くFortigateを手に入れたぞ!!という事で、VDOMで遊んでみました。環境はFortigate50BとFortiOS4.0 MR3 Patch 6です。

構成図

 上の箱がFortigate50B、下の箱がCisco892Jです。1台のFortigate50Bの中にL3SW1台と2台のFWを作ってみました。VDOM rootはインターネットとFWをつなぐL3SW、VDOM14はLAN側のNICが二つ(InternalとDMZ)があるFW、VDOM15はLAN側のNICが一つだけのFWをイメージしています。今回のエントリーはVDOM14に関する部分だけです。


Global設定

 インターフェースの設定は下記の通りです。各VDOMのWAN側にグローバルIPアドレスを振る余裕はないので、グローバルIPアドレスを振ったWAN1をVDOM rootにルーテッドポートで接続します。そして、VDOM配下の端末がインターネットと通信できる様、VDOMリンクを利用してVDOM-14/15とVDOM rootを接続します。VDOMリンクはVLAN-14の様にIPアドレスを固定で設定する方法だけでなく、VDOM-15の様にunnumberedにすることもできます。

 LAN側のInternalはルーテッドにしてしまうと1つしかIPアドレスが振れないので、tagVLANで分割しVLANインターフェースにします。それぞれのVLANインターフェースにIPアドレスとVLAN-ID、所属するVDOMを設定します。


VDOM root設定

 VDOM rootにインターネット向けのデフォルトルートと、下にぶら下がっているVDOM向けのルーティングを追加します。VDOM向けのネクストホップはVDOMリンクのIPアドレスです。unnumbered設定の場合、ネクストホップは不要です。初めは少々混乱しましたが、FW間の物理リンクが仮想的なVDOMリンクに置き換わっただけです。


 VDOM rootのFWポリシーは全開けし、個別の制御は各VDOMに任せます。VDOMからInternetへのルールはNATを有効にします。

VDOM14設定

 VDOM14のインターフェースを確認すると、グローバルで設定した通りWAN側1つ、LAN側2つになっています。

 インターネットと通信するために、デフォルトルートをVDOM root側のVDOMリンクアドレスに向けます。


 それっぽいルールを追加します。Internal⇒DMZDMZ⇒Internet、DMZ⇒Internalです。InternalからInternetへの通信は許可しません。記載されているホストは、ルータのSVIに振ってあるIPアドレスです。


動作確認

 Cisco892Jから疎通確認を行います。各SVIはVRFで論理分割されているので、SVI間の通信は必ずVDOM14を経由します。想定通り動きました。

[text]
■InternalからDMZへの疎通確認
Router#traceroute vrf vlan14 192.168.13.254
Type escape sequence to abort.
Tracing the route to 192.168.13.254
VRF info: (vrf in name/id, vrf out name/id)
1 192.168.14.200 4 msec 0 msec 0 msec ←VDOM14を経由してる
2 192.168.13.254 12 msec * 0 msec

DMZからInternalへの疎通確認
Router#traceroute vrf vlan13 192.168.14.254
Type escape sequence to abort.
Tracing the route to 192.168.14.254
VRF info: (vrf in name/id, vrf out name/id)
1 192.168.13.200 4 msec 0 msec 0 msec ←VDOM14を経由してる
2 192.168.14.254 0 msec * 0 msec

DMZからInternetへの疎通確認
Router#traceroute vrf vlan13 8.8.8.8
Type escape sequence to abort.
Tracing the route to google-public-dns-a.google.com (8.8.8.8)
VRF info: (vrf in name/id, vrf out name/id)
1 192.168.13.200 0 msec 0 msec 0 msec ←VDOM14
2 192.168.16.1 0 msec 0 msec 4 msec  ←VDOM root
3 153.16.66.xxx 0 msec 0 msec 4 msec
中略
14 tyo-t1600-xe4-0-2-17.jp.apan.net (203.181.249.174) 16 msec 20 msec 20 msec
15 tpr2-ae0-6.jp.apan.net (203.181.249.97) 20 msec 20 msec 24 msec
16 as15169.dix-ie.jp (202.249.2.189) 20 msec 20 msec 16 msec
17 209.85.255.80 [MPLS: Label 404514 Exp 4] 20 msec 20 msec 20 msec
18 209.85.249.192 16 msec 132 msec 20 msec
19 209.85.243.59 20 msec 16 msec 20 msec
20 209.85.241.139 24 msec 20 msec 24 msec
21 google-public-dns-a.google.com (8.8.8.8) 20 msec 20 msec 20 msec

■InternalからInternetへの疎通確認
Router#traceroute vrf vlan14 8.8.8.8
Type escape sequence to abort.
Tracing the route to google-public-dns-a.google.com (8.8.8.8)
VRF info: (vrf in name/id, vrf out name/id)
1 192.168.14.200 0 msec 0 msec 0 msec
2 * * *  ←FWのルールがないので通信不可。
[/text]

その他

 何もしないと装置のリソースを全てのVDOMで共有しますが、VDOM単位で装置全体のリソースを固定割り当てすることもできます。

 

 また、CLIで操作する時には、都度どのVDOMを操作するか選ぶ必要があります。

[text]
FGT50Bxxxxxxxxxx # config
global config global
vdom config vdom

FGT50Bxxxxxxxxxx # config vdom ←VDOMの設定に移動

FGT50Bxxxxxxxxxx (vdom) #
edit add/edit a table value
delete delete a table value
end end and save last config

FGT50Bxxxxxxxxxx (vdom) # edit
<vdom> Virtual Domain Name
VDOM-14
VDOM-15
root

FGT50Bxxxxxxxxxx (vdom) # edit VDOM-14 ←VDOM14の設定に移動
current vf=VDOM-14:2

FGT50Bxxxxxxxxxx (VDOM-14) #
config config object
get get dynamic and system information
show show configuration
diagnose diagnose facility
execute execute static commands
next config next table entry
abort end and discard last config
end end and save last config

FGT50B3G08625936 (VDOM-14) #
[/text]

まとめ

 これはすごい。設定はGUIでぽちぽち、各VDOM上の操作も通常のFortigateと変わりません。動作確認はしていませんが、VDOM単位でアカウントを作成して権限を付与できそう。

 複数のFWを統合して管理コストを削減したり、1台のFWを仮想化して複数のユーザを異なるポリシーで収容したり、Virtual Private Firewallみたいな事をしたりと、色々な使い方ができるなーと思いました。自宅でどう使うかはこれから考えます。。。