作業環境
- FortiGate-VM v7.0.5
「ゾーン内トラフィックをブロック」 とは
ゾーン設定において、「ゾーン内トラフィックをブロック」というオプションがあります。

デフォルトでは ON になっています。
CLI でいうと config system zone
内ゾーン設定の set intrazone
に該当します。
config system zone
edit "SampleZone"
set intrazone deny
next
end
このオプション設定の意味を検証します。
先に結論
ゾーン内トラフィックをブロックとは
- ゾーン内の異なるセグメント間の通信をブロックするか、許可するかの設定
- デフォルトでは ON(ゾーン内の異なるセグメント間の通信は拒否される)
- ON にしているときに一部のゾーン内通信を許可したい場合はポリシーを設定する
「ゾーン内トラフィックをブロック」ON の場合
- 以下画像の構成で「ゾーン内トラフィックをブロック」を ON にした状態します
- ポリシー設定は暗黙の拒否ポリシーのみがある状態です


この状態で端末①と端末②間で Ping してみると疎通不可になります。
◆端末①→端末②
C:\Users\user01>ping 10.1.20.10
10.1.20.10 に ping を送信しています 32 バイトのデータ:
要求がタイムアウトしました。
要求がタイムアウトしました。
要求がタイムアウトしました。
要求がタイムアウトしました。
10.1.20.10 の ping 統計:
パケット数: 送信 = 4、受信 = 0、損失 = 4 (100% の損失)、
◆端末②→端末①
C:\Users\user01>ping 10.1.10.10
10.1.10.10 に ping を送信しています 32 バイトのデータ:
要求がタイムアウトしました。
要求がタイムアウトしました。
要求がタイムアウトしました。
要求がタイムアウトしました。
10.1.10.10 の ping 統計:
パケット数: 送信 = 4、受信 = 0、損失 = 4 (100% の損失)、
転送トラフィックログを見てみると、暗黙の拒否ポリシーで拒否されていることが分かります。

「ゾーン内トラフィックをブロック」OFF の場合
- 以下画像の構成で「ゾーン内トラフィックをブロック」を OFF にした状態します
- ポリシー設定は暗黙の拒否ポリシーのみがある状態です


この状態で端末①と端末②間で Ping してみると疎通成功します。
◆端末①→端末②
C:\Users\user01>ping 10.1.20.10
10.1.20.10 に ping を送信しています 32 バイトのデータ:
10.1.20.10 からの応答: バイト数 =32 時間 =1ms TTL=127
10.1.20.10 からの応答: バイト数 =32 時間 <1ms TTL=127
10.1.20.10 からの応答: バイト数 =32 時間 <1ms TTL=127
10.1.20.10 からの応答: バイト数 =32 時間 <1ms TTL=127
10.1.20.10 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 0ms、最大 = 1ms、平均 = 0ms
◆端末②→端末①
C:\Users\user01>ping 10.1.10.10
10.1.10.10 に ping を送信しています 32 バイトのデータ:
10.1.10.10 からの応答: バイト数 =32 時間 =1ms TTL=127
10.1.10.10 からの応答: バイト数 =32 時間 =1ms TTL=127
10.1.10.10 からの応答: バイト数 =32 時間 <1ms TTL=127
10.1.10.10 からの応答: バイト数 =32 時間 =1ms TTL=127
10.1.10.10 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 0ms、最大 = 1ms、平均 = 0ms
一部のゾーン内通信のみを許可したい場合
「ゾーン内トラフィックをブロック」を ON にして原則ゾーン内通信を拒否しつつ、一部のゾーン内通信を許可したい場合は、ポリシーを設定します。

端末①から端末②への通信を許可したい場合は、例えば以下のようなポリシーを設定します。

着信インターフェース及び発信インターフェースには対象のゾーンを指定します。
このポリシー設定によって端末①から端末②への通信が可能となります。
◆端末①→端末②
C:\Users\user01>ping 10.1.20.10
10.1.20.10 に ping を送信しています 32 バイトのデータ:
10.1.20.10 からの応答: バイト数 =32 時間 =1ms TTL=127
10.1.20.10 からの応答: バイト数 =32 時間 <1ms TTL=127
10.1.20.10 からの応答: バイト数 =32 時間 <1ms TTL=127
10.1.20.10 からの応答: バイト数 =32 時間 <1ms TTL=127
10.1.20.10 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 0ms、最大 = 1ms、平均 = 0ms
転送トラフィックログを見てみると、ポリシーによって許可されていることが分かります。

参考資料
Zone | Administration Guide
config system zone | CLI Reference