How to do souce address NAT

Unanswered Question
Feb 4th, 2009


Could you please let me know how to do source address NAT'ing on FWSM.

Source IP:

Ingress interface: DMZ1

Ingress subnet:

Egress interface: DMZ2

Egress subnet:

The Source IP initiated from DMZ1 should be natted to upon exiting the Egress interface DMZ2.


I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
cisco_lite Thu, 02/05/2009 - 02:27

The syntax is incorrect. It should be

static (DMZ1,DMZ2) netmask

Secondly, the above isn't working. I debugged the packet and source address is not nat'ed.

I would be more interested on NAT'ing the network rather than the host, like with / 24.

cisco_lite Thu, 02/05/2009 - 11:03

I got the following from a NAT guide on the internet. Please advise if it is correct. I have tried it on FWSM and it is not working.

Please assist


Static source translation

Source static translation is used when the source IP address of the host (local IP) is

changed to another IP (global IP) once the packet gets routed to the destination. This

translation hides the real identity of the initiator and also allows private IP addresses

to be translated to public IPs in order to get routed through public networks.


#static(source_intf, destination_intf) netmask


//Host is source translated when connects to another host situated behind dmz03


#static(inside,dmz03) netmask


cisco_lite Thu, 02/05/2009 - 16:26

I am coming across some materials stating that source address NAT'ing is not supported in FWSM. Is it true ? Please confirm. Thanks.

Mo'ath Al Rawashdeh Fri, 02/06/2009 - 03:54


Is it possible that NAT is disabled on your FWSM?

If its disabled, while in config mode, do the "nat-control" command in order to enable it.


cisco_lite Fri, 02/06/2009 - 05:15

nat-control means all packets that flow through the Security Appliance require a NAT rule, or the packets will be denied access through the appliance.

This is not the intention. I do not want all the traffic going thru the appliance to be NAT'ed.

So as long as the NAT rule exists, natting should take place even if the nat-control is disabled.

Mo'ath Al Rawashdeh Fri, 02/06/2009 - 05:22


Can you please send me a link that explains this? As this is the 1st time to hear this.

I believe that if nat-control is disabled, no nat is going to take place on the firewall.

However, if nat-control is enabled and yet, some IP addresses need not to be natted, you may use nat exclude.

Cheers mate.

Mo'ath Al Rawashdeh Fri, 02/06/2009 - 05:42


Lets sum things up, your requirement is that when a host in DMZ1 ( connects to a host in DMZ2 (, the IP address of the host from DMZ1 ( is NATed to

cisco_lite Fri, 02/06/2009 - 05:47

Minor correction..

Host in DMZ1 connects to any host routed through DMZ2 (i.e. could be multiple hops away), the IP address of the host from DMZ1 should be NAT'ed to for e.g.

Also, I would like the NAT to occur on network level and not host.

Similar example in router IOS would be

ip nat inside source static network /24

This caters to bi-directional NAT'ing. I would like to achieve the same in FWSM.

Mo'ath Al Rawashdeh Fri, 02/06/2009 - 06:57

What are the network IPs used for DMZ1, DMZ2? And to what do you want DMZ1 to be NATed to? (please use X.X.X.0/24 for any with public IPs)

I also need the current static NAT configs on your FWSM.

cisco_lite Fri, 02/06/2009 - 07:53

DMZ1, DMZ2 subnet are for db server communications. As mentioned, DMZ1 should be NAT'ed to

There are no public IPs involved. Its all internal NAT'ing.

Currently there are no NAT configs on FWSM. Plain and simple case.

The example I gave of Router IOS was for some other network (just used as an example).

Mo'ath Al Rawashdeh Fri, 02/06/2009 - 08:07

Configure static NAT on the firewall, ping any host in DMZ 2 from DMZ 1, and let us see the output of the "show log" command.

cisco_lite Fri, 02/06/2009 - 10:04

static (DMZ2,DMZ1) tcp ftp ftp netmask

> show log

%FWSM-6-305011: Built static tcp translation from DMZ2: to DMZ1:

%FWSM-6-302013: Built inbound TCP connection 145674682330124245 for DMZ1: ( to DMZ2: (


This Discussion