FortiGate で NAT を設定する場合は、ポリシー設定の一部として NAT を設定します。
ここでは以下の設定方法について記載します。
- 送信元 NAT の設定方法
- 宛先 NAT の設定方法
作業環境
- 型番:FortiGate 60E
- ファームウェアバージョン:v6.0.9
送信元 NAT の設定
送信元 NAT には以下の 2 パターンがあります。
- 送出インターフェースのアドレスを使用する場合
- ダイナミック IP プールを使用する場合
送出インターフェースのアドレスを使用する場合
このパターンでは、NAT 後の送信元アドレスとして FortiGate の送出インターフェースの IP アドレスが使用されます。
以下の構成を想定します。

端末Aのサブネット 10.10.1.0/24 から端末Bのサブネット 10.10.3.0/24 へ通信する際に、送信元を FortiGate の送出インターフェースである internal6 の IP アドレス 10.10.3.254 に変換することを考えます。
NAT の設定はポリシー設定の [ファイウォール/ネットワークオプション] 項目で設定します。各項目を以下のように設定します。
- NAT → ON にする
- IP プール設定 → [送信インターフェースのアドレスを使用] を選択
- 送信元ポートを保持する
- OFF → 送信元ポートが変換される
- ON → 送信元ポートは変換されない

CLI で設定する場合は以下の通りです。(edit の ID 番号は任意の空き番号)
config firewall policy
edit 6
set name "SourceNAT01"
set srcintf "internal2"
set dstintf "internal6"
set srcaddr "10.10.1.0/24"
set dstaddr "10.10.3.0/24_int6"
set action accept
set schedule "always"
set service "ALL"
set fsso disable
set nat enable
set fixedport disable
next
end
以上です。
ダイナミック IP プールを使用する場合
ダイナミック IP プールを使用する場合は、変換後の送信元 IP アドレス を、あらかじめ作成しておいた IP プールオブジェクトで定義した IP アドレスに変換します。
以下の構成を想定します。

端末Aのサブネット 10.10.1.0/24 から端末Bのサブネット 10.10.3.0/24 へ通信する際に、送信元を 10.10.3.240 – 10.10.3.250 の範囲内の IP に変換することを考えます。
まず IP プールを作成します。[ポリシー&オブジェクト] → [IPプール] と選択し、[新規作成] をクリックします。

以下の画面となるため、各項目を設定します。
- 名前 → わかりやすい表示名を入力
- タイプ → 要件に合わせて選択します。ここでは [オーバーロード] とします
- 外部IP範囲 → 変換後アドレスとして使用する範囲を入力
- ARP リプライ → チェックを入れたままとします

CLI で設定する場合は以下の通りです。
config firewall ippool
edit "10.10.3.240-250"
set type overload
set startip 10.10.3.240
set endip 10.10.3.250
set arp-reply enable
next
end
IP プールを作成したら、次はポリシーを作成します。
ポリシー設定の各項目を以下のように設定します。
- NAT → ON にする
- IP プール設定 → [ダイナミックIPプールを使う] を選択
- IPプール設定ボックスが表示されるため、作成したIPプールを指定
- 送信元ポートを保持する
- OFF → 送信元ポートが変換される
- ON → 送信元ポートは変換されない

CLI で設定する場合は以下の通りです。(edit の ID 番号は任意の空き番号)
config firewall policy
edit 6
set name "SourceNAT02"
set srcintf "internal2"
set dstintf "internal6"
set srcaddr "10.10.1.0/24"
set dstaddr "10.10.3.0/24_int6"
set action accept
set schedule "always"
set service "ALL"
set fsso disable
set nat enable
set ippool enable
set poolname "10.10.3.240-250"
set fixedport disable
next
end
以上です。
宛先 NAT の設定
宛先 NAT を設定する場合は、バーチャル IP を作成して、ポリシーの宛先としてバーチャル IP を設定します。
以下の構成を想定します。

端末Bのサブネット 10.10.3.0/24 から 10.10.3.254 への通信の宛先を端末Aの IP アドレス 10.10.1.10 に変換することを考えます。
まずバーチャル IP を作成します。[ポリシー&オブジェクト] → [バーチャルIP] と選択し、[新規作成] をクリックし [バーチャルIP] をクリックします。

以下の画面となるため、各項目を設定します。
- 名前 → わかりやすい表示名を入力
- インターフェース → FortiGate の受信インターフェースを指定
- 外部IPアドレス/範囲 → 変換前の宛先 IP アドレスを入力
- マップされたIPアドレス/範囲 → 変換後の宛先 IP アドレスを入力
- その他 → デフォルト

CLI で設定する場合は以下の通りです。
config firewall vip
edit "VIP_10.10.1.10_from_10.10.3.254"
set extip 10.10.3.254
set extintf "internal6"
set mappedip "10.10.1.10"
next
end
バーチャル IP を作成したら、次はポリシーを作成します。
ポリシー設定の各項目を以下のように設定します。
- 宛先 → 作成したバーチャル IP を指定

CLI で設定する場合は以下の通りです。(edit の ID 番号は任意の空き番号)
config firewall policy
edit 7
set name "DestNAT"
set srcintf "internal6"
set dstintf "internal2"
set srcaddr "10.10.3.0/24_int6"
set dstaddr "VIP_10.10.1.10_from_10.10.3.254"
set action accept
set schedule "always"
set service "ALL"
set fsso disable
next
end
以上です。
NAT テーブルの確認コマンド
get system session list コマンドで NAT テーブルの確認ができます。
■送信元 NAT を利用したときのコマンド出力
FGT # get system session list
PROTO EXPIRE SOURCE SOURCE-NAT DESTINATION DESTINATION-NAT
icmp 58 10.10.1.10:1 10.10.3.250:60417 10.10.3.10:8 -
igmp 345 10.10.10.1:0 - 224.0.0.22:0 -
tcp 3599 10.10.1.10:52627 - 10.10.1.254:22 -
■宛先 NAT を利用したときのコマンド出力
FGT # get system session list
PROTO EXPIRE SOURCE SOURCE-NAT DESTINATION DESTINATION-NAT
icmp 54 10.10.3.10:1 - 10.10.3.254:8 10.10.1.10:1
igmp 270 10.10.10.1:0 - 224.0.0.22:0 -
tcp 3599 10.10.1.10:52627 - 10.10.1.254:22 -