IP : ネットワーク アドレス変換(NAT)

ダイナミック NAT 設定の変更方法

2015 年 11 月 26 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2004 年 9 月 16 日) | 英語版 (2015 年 8 月 22 日) | フィードバック


目次


概要

Network Address Translation(NAT; ネットワーク アドレス変換)の設定を変更すると、次のメッセージが表示される場合があります。

  • Dynamic mapping in use, cannot remove

  • Dynamic mapping in use, do you want to delete all entries?

  • %%Pool outpool in use, cannot destroy

この文書では、これらのメッセージがコンソール上に表示された場合に、NAT コンフィギュレーションを変更する方法を説明します。

前提条件

要件

このドキュメントに関する特別な要件はありません。

使用するコンポーネント

このドキュメントは、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

問題の説明

ダイナミック NAT では、パケットが IP NAT 内部インターフェイスから IP NAT 外部インターフェイスへ横断したとき、あるいはその逆の方向へ横断したときに、テーブル内にアクティブな変換エントリが作成されます。 このダイナミック NAT エントリは、show ip nat translation コマンドを使用して表示できます。 Cisco IOS(R) ソフトウェアは変換テーブルのあらゆる既存のアクティブ な NAT変換があるようにこれらの既存のダイナミックNAT の 設定のどちらかが取除かれるとき確認します:

  • no ip nat pool name

  • no ip nat {inside | outside}source {list {access-list-number | name} pool name [overload] | static local-ip global-ip}

    R2(config) #no ip nat inside source route-map NAT interface serial 2/0 overload
    Dynamic mapping in use, do you want to delete all entries? [no]: yes

変換エントリが一致すると、%Dynamic Mapping in Use, Cannot remove メッセージまたは %Pool outpool in use, cannot destroy メッセージがそれぞれ、コンソールに返されます。

解決策

これらのエラー メッセージが受信されるのは、まだ変換テーブルに存在しているダイナミック トランスレーションの生成に関与した NAT コンフィギュレーションの一部を変更しようとしているためです。 この状況で NAT コンフィギュレーションを変更するためには、それまでに使用されている変換テーブルをクリアーする必要があります。 NAT が設定されたルータは、テーブルに変換を作成するパケットを継続的に受信する可能性があるため、これは容易ではないことがあります。 これは非常に速やかに行われるため、設定を変更する時間的余裕がありません。

clear ip nat translation コマンドの使用

このソリューションでは、clear ip nat translation コマンドを使用して IP NAT トランスレーションをクリアーしてから、アクティブ NAT トラフィック用の新しい NAT エントリが変換テーブルに作成される前に、すばやく NAT コンフィギュレーションを置き換えます。 そのために、テキスト フォーマットで設定コマンドを記述したスクリプトを作成します。 次に、例を示します。

clear ip nat translation *
config terminal
no ip nat pool old pool name

ip nat pool new pool
 ....... 

スクリプトを作成したら、そのスクリプトをルータのイネーブル モード(Router#)にカットアンドペーストします。

注: トランスレーションをクリアーした後にルータで新しいトランスレーションが作成される可能性があるため、これは複数回実行できます。

ルータでの NAT の無効化

このソリューションでは、ルータに NAT トランスレーションが作成されないように、ルータの NAT を無効にします。 これを実行するには、インターフェイスに設定されている ip nat inside コマンドまたは ip nat outside コマンドを削除します。 それから、変換テーブルをクリアーし、設定を変更します。

このソリューションを実行するには、次のステップに従います。

  1. no ip nat {inside | outside} コマンドを使用して、今後、トランスレーションが作成されないようにします。

  2. clear ip nat translation コマンドを使用して、IP NAT トランスレーションをクリアーします。

  3. NAT コンフィギュレーションを変更します。

  4. NAT {inside | outside} 引数を復元します(ip nat {inside | outside} 設定コマンドを使用)。

変換の元となるトラフィックの停止

このソリューションでは、NAT ルータでトランスレーションが作成される元となるトラフィックを停止します。 そのために、パケットを送信しているデバイスにアクセスしてパケットの送信を停止するか、または NAT ルータで着信アクセス リストを作成して、パケットを送信している発信元からのトラフィックを拒否します。 パケットのフィルタ処理の詳細については、IP サービスの設定を参照してください。

要約

このテクニカルノートでは、変換テーブルにアクティブなダイナミック NAT トランスレーションがあるために NAT コンフィギュレーションを変更できないという問題について、いくつかの回避方法を示しました。 他にも方法はありますが、いずれの場合でも、NAT コンフィギュレーションによって作成されたすべてのダイナミック トランスレーションが NAT 変換テーブルからクリアーされていなければ、NAT コンフィギュレーションを変更できません。 NAT 関連の問題のトラブルシューティングの詳細については、NAT の動作確認と基本的なトラブルシューティングを参照してください。

関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 13779