FortiGateを触っていると「これ、どこで設定するんだっけ?」という細かい設定に意外と時間を取られます。この記事では、FortiGate 60F(FortiOS 7.4.9)の実機で動作確認した、知っていると運用がラクになる小技を6つまとめました。GUIの隠し機能の出し方からCLI専用の設定まで、すべて実機画面つきで紹介します。
メジャーな機能の設定手順は個別記事にまとめているので、この記事では「単体記事にするほどではないが現場で役立つ」設定を扱います。
検証環境
| 機器 | FortiGate 60F |
| ファームウェア | FortiOS v7.4.9 |
| 構成 | 検証用PC(Mac)とFortiGateのwan1を同一LANに接続 |
小技① 名前なしポリシーを作成できるようにする
FortiOSでは、GUIからファイアウォールポリシーを作成するとき名前の入力が必須です。しかし検証で大量にポリシーを作るときや、他社FW(名前必須でない機種)から移行するときは、名前を付けずに作成できたほうが速いこともあります。
この挙動は システム > 表示機能設定 の「名前なしポリシー許可」で変更できます。「その他の機能」列の一番下にあります。

適用後にポリシー作成画面を開くと、名前欄から必須マークが消え、名前を空のままポリシーを保存できるようになります。

CLIで設定する場合は次のとおりです。
config system settings
set gui-allow-unnamed-policy enable
end
小技② FortiGateをDNSキャッシュサーバにする
小規模拠点では、FortiGate自身をDNSキャッシュサーバにできます。PCのDNS参照先をFortiGateに向けておけば、名前解決の問い合わせをFortiGateがまとめて上位DNSへ転送し、結果をキャッシュしてくれます。拠点内のPCのDNS設定を上位DNSに依存させたくない場合に便利です。
まず小技①と同じ システム > 表示機能設定 で「DNSデータベース」をオンにします(上の画像で一緒にオンにしています)。すると ネットワーク > DNSサーバ メニューが現れます。
- ネットワーク > DNSサーバ を開きます。
- 「インターフェース上のDNSサービス」の「新規作成」を選択します。
- インターフェースにPC側のインターフェースを選択します(今回の検証環境ではwan1)。
- モードは「システム設定DNSへ転送」を選択して「OK」を選択します。


PCのDNS参照先をFortiGateのIPアドレスに変更して、実際に名前解決してみます。1回目と2回目の応答時間に注目してください。
% dig @192.168.10.116 www.yahoo.co.jp
;; ANSWER SECTION:
www.yahoo.co.jp. 138 IN CNAME edge12.g.yimg.jp.
edge12.g.yimg.jp. 14 IN A 182.22.31.252
;; Query time: 30 msec ←1回目: 上位DNSへ転送
;; SERVER: 192.168.10.116#53(192.168.10.116)
% dig @192.168.10.116 www.yahoo.co.jp
;; Query time: 4 msec ←2回目: キャッシュから応答
;; SERVER: 192.168.10.116#53(192.168.10.116)
1回目は30msec(上位DNSへ転送)、2回目は4msec(FortiGateのキャッシュから応答)と、キャッシュが効いていることが確認できました。
小技③ 行きと帰りの経路が違う通信を許可する(非対称ルーティング)
FortiGateはステートフルファイアウォールなので、行きと帰りで経路が異なる通信(非対称ルーティング)はデフォルトで破棄します。ネットワーク移行の過渡期などでどうしても経路が非対称になる場合は、CLIで許可できます。
config system settings
set asymroute enable
end

ただし非対称ルーティングを許可すると、セッションの整合性チェックが緩むためセキュリティ機能(IPSやアンチウイルスなど)が正しく動作しなくなる可能性があります。恒久対応ではなく、移行期間中の一時許可に留めて、経路を対称に直すのが原則です。戻すときは set asymroute disable です。
小技④ ログの保存レベルを変更する
FortiGate 60Fのようにディスクを持たないモデルでは、ログは本体メモリに保存されます。メモリログはデフォルトで information レベル以上を記録しますが、保存レベル(severity)を変更すると「警告以上だけ記録したい」といった調整ができます。
config log memory filter
set severity warning
end

severityは emergency / alert / critical / error / warning / notification / information / debug の8段階で、指定したレベル以上のログだけが保存されます。緩くするほどメモリを消費するので、通常運用では information のままで問題ありません。
小技⑤ 管理画面のタイムアウトを延長する
FortiGateの管理セッションはデフォルト5分でタイムアウトします。セキュリティ上は正しい挙動ですが、検証作業や設定変更をまとめて行うときは、頻繁にログアウトされると作業になりません。CLIで延長できます(最大480分)。
config system global
set admintimeout 60
end

作業が終わったら必ず5分に戻しましょう。離席中に管理画面が開きっぱなしになるのはセキュリティ事故のもとです。
小技⑥ 送信元IPアドレスを指定してpingを実行する
FortiGateからpingを打つと、送信元は出力インターフェースのIPアドレスになります。しかし障害切り分けでは「このインターフェースのIPを送信元にして届くか」を確認したい場面がよくあります。VPN越しの疎通確認や、戻り経路の確認が典型例です。ping-optionsで送信元を指定できます。
execute ping-options source 192.168.10.116
execute ping 192.168.10.1

ping-optionsの指定は同じCLIセッション中は保持されます。リセットしたいときは execute ping-options reset を実行します。他にも repeat-count(回数)や data-size(サイズ)など、切り分けに便利なオプションがあります。
まとめ
| 小技 | 設定場所 |
|---|---|
| 名前なしポリシー | GUI: 表示機能設定 / CLI: gui-allow-unnamed-policy |
| DNSキャッシュサーバ | 表示機能設定でDNSデータベース → ネットワーク > DNSサーバ |
| 非対称ルーティング許可 | CLI: set asymroute enable(一時利用に留める) |
| ログ保存レベル変更 | CLI: config log memory filter → set severity |
| 管理タイムアウト延長 | CLI: set admintimeout 60(作業後は戻す) |
| 送信元指定ping | CLI: execute ping-options source |
どれも1〜2分で設定できる小技ですが、知っているかどうかで検証や障害対応のスピードが変わります。実機を触る機会があったら、ぜひ一度試してみてください。

コメント