本記事について
本記事では、Fortinet 社のファイアウォール製品である FortiGate において、宛先NAT/NAPT、ポートフォワーディングを設定する方法について説明します。
動作確認環境
本記事の内容は以下の機器にて動作確認を行った結果に基づいて作成されています。
- FortiGate-60F
- バージョン 7.4.3
FortiGate での宛先 NAT の設定方法
想定するシナリオ
以下のようなネットワーク構成を考えます。FortiGate の dmz インターフェースの先に外部に公開する Web サーバ(http) が存在します。外部ネットワークからの 192.168.179.10 宛の通信を宛先 NAT して Web サーバ宛 (10.10.10.100 宛) に変換して Web サーバにアクセスさせます。
宛先 NAT の設定方法
設定の手順は以下の通りです。
- バーチャルIPの作成
- ファイアウォールポリシーの設定
ここでは GUI で設定を行うこととします。
GUI にログインし左側のメニューから「ポリシー&オブジェクト > バーチャルIP」をクリックします。
「バーチャルIP」タブが表示されていることを確認し、「新規作成」をクリックします。
バーチャルIP設定画面が表示されるため各項目を設定します。
- 「名前」には任意のバーチャルIP名を入力します
- 必要な場合は「コメント」を入力します
- GUI でのアイコンの色を変えたい場合は「カラー」を変更します
- 「インターフェース」では対象の通信を着信するインターフェースを指定します
- 「タイプ」は「スタティックNAT」にします
- 「外部IPアドレス/範囲」には変換前の宛先アドレスを入力します
- 「マップ > IPv4アドレス/範囲」には変換後の宛先アドレスを入力します
- 「オプションのフィルタ」は今回必要ないため OFF のままとします
- 「ポートフォワード」は今回必要ないため OFF のままとします
以上の設定ができたら「OK」をクリックします。
バーチャルIP画面にてバーチャルIP設定が追加されたことを確認します。
GUI 左側のメニューから「ポリシー&オブジェクト > ファイアウォールポリシー」をクリックします。
ファイアウォールポリシー画面にて左上の「新規作成」をクリックします。
ファイアウォールポリシーを設定しますが、ポイントは「宛先」にて上の手順で作成したバーチャルIPを設定することです。その他の項目は通常のファイアウォールポリシー設定と同様に設定します。
ファイアウォールポリシー画面で設定したポリシーが追加されていることを確認します。
以上で宛先 NAT の設定は完了です。
実際に通信テストをして FortiGate のトラフィックログを確認すると、以下のように宛先変換されていることがログに保存されます。
またget system session list
でセッションリストを表示でき、変換前後のアドレスを確認できます。
FortiGate-60F # get system session list
PROTO EXPIRE SOURCE SOURCE-NAT DESTINATION DESTINATION-NAT
tcp 3597 192.168.179.32:53544 - 192.168.179.10:80 10.10.10.100:80
FortiGate での宛先 NAPT の設定方法
宛先 NAPT は宛先アドレスに加えて宛先ポート番号も変換します。
想定するシナリオ
以下のようなネットワーク構成を考えます。FortiGate の dmz インターフェースの先に外部に公開する Web サーバ(http) が存在します。外部ネットワークからの 192.168.179.10 のポート 2080 宛の通信を宛先 NAPT して Web サーバ (10.10.10.100) のポート 80 宛に変換して Web サーバにアクセスさせます。
宛先 NAPT の設定方法
設定の手順は以下の通りです。
- バーチャルIPの作成
- ファイアウォールポリシーの設定
ここでは GUI で設定を行うこととします。
GUI にログインし左側のメニューから「ポリシー&オブジェクト > バーチャルIP」をクリックします。
「バーチャルIP」タブが表示されていることを確認し、「新規作成」をクリックします。
バーチャルIP設定画面が表示されるため各項目を設定します。
- 「名前」には任意のバーチャルIP名を入力します
- 必要な場合は「コメント」を入力します
- GUI でのアイコンの色を変えたい場合は「カラー」を変更します
- 「インターフェース」では対象の通信を着信するインターフェースを指定します
- 「タイプ」は「スタティックNAT」にします
- 「外部IPアドレス/範囲」には変換前の宛先アドレスを入力します
- 「マップ > IPv4アドレス/範囲」には変換後の宛先アドレスを入力します
- 「オプションのフィルタ」は今回必要ないため OFF のままとします
- 「ポートフォワード」を有効にします
- 「プロトコル」は想定シナリオでは http 通信のため「TCP」を選択します
- 「ポートマッピングタイプ」は「1対1」とします
- 「外部サービスポート」は変換前の宛先ポートとします
- 「IPv4ポートへマップ」は変換後の宛先ポートとします
以上の設定ができたら「OK」をクリックします。
バーチャルIP画面にてバーチャルIP設定が追加されたことを確認します。
GUI 左側のメニューから「ポリシー&オブジェクト > ファイアウォールポリシー」をクリックします。
ファイアウォールポリシー画面にて左上の「新規作成」をクリックします。
ファイアウォールポリシーを設定しますが、ポイントは「宛先」にて上の手順で作成したバーチャルIPを設定することと、「サービス」にて変換後のサービス(ポート番号)を設定することです。その他の項目は通常のファイアウォールポリシー設定と同様に設定します。
ファイアウォールポリシー画面で設定したポリシーが追加されていることを確認します。
以上で宛先 NAPT の設定は完了です。
実際に通信テストをして FortiGate のトラフィックログを確認すると、以下のように宛先アドレス及びポートが変換されていることがログに保存されます。
またget system session list
でセッションリストを表示でき、変換前後のアドレスを確認できます。
FortiGate-60F # get system session list
PROTO EXPIRE SOURCE SOURCE-NAT DESTINATION DESTINATION-NAT
tcp 3587 192.168.179.32:55861 - 192.168.179.10:2080 10.10.10.100:80
FortiGate でのポートフォワーディングの設定方法
ポートフォワーディングは宛先アドレスと宛先ポート番号の両方を変換する点は NAPT と同じですが、FortiGate のインターフェースが持つアドレスを宛先とし、かつ特定のポート番号宛の通信に対して宛先変換を行います。
想定するシナリオ
以下のようなネットワーク構成を考えます。FortiGate の dmz インターフェースの先に外部に公開する Web サーバ(http) が存在します。外部ネットワークからの 192.168.179.21(FortiGate の wan1)のポート 2080 宛の通信を Web サーバ (10.10.10.100) のポート 80 宛に変換して Web サーバにアクセスさせます。
ポートフォワーディングの設定方法
設定の手順は以下の通りです。
- バーチャルIPの作成
- ファイアウォールポリシーの設定
ここでは GUI で設定を行うこととします。
GUI にログインし左側のメニューから「ポリシー&オブジェクト > バーチャルIP」をクリックします。
「バーチャルIP」タブが表示されていることを確認し、「新規作成」をクリックします。
バーチャルIP設定画面が表示されるため各項目を設定します。
- 「名前」には任意のバーチャルIP名を入力します
- 必要な場合は「コメント」を入力します
- GUI でのアイコンの色を変えたい場合は「カラー」を変更します
- 「インターフェース」では対象の通信を着信するインターフェースを指定します
- 「タイプ」は「スタティックNAT」にします
- 「外部IPアドレス/範囲」には変換前の宛先アドレス(FortiGate の wan1)を入力します
- 「マップ > IPv4アドレス/範囲」には変換後の宛先アドレスを入力します
- 「オプションのフィルタ」は今回必要ないため OFF のままとします
- 「ポートフォワード」を有効にします
- 「プロトコル」は想定シナリオでは http 通信のため「TCP」を選択します
- 「ポートマッピングタイプ」は「1対1」とします
- 「外部サービスポート」は変換前の宛先ポートとします
- 「IPv4ポートへマップ」は変換後の宛先ポートとします
以上の設定ができたら「OK」をクリックします。
バーチャルIP画面にてバーチャルIP設定が追加されたことを確認します。
GUI 左側のメニューから「ポリシー&オブジェクト > ファイアウォールポリシー」をクリックします。
ファイアウォールポリシー画面にて左上の「新規作成」をクリックします。
ファイアウォールポリシーを設定しますが、ポイントは「宛先」にて上の手順で作成したバーチャルIPを設定することと、「サービス」にて変換後のサービス(ポート番号)を設定することです。その他の項目は通常のファイアウォールポリシー設定と同様に設定します。
ファイアウォールポリシー画面で設定したポリシーが追加されていることを確認します。
以上でポートフォワーディングの設定は完了です。
実際に通信テストをして FortiGate のトラフィックログを確認すると、以下のように宛先アドレス及びポートが変換されていることがログに保存されます。
またget system session list
でセッションリストを表示でき、変換前後のアドレスを確認できます。
FortiGate-60F # get system session list
PROTO EXPIRE SOURCE SOURCE-NAT DESTINATION DESTINATION-NAT
tcp 3588 192.168.179.32:51177 - 192.168.179.21:2080 10.10.10.100:80
【参考】バーチャルIP を CLI で設定する方法
バーチャルIP を CLI で設定する場合、config firewall vip
で設定します。
バーチャルIPのコンフィグは以下のようにedit
項目で表されます。
config firewall vip
edit "VIP_192.168.179.21_2080"
set uuid 9a8a5fda-ee8f-51ee-e27e-bd9a4a88be95
set extip 192.168.179.21
set mappedip "10.10.10.100"
set extintf "wan1"
set portforward enable
set extport 2080
set mappedport 80
next
end
設定項目は以下の通りです。
GUI 設定項目 | CLI 設定項目 | 備考 |
---|---|---|
名前 | edit 項目の ID 値として設定 | |
コメント | comment | |
カラー | color | |
インターフェース | extintf | |
タイプ | type | |
外部IPアドレス/範囲 | extip | |
マップ>IPv4アドレス/範囲 | mappedip | |
ポートフォワード | portforward | |
プロトコル | protocol | |
ポートマッピングタイプ | portmapping-type | |
外部サービスポート | extport | |
IPv4ポートへマップ | mappedport |
config firewall vip
edit "VIP_192.168.179.21_2080"
set comment ''
set color 0
set extintf "wan1"
set type static-nat
set extip 192.168.179.21
set mappedip "10.10.10.100"
set portforward enable
set protocol tcp
set portmapping-type 1-to-1
set extport 2080
set mappedport 80
next
end
以上です。
【おすすめ】FortiGate の設計構築中なら以下の記事も役立つかもです
- 基礎知識
- HA (冗長構成) 設定
- FortiGate HA モードの Active-Passive と Active-Active の違いを解説します
- FortiGate HA(冗長構成)の概要と設定ガイド【詳しく解説】※note記事
- FortiGate HA 構成時のコンフィグ同期の仕様について解説します
- FortiGate HA 構成時の NTP,Syslog,SNMP 等の送信元インターフェースを解説 [ha-direct 設定]
- FortiGate HA 構成時の仮想 MAC アドレスについて解説します
- FortiGate HA ハートビート送信間隔と障害判定しきい値の設定ガイド
- FortiGate HA 構成時のバックアップ及びリストア実施ガイド
- FortiGate HA 構成でのモニタインターフェースダウン時の通信断時間について解説
- FortiGate HA 構成に関するQ&A 【良くありそうな疑問集】
- VDOM (バーチャルドメイン) 設定
- トランスペアレントモード設定
- システム系設定
- 管理者アカウント設定
- 時刻・NTP 設定
- ロギング・Syslog 送信設定
- SNMP 設定
- DHCP サーバ機能設定
- Proxy サーバ機能設定
- アラートメール送信
- ネットワーク系設定
- インターフェース設定
- ルーティング設定
- DNS 設定
- NAT 及び NAPT 設定
- ファイアウォール系設定
- アドレス設定
- サービス設定
- ファイアウォールポリシー設定
- ゾーンを使用したポリシー設定
- VPN 系設定
- Tips
Amazon アフィリエイトリンク
以下は Amazon アフィリエイトリンクです。インフラエンジニアにそこそこおすすめなアイテムです。
note メンバーシップへの参加もお待ちしています!
【アフィリエイト】おすすめ WordPress テーマ【SWELL】
当サイトでは WordPress テーマとして SWELL を使用しています。以前は無料・高機能テーマとして知られる Cocoon を使用していて Cocoon も使いやすかったのですが、SWELL を使い始めてからは SWELL のほうが圧倒的に使いやすいなと思いました。そして何より読み込み速度が速い。SWELL を使い始めてから、過去の Cocoon のブログを見直したときに「あれ、こんなに表示遅かったっけ?」という感覚になりました。
また SWELL はデフォルトでもオシャレなデザインですが柔軟にカスタマイズすることもでき個性のあるサイトを作成できます。さらにブログパーツや広告タグといった再利用可能なブログの「部品」も作成することができ、ブログ作成効率も高いです。
技術ブログやアフィリエイト等での収益化を見据えたブログの作成に SWELL は最適です。初見では価格が高いなと思うと思いますが、私としては SWELL を採用して良かったしそれ以上の価値があると感じています。
ブログの新設やテーマ変更を考えている人は一度 SWELL を検討してみてください。
以下の画像リンクから詳細な情報を確認できます。
レンタルサーバーを探している人には安定性に定評のあるエックスサーバーをお勧めします。
当サイトもエックスサーバーを使用しています。WordPress のインストールも簡単にできます。
コメント