目錄

簡介

必要條件

需求

採用元件

慣例

問題描述

解決方案

使用clear ip nat translation命令

在路由器上禁用NAT

停止導致轉換的流量

摘要

相關資訊

簡介

有時，當您更改網路地址轉換(NAT)配置時，會收到以下消息：

- 正在使用的動態對映，無法刪除

- 正在使用的動態對映，是否要刪除所有條目？

- %Pool outpool in use，無法銷毀

本文檔演示如何在控制檯上接收這些消息時更改NAT配置。

必要條件

需求

本文件沒有特定需求。

採用元件

本文件所述內容不限於特定軟體和硬體版本。

慣例

如需文件慣例的詳細資訊，請參閱思科技術提示慣例。

問題描述

當資料包從IP NAT內部介面傳輸到IP NAT外部介面時，動態NAT會在表中建立活動轉換條目，反之亦然。可以使用show ip nat translation命令檢視此動態NAT條目。刪除以下任一現有動態NAT配置時，Cisco IOS®軟體會檢查轉換表中是否存在任何現有的活動NAT轉換：

- no ip nat pool name

- no ip nat {inside | outside}源{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} configuration命令。

停止導致轉換的流量

此解決方案涉及停止導致NAT路由器建立轉換的流量。通過訪問傳送資料包的裝置並禁用該裝置，或者在NAT路由器上建立入站訪問清單，拒絕來自傳送資料包的源的流量來實現此操作。有關過濾資料包的詳細資訊，請參閱配置IP服務。

摘要

本技術說明演示了一些方法，可解決因轉換表中活動動態NAT轉換而無法更改NAT配置的問題。可能有其他方法，但無論如何，NAT轉換表必須清除任何由NAT配置產生的動態轉換，才能更改NAT配置。有關NAT相關問題的更多故障排除資訊，請參閱驗證NAT運行和基本NAT故障排除。

相關資訊

- 配置網路地址轉換：快速入門

- NAT支援頁面

- 技術支援與文件 - Cisco Systems