作業環境
- FortiGate 60E
- version 7.0.5
【宛先 NAPT】ポート開放(ポートフォワーディング)の設定
外部から WAN 側 IP の特定ポートに対してアクセスがあった場合、内部の IP にポートフォワーディングをすることを考えます。
検証環境
以下の構成で、外部の端末から DMZ のサーバに SSH 接続させることを考えます。

- 端末が FortiGate の WAN 側 IP 100.99.98.100 に対してポート 8022 でアクセスした場合に、DMZ のサーバの IP 10.10.10.100 のポート 22 にポートフォワーディングさせます
FortiGate の設定
FortiGate で必要な設定は以下の 2 つです。
- バーチャル IP の設定
- ポリシーの設定
バーチャル IP の設定
FortiGate で宛先 NAT(NAPT)をしたい場合は、バーチャル IP を使用します。
GUI の [ポリシー&オブジェクト > バーチャルIP] 画面から [新規作成] をクリックします。
ここでは検証環境に合わせて以下の通り設定します。

- ネットワーク
- [インターフェース] は NAPT したい通信を着信するインターフェースとする
- [タイプ] は [スタティックNAT] とする
- [外部IPアドレス/範囲] は変換前宛先 IP とする
- [マップ > IPv4アドレス/範囲] は変換後 IP とする
- ポートフォワーディングする場合は [ポートフォワード] を有効化する
- [Port Mapping Type] ではポートを 1 対 1 で対応させたいため [One to one] とする
- [外部サービスポート] は変換前宛先ポートとする
- [IPv4ポートへマップ] は変換後宛先ポートとする
CLI で設定する場合は以下の通りです。
config firewall vip
edit "VIP_100.99.98.100_8022"
set extintf "wan1"
set type static-nat
set extip 100.99.98.100
set mappedip "10.10.10.100"
set portforward enable
set protocol tcp
set portmapping-type 1-to-1
set extport 8022
set mappedport 22
next
end
ポリシーの設定
ポリシー設定は検証環境に合わせて以下のように設定します。

- [宛先] にはあらかじめ作成しておいたバーチャル IP を設定する
- [サービス] には変換後宛先ポートに該当するサービスを指定する
動作確認
端末から、FortiGate の WAN 側 IP 100.99.98.100 のポート 8022 に対して SSH 接続します。

結果、サーバに対して SSH 接続できました。

FortiGate のトラフィックログでポートフォワーディングされていることを確認できます。
