SNATとDNATは、通信のどのIPを変えるかを表す言葉です。SNATは送信元、DNATは宛先を変えます。「社内から外だからSNAT」と方向だけで覚えるより、変換前後のパケットを比べるほうが確実です。
この記事では、PCの外部接続と公開サーバーへの接続を例に、送信元・宛先・返信の変化を追います。外部側の198.51.100.0/24、203.0.113.0/24は文書用アドレスで、実在するサービスのIPではありません。
SNATは送信元、DNATは宛先を書き換える
パケットには送信元IPと宛先IPがあります。変換装置を通る前後を比べ、送信元が変わればSNAT、宛先が変わればDNATとして整理できます。
同じ装置でも、方向や設定によって変える欄は違います。Ciscoのコマンド名にsourceとあっても、返信や外部からの受信では宛先側が逆変換される場面があります。
| 方式 | 変える値 | 典型例 | 相手から見える値 |
|---|---|---|---|
| SNAT | 送信元IP(PATならポートも) | 社内PCから外部サーバーへ | 変換後の公開IP |
| DNAT | 宛先IP(ポート転送ならポートも) | 公開IP宛を内部サーバーへ | 原則として元のクライアントIP。別途SNATがあれば変わる |
| 例と観測点 | 変換前 | 変換後 |
|---|---|---|
| 外向きSNAT | 10.0.0.10 → 203.0.113.20 | 198.51.100.10 → 203.0.113.20 |
| 公開サーバーへのDNAT | 198.51.100.20 → 203.0.113.10 | 198.51.100.20 → 10.0.0.20 |
「変換前のIP」だけでなく、どの方向の送信元か宛先かまで書くと、ログや設定を対応させやすくなります。
PCの外部接続では、相手から見える送信元が変わる
PCの10.0.0.10が外部サーバー203.0.113.20へ送る例です。NAT装置で送信元を198.51.100.10へ変えると、サーバーはその変換後IPからの通信として受け取ります。
外部サーバーは、通常、そのパケットの送信元を宛先にして返信します。したがって、返信は198.51.100.10へ戻り、NAT装置で元のPCへ対応付けます。
ip nat inside source list 10 interface GigabitEthernet0/2 overload
ip nat inside source static tcp 10.0.0.10 443 203.0.113.10 443
show ip nat translations
設定例のoverloadは、ポートなども使って複数の通信をまとめるPATの指定です。一つのIPだけで全端末を見分けているわけではありません。
サーバーログの送信元がPCのIPと違う場合は、SNAT後のIPかを確認します。ログが間違っていると決める前に、観測場所を合わせてみてください。
公開サーバーへの接続では、宛先を内部サーバーへ変える
外部クライアントが公開IP198.51.100.20のTCP443へ接続し、内部サーバー10.0.0.20のTCP443へ転送する例です。受信パケットの宛先が変わるので、これはDNATの動きです。
DNATだけなら、送信元は元の外部クライアントのままの場合があります。別途SNATやプロキシがあるかで、サーバーに見える送信元が変わります。
- STEP 01Inside Local
- STEP 02SNAT/DNAT装置
- STEP 03Inside グローバル
- STEP 04Outside サーバー
サーバーが応答しても、返信がNAT装置を通らなければ公開IPへ戻せない場合があります。サーバーのゲートウェイと戻り経路を確認します。
FWでは、対象製品のポリシーがNAT前後のどの値を見るかを調べます。公開IPを書けばよいのか、内部IPを書くのかは、製品の処理順に合わせます。
静的NAT・PAT・ポート転送は、別の分類軸
SNAT/DNATは変える欄の分類です。静的NATは固定した対応を作ること、PATはポートも使って対応を持つことを表します。どの欄を変えるかと、対応をどう作るかは別の軸です。
ポートフォワードは、公開IPの特定ポートを内部サーバーへ向ける使い方です。固定の対応がある場合と、端末の通信開始で動的な変換が作られる場合も分けます。
戻りパケットは、静的な対応や動的な変換情報に従って逆変換されます。動的な情報が失効したり、別の装置へ返信が入ったりすると、元の端末へ戻せない場合があります。
IPだけでなく、プロトコルと必要なポート・識別情報も確認すると、同じIPの複数接続を区別できます。
変換表とFW・サーバーのログを、同じ時刻で合わせる
試験の送信元、宛先、プロトコル、ポートを固定し、変換前後の値を記録します。show ip nat translationsなどの表示と、内側・外側のキャプチャを同じ通信で照合します。
FWログは許可・拒否、NAT表は変換、サーバーログは受信や処理を示します。一つの表示から、ほかの段階も全部成功したとは言えません。
- PATとは?NATとの違いとIP・ポート変換の仕組み
接続できない場合は、変換の有無だけでなく、経路、FW条件、サーバーの待受、返信の通過を調べます。変換表を消す前に、事象が起きた状態を保存してください。
構成図、通信要件、試験表で同じIPとポートを使うと、どの場所の値かを比較しやすくなります。
方向の名前より、変わったフィールドで判断する
SNATは送信元、DNATは宛先。まずこの違いを、装置の前後に置いた二行のパケットで説明します。そのあと、固定か動的か、ポートも変えるかを足します。
返信では逆方向の対応が必要です。行きの変換だけを見て終わらず、相手がどのIPへ返信し、どこで元の値へ戻るかを追ってください。
一つの接続を変換前・変換後・返信の三段階で書くと、送信元と宛先の取り違えが減ります。NATと通信許可を分けて考える練習にもなります。
動画・筆者の投稿で補足する
文章と図で流れをつかんだら、関連する動画も参考にしてください。画面の表示や操作は、機種・ソフトウェアの版によって異なる場合があります。
✅インフラエンジニアが知っておきたい
SNAT(送信元IP変換)
DNAT(宛先IP変換)
を整理💡SNATは、通信の送信元IPを変えるNAT
社内PCがインターネットへ出るときに、内部IPをFWのグローバルIPに見せるような使い方。💡DNATは、通信の宛先IPを変えるNAT。… pic.twitter.com/AOwbgbmkxN
— けんと@設計構築チャンネル (@yeiquer12) 2026年7月10日
SNATは送信元IP、DNATは宛先IPを変換し、外部接続やサーバー公開で使うと整理したポスト。
関連する動画・筆者の投稿:2026年7月10日 / @yeiquer12 / 設計構築チャンネル
