I am using cisco 2901 Router with IOS version 15M. In the configuration of the router I am using lots of static NAT entries. And I need to change these entries when it is requested.

And a possible solution for this situation are the configuration files that I saved to the flash0: of the cisco 2901 router. However, by using configuration files, I can't delete existing NAT entries. But on the other hand, I can create a static NAT entry using these configuration files.

Therefore, I am looking for a command that will clear all the static NAT entries. Then I will create static NAT entries using these configuration files.


  • I tried the following commands to clear the NAT entries, but these all are for dynamic NAT entries. Thus, they did not work.

clear ip nat translation * clear ip nat translation forced do clear ip nat translation * do clear ip nat translation forced

  • A possible solution (although it takes too much time): First create a configuration file that does not have any static NAT entry:

    copy running-config flash0:config_0_entry

Then copy this configuration to the startup-config and reboot. (These two command will wipe out all the static entries.)

copy flash0:config_0_entry startup-config

Then after reboot, load your configuration file into the router:

copy flash0:your_config_file running_config

I could use this method, but the reboot takes too much time. I cannot wait that long.

  • Have you tried removing the NAT inside and outside from the interface and then using the clear ip nat translation * ? This should allow you to clear the static NAT because it is no longer active on an interface and no active connection.
    – SleepyMan
    Jul 18, 2016 at 15:32
  • You seem to mean static NAT entries you have defined in the configuration. You will need to use the no form of the configuration commands to remove the configurations after you have cleared the translations. That would be one no command for each command you entered.
    – Ron Maupin
    Jul 18, 2016 at 15:37
  • If traffic is still live, then clearing the translations will just have them reappear instantly. The only reliable why I've done it is via the console so I can shutdown the outside interface while making changes. (or replace the startup config and reload, but that's much more disruptive.)
    – Ricky
    Jul 18, 2016 at 19:45
  • - @SleepyMan I tried it, and I think it is only working with dynamic nat translation.
    – ysnfrk
    Jul 18, 2016 at 20:35
  • - @RonMaupin Yes, I know, but I have to enter no commands for every entry. I thought that there should be a shortcut.
    – ysnfrk
    Jul 18, 2016 at 20:37

3 Answers 3


Create your config file that has no NAT entries, upload to your router, remove config.text, change the new config file name to config.text, then run a "configure memory" command to load the config.text file into the running config.

  • If you don't specifically turn off the NAT with the no form of the command, loading or merging a different configuration into the running configuration will not turn off the NAT. Non-default commands in the running configuration remain unless specifically disabled.
    – Ron Maupin
    Sep 17, 2016 at 4:53
  • Well shucks. Thanks, Ron. I learn something new every day. Sep 17, 2016 at 4:59

To remove old NAT settings on Cisco router you need to

  • 1)Clear all old NAT translations router#clear ip nat translation *

  • 2)Disable old NAT pool settings router(config)#no ip nat pool public_access netmask

  • 3)And finally, disable the translation: router(config)#no ip nat inside source list 1 pool public_access overload

From this point you can safely configure the new NAT settings. (in conf mode) , I prefix my (pre-prepared and ready to paste) nat changes with do clear ip nat translation, I can clear and change them fast enough to avoid the problem.

Paste into notepad and use replace or some other method to aid in bulk updates.


firstly: do clear ip nat translation * then: add no to each of your nat translations, for example: no ip nat inside source static screenshot

  • Please don't post images as an answer. Use preformatted text instead using { and }.
    – Teun Vink
    Jan 8, 2021 at 9:23
  • In addition, clearing NAT sessions by removing NAT configuration seems like a bad idea.
    – Teun Vink
    Jan 8, 2021 at 9:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.