●はじめに
前回の基礎実験
では、下記のようにDMZ相当のインターフェース配下に直接サーバを置くような構成でした。

・・が、使い方によっては自由度が・・・という考えもありそうですね。
とある週末にFortiの大先生に色々とレクチャーをいただきまして(
)、VDOMで分けるなんてお洒落をしてみようと思います。
(・・思うだけではダメ。やってみた!という事実が欲しい。
手を動かしましょう。
)
●VDOMとは
VDOM(ブイドム)とは、1台の物理FortiGate内に独立した複数の仮想ファイアウォールを構築する機能。
各VDOMは独自のルーティングやセキュリティポリシー、インターフェースを個別に保持するため、他のVDOMのトラブルや設定変更の影響を受けないとのこと。
物理機器を集約してコストを抑える・・なんてことが出来そうですね。
今回は、RTを司るブロックとFWを司るブロックの2つを作ってみたいと思います。
確かに2台買うより安い・・か。

●トポロジ
FortiGate 40Fは物理ポート少なめです。(手元にあったものだからしょうがない。。)
ポートアサインを工夫してみましょう。
【Router相当(VDOM_RT)】
wan:Cisco1921とつなぐ上位接続相当
a(DMZ):今回は後述のlan3と物理LANで結線してしまいます。(VDOM linkたるものはまたいずれ。シンプルな感でご容赦。)
【FireWall相当(VDOM_FW)】
lan3:前述のa(DMZ) と物理LANで結線してしまいます。(VDOM linkたるものはまたいずれ。シンプルな感でご容赦。)
lan2:内部サーバSeg.を模したVMをつなぐことにしましょう。
lan1:こちらはMGMTのPCでもつなぎましょう。
| 役割(機能) | VDOM名 | インターフェース名 | 接続先・用途 | 備考 |
|---|---|---|---|---|
| ルーター相当 | VDOM_RT |
wan |
Cisco 1921(上位ルーター接続) | WAN側対外接続 |
a (DMZ) |
VDOM_FW の lan3
|
対物理LAN結線 | ||
| ファイアウォール相当 | VDOM_FW |
lan3 |
VDOM_RT の a (DMZ) |
対物理LAN結線 |
lan2 |
内部サーバーセグメント(検証用VM) | VIP(DNAT)の移行/公開対象 | ||
lan1 |
管理用PC(MGMT) | 管理・操作用(一部試験利用) |
●IPアサイン
前回のものを流用して・・こんな感じで。
| IPアドレス | 用途・対象機器 | 備考・補足 |
|---|---|---|
| 200.0.0.0 | ネットワークアドレス | network |
| 200.0.0.1 | ■(VDOM_RT) WAN/DMZ借用IP | |
| 200.0.0.2 | ■内部サーバに転送を行うVIP その① | |
| 200.0.0.3 | ■内部サーバに転送を行うVIP その② | |
| 200.0.0.4 | (未使用 / 割り当て可能) | Global IPレンジ (/29) |
| 200.0.0.5 | (未使用 / 割り当て可能) | Global IPレンジ (/29) |
| 200.0.0.6 | ■(VDOM_FW) 渡りのために割り当て | |
| 200.0.0.7 | ブロードキャストアドレス | broadcast |
| 1.1.1.1 | Cisco 1921 (Loopback0) | ISP & 上位Gateway相当 |
| 192.168.1.99 | FortiGate | MGMT |
| 192.168.1.100 | Cisco 1921 | MGMT |
| 192.168.1.10 | 操作用PC | |
| 192.168.1.253 | RADIUSサーバ | NetAttest EPS-ST04-A (LAN1) |
●作業の始めに
前回からの続きで加工していくのもアリだったのですが、根が深いところからの加工は少し時間もかかりそうでしたので、
factory resetを行って、綺麗な状態から作業を始めることにしました。
execute factoryreset
●VDOMを作るおまじない
根が深いところなので、初めにやりましょう。
宣言をしたら、一度コンソールからは退場させられます。
FortiGate-40F # config system global
FortiGate-40F (global) #set vdom-mode multi-vdom
FortiGate-40F (global) # end
You will be logged out for the operation to take effect.
Do you want to continue? (y/n)y
exit
●VDOMを2つ作りましょう。
箱を2つ作りましてー(仮想化万歳
)
FortiGate-40F # config vdom
FortiGate-40F (vdom) # edit VDOM_RT
current vf=VDOM_RT:3
FortiGate-40F (VDOM_RT) #next
FortiGate-40F (vdom) #edit VDOM_FW
current vf=VDOM_FW:4
FortiGate-40F (VDOM_FW) # next
FortiGate-40F (vdom) # end
●GUIで操作を行うまではCLIで・・
初めにモードを指定する所作は少々・・・ですが、きっと慣れでしょう。
きっと体で覚える系。
FortiGate-40F # config vdom
FortiGate-40F (vdom) # ?
edit Add/edit a table value.
delete Delete a table value.
end End and save last config.
FortiGate-40F (vdom) # edit ?
<vdom> Virtual Domain Name
VDOM_FW
VDOM_RT
FortiGate-40F (vdom) # edit VDOM_FW
current vf=VDOM_FW:4
FortiGate-40F (VDOM_FW) # config system interface
FortiGate-40F (interface) # edit lan1
FortiGate-40F (lan1) # set mode static
FortiGate-40F (lan1) # set ip 192.168.1.99 255.255.255.0
FortiGate-40F (lan1) # set allowaccess ping https ssh
FortiGate-40F (lan1) # next
FortiGate-40F (interface) # end
FortiGate-40F (VDOM_FW) # end
●設定項目
あとはポチポチGUIでできますね。
RADIUS連携等のWAN周りについては、前編と同一ですのでここでは割愛します。
GUIでVDOMをVDOM_RT⇔VDOM_FW切り替えながら・・・

こんな感じで基本設定をやっつけていきましょう。
先ずは[VDOM_RT]で、IFまわり。

wanは前回同様にunnumberedなIPを後段から1つお借りします。

DMZ(aポートを転用)には、GlobalなIPレンジ/29のうち、頭の一つを割り当ててみます。
[200.0.0.1/255.255.255.248]ですね。

static routeはPPPoEのIFでもあるwanを指定します。これでホントの上位(Cisco 1921)へ抜けてくれるはず。

次にmodeをVDOM_FWへ切り替えます。

こちらは物理ポート3つです。
(今気づきましたが・・この画面上のport並びと、実物のport並びテレコですね・・。![]()
事故が怖い。指差呼称しながらやりましょう。)


[VDOM_FW]のlan3にはGlobalなIP 200.0.0.6/255.255.255.248 を割り当ててみます。
これで上位[VDOM_RT]との渡りportができます。

staticはこんな感じ。渡りがあるので、[VDOM_RT]の200.0.0.1を指定するという感じでいかがでしょうか。
後で試験をしてみましょう。

●少しハマったバーチャルIP
[VDOM_RT]⇔[VDOM_FW] どちら側で作成するのがセオリーなのか・・
結局200.0.0.0/29 はいずれのVDOMにも所属する、渡りでもあるGlobalなエリア。
今回は後段の[VDOM_FW] 側で持たせてみることにしました。(良し悪しありそうですが、同一VDOM内ならばstaticが一つ減るかなと。いかがでしょう?>大先生)

転送設定を行うだけでは未完。ファイアウォールポリシーも必要ですね、と。
中から外はNATをかけて・・(最終的にはVDOM_RT側のGlobal たる200.0.0.1 から出してあげるのが自然か)

●試験をしましょう。
①試験用青VM:Internet上hostを模した(222.222.222.222)からVIP その① 200.0.0.2/29 への接続確認。
期待値は10.10.10.10 への転送・・UDPとicmpを送ってみましょう。どうでしょうか?
→無事通信ができました。sourceのIPはそのまま認識(非SNAT)も出来ていていい感じ。

②試験用青VM:Internet上hostを模した(222.222.222.222)からVIP その② 200.0.0.3/29 への接続確認。
期待値は192.168.1.10 への転送・・結果はいかに?
→無事通信ができました。異なるSegmentにも投げ分けができましたということでマル。

③中から外。VDOM_FW所属の緑VM(10.10.10.10)から試験用青VM:Internet上hostを模した(222.222.222.222)への疎通確認。
UDP、icmpも見たので、TCP:7777 。toolを使って文字列"test msg"も送ってみましょう。
→良さそうですね。
こちらは、VDOM_FW のスタティックルートを200.0.0.1(VDOM_RTの・・wanに紐づくIP)にしており、VDOM_RT のスタティックルート はwan インターフェース(PPPoEで接続するIF)にもしているので、試験用青VMに届くときのIPとしては200.0.0.1 となります。
何をsourceとして出したいか、というところに関しては、unnumberedの設定にも絡むところなのでしょう。
●終わりに
今回はFortiGateのVDOM機能を使い、1台の物理筐体の中にルーター(VDOM_RT)とファイアウォール(VDOM_FW)を分けた環境を構築。物理ポートによる直接結線やバーチャルIPの設定、複数セグメントへのポートフォワーディングまでの挙動は実機で確認できました。幾つかのGlobal IPを並列待ち受け(&宛先分割)なんてところにも流用できるかもしれない基礎実験となりました。
レクチャーしていただいた大先生にも感謝です!

