RackShareRackShareラックを、シェアしよう

Twice NATで注意すべきポイント|戻り通信では「NAT変換→ルーティング」の順番に注意

ネスぺ社長 ・ 公開 2026-08-11 ・ 更新 2026-09-06 ・ 閲覧 264
技術解説 Cisco
Twice NATで注意すべきポイント|戻り通信では「NAT変換→ルーティング」の順番に注意

Twice NATで注意すべきポイント|戻り通信では「NAT変換→ルーティング」の順番に注意

Twice NATは、LAN側と接続先ネットワークで同じIPアドレス帯を使用している場合などに利用できるNAT方式です。

例えば、以下のようにLAN側とCloud側の両方で 172.17.1.0/24 を使用しているケースを考えてみます。

LAN側(R1)   :172.17.1.0/24
Cloud側(R3):172.17.1.0/24

この状態では、NATルータであるR2から見ると、

172.17.1.0/24 → LAN側?
172.17.1.0/24 → Cloud側?

となってしまい、同じネットワークアドレスが両側に存在するため、そのままでは正常にルーティングできません。

そこでTwice NATを使用して、それぞれ異なる仮想アドレスとして扱います。

LAN側   172.17.1.0/24
    ↓ NAT
172.17.31.0/24 として見せる

Cloud側 172.17.1.0/24
    ↓ NAT
172.17.41.0/24 として見せる

これにより、R2から見た宛先を分離できます。


Twice NATの構成例

今回の構成では、R2に以下のようなNATを設定します。

ip nat inside source static network 172.17.1.0 172.17.31.0 /24
ip nat outside source static network 172.17.1.0 172.17.41.0 /24

それぞれの意味は以下の通りです。

inside側
172.17.1.0/24
↓
172.17.31.0/24

outside側
172.17.1.0/24
↓
172.17.41.0/24

これによって、同一の 172.17.1.0/24 を使用しているネットワーク同士でも、R2上では異なるアドレスとして識別できます。

【ここにPDFの「Twice NAT構成・アドレス変換」の図を挿入】


Twice NATではルーティング設定にも注意

Twice NATを設定するときに注意したいのが、NATだけ正しく設定しても通信できるとは限らないという点です。

今回のR2では、例えば以下のようなスタティックルートを設定します。

ip route 172.17.1.0 255.255.255.0 10.0.12.1
ip route 172.17.31.0 255.255.255.0 10.0.12.1
ip route 172.17.41.0 255.255.255.0 10.0.23.1

ここで、

ip route 172.17.1.0 255.255.255.0 10.0.12.1

という経路を見て、

「Twice NATで172.17.31.0/24と172.17.41.0/24に分離したのに、なぜ元の172.17.1.0/24への経路が必要なのか?」

と疑問に思うかもしれません。

実は、ここがTwice NATを理解するうえで非常に重要なポイントです。


【重要】outside→insideでは「NAT変換→ルーティング」の順

CiscoルータのNATでは、通信方向によってNATとルーティングの処理順序が異なります。

inside → outside
ルーティング → NAT変換

outside → inside
NAT変換 → ルーティング

特に注意したいのが、outside → insideの戻り通信です。

outside側からinside側へ戻ってくるパケットでは、

先にNAT変換が行われ、その後にルーティングテーブルが参照されます。

ここを理解していないと、

「NATの設定は合っているのに通信できない」

というトラブルにつながります。

【ここにPDFの「NAT変換とルーティングの処理順序」の図を挿入】


戻り通信では172.17.31.10のままルーティングされない

具体的なIPアドレスで考えてみましょう。

LAN側の端末が以下だったとします。

実IP
172.17.1.10

↓ inside NAT

変換後IP
172.17.31.10

outside側から見ると、LAN側端末は 172.17.31.10 に見えています。

そのため、戻りパケットの宛先は最初、

宛先:172.17.31.10

となります。

ここで非常に重要なのが、

R2は172.17.31.10をそのままルーティングするわけではない

という点です。

outside → inside通信では、ルーティングより先にNAT処理が行われます。

つまり、

outsideからパケット受信

宛先
172.17.31.10
        ↓
【NAT変換】
        ↓
172.17.1.10
        ↓
【ルーティング】
        ↓
R1へ転送

という順番になります。

したがって、R2がルーティングテーブルを参照する時点では、宛先はすでに

172.17.31.10

ではなく、

172.17.1.10

へ変換されています。


だから172.17.1.0/24への経路が必要

ここが今回もっとも重要なポイントです。

outside → inside通信では、

172.17.31.10
↓ NAT変換
172.17.1.10
↓ ルーティング

という順番で処理されます。

つまりR2は、NAT変換後の宛先である172.17.1.10を使ってルーティング判断を行います。

そのため、

172.17.1.0/24

への経路がR2のルーティングテーブルに存在しなければなりません。

今回であれば、

ip route 172.17.1.0 255.255.255.0 10.0.12.1

を設定して、変換後の 172.17.1.10 をR1側へ転送できるようにします。

ここは必ず覚えておきましょう

outside → inside通信では、NAT変換後のアドレスに対する経路が必要です。

誤ったイメージ

172.17.31.10
↓
ルーティング
↓
NAT変換


正しいイメージ

172.17.31.10
↓
NAT変換
↓
172.17.1.10
↓
ルーティング
↓
R1

Twice NATで「設定は正しそうなのに戻り通信だけ通らない」という場合には、NAT設定だけでなく、変換後アドレスへのルートが存在するかを必ず確認してください。


show ip routeで確認する

R2のルーティングテーブルを確認します。

R2# show ip route

今回の構成では、例えば以下のような経路が必要です。

S 172.17.1.0/24  [1/0] via 10.0.12.1
S 172.17.31.0/24 [1/0] via 10.0.12.1
S 172.17.41.0/24 [1/0] via 10.0.23.1

特に確認したいのが、

S 172.17.1.0/24 [1/0] via 10.0.12.1

です。

これは、outside → insideでNAT変換された後のパケットをLAN側へ転送するために必要な経路です。

【ここにPDFの「show ip route」の画像を挿入】


NAT変換テーブルも確認する

Twice NATが想定通り動作しているかは、以下のコマンドでも確認できます。

R2# show ip nat translations

今回の例では、以下のような対応関係になります。

Inside global : 172.17.31.10
Inside local  : 172.17.1.10

Outside local : 172.17.41.10
Outside global: 172.17.1.10

ここを見ることで、

LAN側の172.17.1.10
→ 172.17.31.10

Cloud側の172.17.1.10
→ 172.17.41.10

として、それぞれ異なるアドレスへ変換されていることを確認できます。

【ここにPDFの「show ip nat translations」の画像を挿入】


Twice NATで通信できないときの確認ポイント

Twice NATを設定したにもかかわらず通信できない場合は、以下を確認しましょう。

  1. ip nat inside / ip nat outside の指定が正しいか
  2. inside側のNAT変換が正しいか
  3. outside側のNAT変換が正しいか
  4. 変換後アドレスへのスタティックルートが存在するか
  5. outside → insideのNAT変換後アドレスへの経路が存在するか
  6. show ip nat translations で想定通り変換されているか
  7. show ip route で必要な経路が登録されているか

特に5番目は見落としやすいポイントです。

NAT変換テーブルだけを確認して、

「正常に変換されているからNATは問題ない」

と判断してしまうと、原因究明に時間がかかることがあります。

NAT変換後に、ルータがそのパケットをどこへルーティングするのかまで確認することが重要です。


まとめ

Twice NATは、LAN側と接続先で同じIPアドレス帯を使用しているような環境で、アドレス空間を仮想的に分離するために利用できます。

今回の構成では、

LAN側
172.17.1.0/24
↓
172.17.31.0/24

Cloud側
172.17.1.0/24
↓
172.17.41.0/24

として分離しています。

そして、最も注意したいのがoutside → insideの戻り通信です。

inside → outside
ルーティング → NAT変換

outside → inside
NAT変換 → ルーティング

outside → insideでは、まず

172.17.31.10
↓
172.17.1.10

とNAT変換されます。

その後でルーティング処理が行われるため、R2にはNAT変換後の宛先である 172.17.1.0/24 への経路が必要です。

Twice NATを構築するときは、単に「どのIPをどのIPへ変換するか」だけではなく、

「NAT変換された後、どのアドレスを使ってルーティングされるのか」

まで考えて経路設計を行いましょう。

♥ 0(いいねはログイン後)

コメント 0 件

コメントするにはログインしてください。