ネットワークトラブルの中でも、意外と多いのがNATが原因で通信できないケースです。
「ルーティングは問題なさそうなのに通信できない」「片方向だけ通信できない」「インターネットに出られない」といった症状の裏に、NAT設定の問題が潜んでいることは珍しくありません。
特にファイアウォールやルータを扱う環境では、NATはほぼ必ず使われているため、トラブルシューティングの際に確認すべき重要ポイントの一つです。
実際の現場でも、「ルーティングばかり見ていてNATを見落としていた」というケースはよくあります。設定ミスだけでなく、NATテーブルや変換条件の問題など、原因はさまざまです。
この記事では、ネットワーク運用や障害対応の現場でよくあるNATトラブルをもとに、
- NATの基本的な仕組み
- NATが原因で通信できなくなる典型的なパターン
- 確認すべきポイント
- 実務で使う確認コマンド
- トラブル時の対処方法
といった内容を、初心者にもわかるように解説していきます。
NATとは?通信時にIPアドレスを書き換える仕組み
NAT(Network Address Translation)は、通信の途中でIPアドレスを変換する仕組みです。
主に以下の目的で利用されます。
- プライベートIPアドレスをインターネットへ接続する
- グローバルIPアドレスを節約する
- 内部ネットワークを外部から隠す
たとえば、社内PCがインターネットにアクセスする場合、通常は次のような流れになります。
社内PC(192.168.10.10) → ルータ → NAT変換 → グローバルIP → インターネット
このときルータやファイアウォールが、送信元IPアドレスをプライベートIPからグローバルIPに書き換えます。
この変換が正常に行われないと、通信が成立しません。
NATが原因で通信できないときのよくある症状
NAT関連のトラブルでは、次のような症状が発生することが多いです。
- インターネットに接続できない
- 外部から内部サーバにアクセスできない
- 片方向通信になる
- 特定の通信だけ失敗する
- VPN通信だけ通らない
特に多いのは、送信はできるが返信が返ってこないというケースです。
NATは通信の往復を管理する仕組みのため、変換テーブルが正しく作成されないと、戻りパケットが破棄されることがあります。
現場で多いNATトラブルの原因
NATルールが設定されていない
基本的なミスですが、意外と多い原因です。
ルーティングが正しくても、NATルールが存在しない場合はグローバル通信が成立しません。
例えば、内部ネットワークがNAT対象に含まれていないケースです。
ACLやポリシーに内部ネットワークが含まれているか確認しましょう。
NAT対象のネットワークが間違っている
例えば次のような設定ミスです。
192.168.1.0/24 をNAT対象にしている
実際のネットワークは
192.168.10.0/24
この場合、NATが適用されないため通信が外に出られません。
サブネットが1桁違うだけでも通信が成立しないため、アドレス範囲は必ず確認しましょう。
NATのインターフェース設定ミス
Ciscoルータなどでは、インターフェースに以下の設定が必要です。
- inside
- outside
この設定が逆になっていると、NATが機能しません。
interface GigabitEthernet0/0
ip nat inside
interface GigabitEthernet0/1
ip nat outside
設定ミスの典型例は、inside / outside が逆になっているケースです。
NAT変換テーブルが作成されていない
通信が発生しているのに、NAT変換テーブルが作られていない場合があります。
その場合、次の原因が考えられます。
- NATルールが一致していない
- ポリシーが適用されていない
- 通信が途中で遮断されている
NATトラブル時に最初に確認するポイント
NATが疑われる場合、まずは次の順番で確認すると効率的です。
① ルーティングが正しいか確認
NATの前に、まずルーティングを確認します。
そもそもパケットがNAT機器まで届いていない場合、NATは関係ありません。
まずはルータのルートテーブルを確認します。
show ip route
デフォルトルートや宛先ネットワークが正しく設定されているか確認しましょう。
② NAT設定の存在確認
次にNATルールが存在するか確認します。
show running-config | include nat
ここでNATルールが表示されない場合、設定自体が存在しない可能性があります。
③ NAT変換テーブルを確認
通信が発生しているかを確認するには、NATテーブルを見るのが有効です。
show ip nat translations
ここにエントリが表示されていれば、NAT変換が実行されています。
逆に、通信しているのに何も表示されない場合は、NATルールに一致していない可能性があります。
④ NAT統計情報の確認
NATが動作しているかは、統計情報でも確認できます。
show ip nat statistics
ここでは次のような情報を確認できます。
- NAT変換数
- ヒット回数
- ミス回数
ヒットが増えていない場合、NATルールが適用されていない可能性があります。
外部から内部へ通信できない場合の確認ポイント
外部から内部サーバに接続できない場合は、スタティックNATの設定を確認します。
例えば次のような設定です。
ip nat inside source static 192.168.10.100 203.0.113.10
この場合、
203.0.113.10 → 192.168.10.100
という変換が行われます。
この設定が間違っていると、外部からの接続は成立しません。
さらに注意すべき点として、ファイアウォールポリシーやACLで通信が許可されているかも確認する必要があります。
VPN環境でNATが原因になるケース
IPsec VPNなどでは、NATが原因で通信できないことがあります。
特に多いのが、次のパターンです。
- VPN通信がNATされてしまう
- NATトラバーサル設定の問題
- ポリシーNATの誤設定
VPN通信は通常、NAT対象から除外する必要があります。
例えば次のようなNAT除外設定です。
deny ip 192.168.10.0 0.0.0.255 10.10.10.0 0.0.0.255
この設定がないと、VPNパケットがNATされて通信が成立しないことがあります。
実際の運用でも、「VPNだけ通信できない」という場合はNAT除外設定が原因だった、というケースはよくあります。
NATトラブルを防ぐための運用ポイント
NATトラブルを防ぐためには、日頃から設定を整理しておくことが重要です。
特に次のポイントは意識しておくと、トラブル対応が楽になります。
- NAT対象ネットワークを明確にする
- ポリシーNATは用途ごとに整理する
- VPN通信はNAT除外を設定する
- 設定変更時はNATテーブルを確認する
NATは設定が増えるほど複雑になるため、構成をシンプルに保つことが重要です。
実務でも、長期間運用されている機器ではNATルールが大量に増えていることがあります。そうした環境では、意図しないルールが通信に影響していることもあります。
まとめ
NATが原因で通信できないトラブルは、ネットワーク運用では非常によく発生します。
特に次のポイントを順番に確認することで、原因を特定しやすくなります。
- ルーティングの確認
- NATルールの存在確認
- NAT変換テーブル確認
- inside / outside設定
- VPN通信のNAT除外
NATはネットワークの基本機能の一つですが、設定ミスやルールの競合によって通信トラブルの原因になることが少なくありません。
通信できない問題に遭遇した場合は、ルーティングだけでなくNATの動作も必ず確認する習慣をつけると、トラブルシューティングのスピードが大きく変わります。
