はじめに
以下のようなネットワークにおいて、インターネット側から公開サーバに対応するグローバル IP 宛に通信があった際に、対象公開サーバにアクセスさせるようにすることを考えます。これを実現するための FortiGate の設定例を記載します。

作業環境
- 型番: FortiGate 60E
- バージョン: 6.4.5
検証構成
公開サーバにはプライベート IP 10.1.50.10/24 が設定されています。
FortiGate の WAN1 インターフェースでグローバル IP 110.10.20.30 宛のパケットを受信した場合、宛先を公開サーバのプライベート IP 10.1.50.10 に宛先 NAT して DMZ インターフェースからパケットを出力します。

FortiGate 設定例
インターフェース設定
wan1 インターフェースと dmz インターフェースに IP アドレスを設定します。
■ wan1 インターフェース設定

■ dmz インターフェース設定

バーチャル IP 設定
この後 wan1 側から公開サーバへの通信を許可するポリシーを設定しますが、そのポリシー設定で使用するためのバーチャル IP を先に設定します。
バーチャル IP は宛先 NAT を行うために使用します。
[ポリシー&オブジェクト > バーチャルIP] 画面で [新規作成 > バーチャルIP] を選択します。
以下画面が表示されるため、次の通り設定します。
- 名前: 任意の表示名を指定
- インターフェース: wan1 (インターネット側からの着信インターフェース)
- タイプ: スタティックNAT
- 外部IPアドレス/範囲: 110.10.20.30 (公開サーバに対応付けるグローバル IP)
- マップされたIPアドレス/範囲: 10.1.50.10 (公開サーバに設定しているプライベート IP)

ポリシー設定
wan1 側から公開サーバへの通信を許可するポリシーを次の通り設定します。
- 着信インターフェース: wan1
- 発信インターフェース: dmz
- 送信元: all
- 宛先: 作成したバーチャル IP
- サービス: 接続させたいサービス (例では簡単のため all)
- NAT: OFF
- その他: 要件に合わせて設定

スタティックルート設定
インターネットへのルートとなるデフォルートを以下画像の通り設定します。

疎通確認
クライアントから公開サーバに対応付けたグローバル IP (110.10.20.30) 宛に ping をします。

C:\Windows\system32>ping 110.10.20.30
110.10.20.30 に ping を送信しています 32 バイトのデータ:
110.10.20.30 からの応答: バイト数 =32 時間 =55ms TTL=125
110.10.20.30 からの応答: バイト数 =32 時間 =1ms TTL=125
110.10.20.30 からの応答: バイト数 =32 時間 =1ms TTL=125
110.10.20.30 からの応答: バイト数 =32 時間 =1ms TTL=125
110.10.20.30 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 1ms、最大 = 55ms、平均 = 14ms
C:\Windows\system32>
C:\Windows\system32>tracert -d 110.10.20.30
110.10.20.30 へのルートをトレースしています。経由するホップ数は最大 30 です
1 1 ms 1 ms 1 ms 100.1.2.1
2 1 ms 1 ms 1 ms 100.1.1.2
3 1 ms 1 ms 1 ms 192.168.111.1
4 2 ms 1 ms 1 ms 110.10.20.30
トレースを完了しました。
C:\Windows\system32>
DMZ のスイッチでパケットキャプチャしてみると、宛先が 10.1.50.10 に変換されていることが分かります。
