内容

概要

前提条件

要件

使用するコンポーネント

表記法

問題の説明

解決方法

clear ip nat translation コマンドの使用

ルータでの NAT の無効化

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

要約

関連情報

概要

ネットワーク アドレス変換（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® ソフトウェアは、既存のダイナミック NAT コンフィギュレーションのいずれかが削除されるときに、変換テーブル内に存在する既存のアクティブな NAT トランスレーションをチェックします。

- no ip nat pool name

- no ip nat {inside | outside}source {list {access-list-number | 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 の動作確認と基本的なトラブルシューティングを参照してください。

関連情報

- ネットワーク アドレス変換の設定：はじめに

- NAT に関するサポート ページ

- テクニカル サポートとドキュメント – Cisco Systems