FortiGateの「ダイナミックIPプール(Dynamic IP Pool)」は、内部ネットワーク(LAN側)の端末が外部(インターネット)にアクセスする際に、NAT変換に使用するIPアドレスを複数定義して、動的に割り当てるための仕組みです。
これは、いわば「出口のIPアドレスを複数持たせる」ことで、セキュリティや帯域制御、接続元IP制限への対応などに柔軟性を持たせる高度なNAT設定です。
通常、FortiGateでは「SNAT(Source NAT)」により、LAN側端末のIPをグローバルIP(または別のIP)に変換してインターネットに出ていきます。
ここで使うIPは、以下のように設定できます。
この「複数のIPから動的に割り当てる」設定こそが、ダイナミックIPプールです。
以下のようなケースで有効です。
使用ケース | 説明 |
---|---|
大量の接続セッションがある | セッション数が多く、1つのIPではポート不足になることがある(NATテーブル溢れ)。複数IPで分散処理。 |
対向先のサービスが接続元IPごとに制限している | 例:外部のAPIが「1IPにつき100リクエスト/分」のようなレート制限がある。 |
トラフィックごとに出口IPを制御したい | 特定のグループ・サービスだけ別のIPを使わせたい場合など。 |
監査目的 | 出口IPでトラフィックを分類できるため、ログや統計の分析に有用。 |
【GUIの場合】
dynamic_pool_1
Overload
(複数ホストで共有)203.0.113.1-203.0.113.5
Overload
:全ユーザーで使い回し(一般的)One-to-One
:1つの内部IPに1つの外部IP(固定変換したい場合)【CLIの場合】
config firewall ippool
edit "dynamic_pool_1"
set startip 203.0.113.1
set endip 203.0.113.5
set type overload
next
end
【GUIの場合】
dynamic_pool_1
を選択【CLIの場合】
config firewall policy
edit 10
set name "Internet Access"
set srcintf "lan"
set dstintf "wan1"
set srcaddr "all"
set dstaddr "all"
set action accept
set schedule "always"
set service "ALL"
set nat enable
set ippool enable
set poolname "dynamic_pool_1"
next
end
特徴 | 内容 |
---|---|
Overloadモード | ポート番号でセッションを区別して複数内部IPに1つの外部IPを共有。これが最も一般的な設定。 |
セッションが多いときに便利 | 1 IPあたり 64,000セッション(TCP/UDPのポート数)に制限があるため、プールで分散できる。 |
ログや監査のしやすさ | トラフィックがどの出口IPを通っていたかが明確になる。 |
対象ポリシーにIPプールを適用しないと動作しない | ポリシーで ippool enable とし、 poolname を指定する必要あり。 |
WANインターフェースに割り当て済みのIPでなければならない | 外に出るには、当然ながら通信可能なグローバルIPである必要あり(ルーティングも正しく設定)。 |
→ 不適切な設定(例:ISPに未登録のIPを使う)や、NATセッションの枯渇がなければ基本的には安定動作します。ただし、一部の外部サービスが出口IPの変更を嫌う(API制限など)場合には、逆に問題が出ることがあります。
→ FortiGateは内部的にセッションベースで、使用可能なIP/ポートから空いている組み合わせを自動で選択します。使用頻度やラウンドロビンとは少し異なる制御。
→ Overload
(多対一)=ダイナミックIPプール(可変・共有)
→ One-to-One
=固定IPマッピング(個別に固定割り当て)
項目 | 内容 |
---|---|
用途 | 内部ネットワークの外向け通信における出口IPを複数用意する |
メリット | セッション分散、制限回避、トラフィック制御、ログの明確化 |
必要設定 | IPプールの作成+ポリシーへの適用(NAT設定を有効にする) |
利用時の注意点 | 外部IPのルーティング・許可の確認、外部サービスのIP制限との相性確認 |
以上、FortiGateのダイナミックIPプールについてでした。
最後までお読みいただき、ありがとうございました。