正しくNATの設計を行わないと、NATが動作しない、意図した送信元IPに変換されないといった事象につながります。
FortiGateのNAT設定において重要となる、宛先NATについて事前に確認しておくべき事項をまとめました。
目次
対象バージョン
FortiOS:7.0 , 7.2
NATとは
パケット内の宛先/送信元IPアドレスを事前に決められたルールに従い変換を行う事です。
広義としてNAPT(IPマスカレード)などNAT技術全般も含むことがあります。
バーチャルIP(Virtual IP)設定とは
外部IPアドレスを内部IPアドレスにマッピングするために使用されます。
グローバルIPアドレスをFortiGateによってプライベートIPアドレスに変換する際などによく利用されます。
※VIPグループ、セントラルNATは使用しない前提で記載しています。
バーチャルIP(Virtual IP)設定における見落としがちなポイント
VIP設定を検討する際には、VIP設定において逆向き(マップされるIPアドレスを持つ機器から外部への向き)に発信されるトラフィックについて考慮が必要になります。
※逆向きに発信されるトラフィックとは、レスポンスのことではありません。
- 逆向きに発信される通信がどののインターフェースから外部に出るのか
- VIP設定でマップされるIPアドレスを持つ機器が外部にアクセスするときに、どの送信元IPアドレスに変換するべきか。
VIPは外部から内部への通信におけるIPアドレス変換設定です。
しかし、VIP設定次第では逆向きに発信されるトラフィックにおいて、送信元IPアドレスがどのように変換されるのかが変化します。
バーチャルIP設定時に確認することリスト
- NAT前後のパケットのIPバージョン
- NAT対象パケットがFortiGateにおいて最初に到達するインターフェース
- NAT対象パケットをリッスンするインターフェースを制限する必要があるか。
- NATの種類
以下が選択可能です。- スタティックNAT
- FQDN
- load-balancing(cliのみ設定可能) ※設定が複雑になるため、詳細は割愛します。
- server-load-balance(cliのみ設定可能) ※設定が複雑になるため、詳細は割愛します。
- dns-translation(cliのみ設定可能) ※設定が複雑になるため、詳細は割愛します。
- access-procxy(cliのみ設定可能) ※設定が複雑になるため、詳細は割愛します。
- NAT対象とする宛先IPアドレス(レンジ)
- NAT対象とする送信元IPアドレス(レンジ)(オプション)
- NAT実施後のIPアドレス(レンジ)
- VIP設定において逆向き(マップされるIPアドレスを持つ機器から外部への向き)に発信されるトラフィックの送信元NAT変換後のIPアドレス
- 外部IPアドレスのARP応答がいつから必要になるのか
- NAT対象とするサービス
- ポートフォワーディングの要否
必要な場合には、フォワード対象のポート番号とフォワード後のポート番号について詳細を確認します。
NAT前後のパケットのIPバージョン
IPv6をNAT前後のどちらかで使用する場合には、System(システム) > FeatureVisibility(表示機能設定)から、IPv6を有効にする必要があります。
NAT対象パケットがFortiGateにおいて最初に到達するインターフェース
設定項目の「インターフェース」より、対象のインターフェースを選択します。(set extintf)
anyを設定することで、IPアドレスのみを変換対象とすることも可能です。
インターフェースに any を設定すると想定外の挙動になる可能性があります。可能な限りanyを使わないことを推奨します。
any設定が必要になる場合には以下の記事をご一読ください。
NAT対象パケットをリッスンするインターフェースを制限する必要があるか。
リッスンするインターフェースを制限したい場合には本設定が必要です。(CLIのみ設定が可能です。)
vDOM設定を利用されておらず、IPv4を扱う前提で以下の設定を行います。
config firewall vip edit "設定対象のポリシー" set srcintf-filter "設定対象のインターフェース" end (あるいはnext)
NATの種類
GUIではスタティックNATもしくは、FQDNが選択可能です。(set type)
タイプ:FQDNについて
IPアドレスもしくはFQDNを別のFQDNの名前解決結果に変換する機能になります。
パケット内の宛先IPアドレスがNAT対象とするFQDNの名前解決結果のIPアドレスと一致している場合にNATを行う仕様のようです。
ネットワークレイヤレベルでの情報を基に変換を行います。
NAT対象とする宛先IPアドレス(レンジ)
設定項目の「外部IPアドレス/範囲」にIPアドレス(レンジ)を入力します。
NAT対象とする送信元IPアドレス(レンジ)(オプション)
設定項目「オプションのフィルタ」を有効化後、「送信元IPアドレス」を有効にします。(set src-filter)
NATを行う対象とする送信元IPアドレス(レンジ)を設定します。
NAT実施後のIPアドレス(レンジ)
設定項目「マップ」の「IPv4アドレス/範囲」を設定します。
VIP設定において逆向き(マップされるIPアドレスを持つ機器から外部への向き)に発信されるトラフィックの送信元NAT変換後のIPアドレス
VIPは外部IPを内部IPにマップする目的で利用されます。
VIP設定の逆向きに発信されるトラフィックを制御する際に、「そのVIPにおけるnat-source-vipの設定値」と「逆向きトラフィックの許可ポリシー送信元NAT設定」が重要です。
nat-source-vip のデフォルト値はdisableです。
disable:VIP設定においてマップされるIPアドレスを持つ機器が、VIPの設定項目「インターフェース」に合致するインターフェースから外部抜けする場合に、外部IPアドレスを用いて送信元NATを行います。
enable:VIP設定においてマップされるIPアドレスを持つ機器が、あらゆるインターフェースから外部抜けする場合に、外部IPアドレスを用いて送信元NATを行います。
VIP設定の逆向きのトラフィックにおいて、送信元NATにどのIPアドレスが用いられるのかは以下の条件により決まっています。
- nat-source-vipが有効であれば、VIP設定を逆向きの変換を行います。
- ポリシーで設定されたIPプールに従って送信元NATを行います。
- nat-source-vipが無効の場合、VIP設定で構成された外部インターフェースから出ていくトラフィックのみVIPに従って送信元NATが逆向きにかかります。
- 発信インターフェースのIPアドレスにSNATされます。
Fortiフォーラムで記載されている重要な仕様があります。ポートフォワーディング設定をしている場合には、以下の仕様についても確認ください。
- VIPでポートフォワーディングが無効かつ外部から内部へのNATの逆向きのトラフィックを許可するポリシーにおいて、NATが有効かつ「発信インターフェースのアドレスを使用」が利用されている場合には、「nat-source-vip」の設定に関係なく、VIPの外部IPアドレスにNATされます。
- VIPでポートフォワーディングが無効かつ外部から内部へのNATの逆向きのトラフィックを許可するポリシーにおいて、NATが有効かつ「ダイナミックIPプールと使う」が利用されている場合に、VIPを使用して送信元NATを実行するには、「nat-source-vip」をCLIから有効にする必要があります。ポリシーのIPプールの代わりに、VIPの外部IPアドレスを使用してNATが行われます。
- VIPでポートフォワーディングが行われている場合、「nat-source-vip」を有効にする必要があります。なお、本設定によりNATされる対象は、VIP設定のポートフォワード先のポート番号から外部向けの通信のみが対象となります。
詳細については以下の記事をご参照ください。
Technical Tip: How to use VIP's External IP Address for Source NAT when Central NAT is disabled
基本的には、nat-source-vipの設定値を変更することはありません。
外部IPアドレスのARP応答を即時有効化してもよいのか
VIP設定において、外部IPアドレスのARP応答を行わせない設定が可能です。 外部IPアドレスの重複を原因とするトラブルシュートなどで利用することができます。 また、Fortiフォーラムを見ると、機器の移行を行う際に外部IPアドレスに応答させないというような目的でも利用することができるようです。
NAT対象とするサービス
設定項目「オプションのフィルタ」を有効化後、「サービス」を有効にします。 NATの種類によっては利用できないことがありますので、事前に確認することを推奨します。
ポートフォワーディングの要否
設定項目「ポートフォワード」を有効化後、「One to one]或いは「Many to many」を選択します。
以上、FortiGateのNAT(VIP)設定についてヒアリング項目と設定方法になります。
記載されている会社名、システム名、製品名は一般に各社の登録商標または商標です。
当社製品以外のサードパーティ製品の設定内容につきましては、弊社サポート対象外となります。