FortiGateにおけるNAPT(Network Address and Port Translation)の設定について、網羅的かつ実践的な視点で解説します。
NAPT(Network Address and Port Translation)は、複数の内部IPアドレスを1つのグローバルIPアドレスに変換しつつ、ポート番号も変換することで通信の整合性を保つNATの一種です。
FortiGateでは、一般的に「NAT」という名称でNAPTを実現します。
これは、家庭や企業のネットワークでインターネット接続を共有する最も一般的な方法です。
FortiGateではNAPTを設定するには、主に以下の3ステップが必要です。
NAPTを行うためには、外部(WAN)インターフェースにグローバルIPアドレスが設定されている必要があります。
config system interface
edit "wan1"
set ip 203.0.113.1/24
set allowaccess ping https ssh
next
end
GUIでも「Network」→「Interfaces」から設定可能。
FortiGateではファイアウォールポリシーにNAT設定を組み込むことでNAPTを実現します。
config firewall policy
edit 1
set name "Internet Access"
set srcintf "internal"
set dstintf "wan1"
set srcaddr "all"
set dstaddr "all"
set action accept
set schedule "always"
set service "ALL"
set nat enable
next
end
ポリシー内で set nat enable
を指定することで、自動的にNAPT(Port Address Translationを含む)が行われます。
デフォルトでは「出力インターフェースのIPアドレス」を使って変換しますが、必要に応じて明示的にIPプール(IP Pool)を使用することもできます。
config firewall ippool
edit "mypool"
set startip 203.0.113.10
set endip 203.0.113.20
next
end
config firewall policy
edit 1
set srcintf "internal"
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 "mypool"
next
end
NAPTが正しく動作しているか確認するには以下の方法があります。
diagnose sys session list
→ snat
としてポート変換されたセッションが表示されます。
チェック項目 | 内容 |
---|---|
NATが有効になっているか? | ポリシーで set nat enable があるか確認 |
インターフェースのIP設定 | WAN側に正しいグローバルIPが設定されているか |
ポリシーの順序 | 上位のポリシーが該当トラフィックをブロックしていないか |
セッション数の制限 | セッションテーブルの上限を超えていないか |
ルーティング設定 | 内部→外部へのルートが正しく設定されているか |
DNSの解決 | クライアントがDNSで名前解決できているか(ネットアクセス時に重要) |
項目 | 説明 |
---|---|
インターフェース | WAN側にグローバルIPを設定 |
ファイアウォールポリシー | 内部→外部への許可を設定し、NAT enable を有効化 |
ポート変換 | デフォルトで自動実行。必要なら IP Pool を使ってカスタマイズ可能 |
動作確認 | CLIやログでセッション変換の状況を確認可能 |
項目 | 静的NAT(1:1 NAT) | NAPT(動的PAT) |
---|---|---|
IPアドレス変換 | 固定 | 動的(ポート番号も変換) |
ポート番号の変換 | しない | する |
主な用途 | サーバー公開など | クライアントのインターネットアクセス |
以上、FortiGateのNAPTの設定についてでした。
最後までお読みいただき、ありがとうございました。