構成
PCからR1のpingを通す
オブジェクト作成
ファイアーウォールのポリシーを設定する際、直接送信元や宛先のIPアドレスを指定するのではなく、オブジェクトを指定します。
よって、先にオブジェクトを作成する必要があります。
今回は、IPアドレス/マスクで、192.168.10.0/24を設定します。
Objects→Addresses→Create Newを押下
各項目を入力して、OK押下
ポリシーの設定
送信元アドレス192.168.10.0/24 宛先はanyの通信をすべて許可
それ以外は全て拒否に設定してみます。
Policy→IPv4→Create New押下
先ほど作成したオブジェクトをsource addressに設定。
incoming interfaceは、受信側なのでinternal
outing interfaceは、出力側なのでWAN2
入力後にOK押下。
設定後、下記一覧に表示されます。
※Implicitのall denyは、暗黙のdenyと呼ばれる要件です。
各ポリシーの最後の行に暗黙のdenyが自動で設定されるため、ポリシーを何も設定していない場合は、全ての通信がブロックされてしまいます。
なので、internal-WAN2も、acceptを削除すると通信できなくなります。
疎通試験
PC→R1のping(ポリシー設定済み)
>ping 192.168.0.254
192.168.0.254 に ping を送信しています 32 バイトのデータ:
192.168.0.254 からの応答: バイト数 =32 時間 <1ms TTL=254
192.168.0.254 からの応答: バイト数 =32 時間 =1ms TTL=254
192.168.0.254 からの応答: バイト数 =32 時間 <1ms TTL=254
192.168.0.254 からの応答: バイト数 =32 時間 <1ms TTL=254
Fortigateのログ
Fortigate2 # id=20085 trace_id=3 func=print_pkt_detail line=4489 msg="vd-root received a packet(proto=1, 192.168.10.1:1->192.168.0.254:8) from internal. code=8, type=0, id=1, seq=201."
id=20085 trace_id=3 func=init_ip_session_common line=4645 msg="allocate a new session-00007d7e"
id=20085 trace_id=3 func=vf_ip4_route_input line=1597 msg="find a route: flags=00000000 gw-172.16.0.254 via wan2"
id=20085 trace_id=3 func=fw_forward_handler line=692 msg="Allowed by Policy-2: SNAT"
id=20085 trace_id=3 func=__ip_session_run_tuple line=2608 msg="SNAT 192.168.10.1->172.16.0.253:62464"
PC→R1のping(ポリシー削除済み)
>ping 192.168.0.254
192.168.0.254 に ping を送信しています 32 バイトのデータ:
要求がタイムアウトしました。
要求がタイムアウトしました。
要求がタイムアウトしました。
要求がタイムアウトしました。
192.168.0.254 の ping 統計:
パケット数: 送信 = 4、受信 = 0、損失 = 4 (100% の損失)、
Fortigateのログ
Fortigate2 # id=20085 trace_id=2 func=print_pkt_detail line=4489 msg="vd-root received a packet(proto=1, 192.168.10.1:1->192.168.0.254:8) from inter nal. code=8, type=0, id=1, seq=189."
id=20085 trace_id=2 func=init_ip_session_common line=4645 msg="allocate a new session-00007b58"
id=20085 trace_id=2 func=vf_ip4_route_input line=1597 msg="find a route: flags=00000000 gw-172.16.0.254 via wan2"
→ルートを発見しWAN2から172.16.0.254へ転送
id=20085 trace_id=2 func=fw_forward_handler line=567 msg="Denied by forward policy check (policy 0)"
→ポリシーチェックで一致件数0=暗黙のDenyにヒットして、ブロック
Fortigate上でパケットのログ表示
Fortigate2 # diagnose debug flow show console →ログ表示ON
Fortigate2 # diagnose debug flow filter proto 1 →表示ログフィルター(ICMPのみ)
Fortigate2 # diagnose debug flow trace start →表示ログ開始
※diagnose debug flow trace startまで入力しないとログは表示されない
止めるには、Fortigate2 # diagnose debug flow trace stopを入力。