Related Post

Spread the word

Digg this post

Bookmark to delicious

Stumble the post

Add to your technorati favourite

Subscribes to this post

4 users responded to this post

alexfoster said in September 5th, 2008 at 12:04 pm    

I went through migrating a version 6 pix to version 7 then configuring it for no nat control. The biggest driver for disabling nat control was because we had hundreds of nonat access-list statements, which meant we could remove the bulk of this configuration with nat-control disabled. We have 5 interfaces on the PIX, all at different security levels. 2 of these interfaces (interface A & B) provide connectivity to the internet (through global PAT) – so this means we have to use Static Identity NAT entries for traffic moving from these interfaces to the other internal interfaces/networks partitioned by the pix.

Interface A – Internal and provides internet connectivity
Interface B – Internal and provides internet connectivity
Interface C – Internal, no internet.
Interface D – Inernal, no internet.
Interface E – External (public).

With this configuration – a network (X) on interface A sending traffic to a network (Y) on interface D is fine because there is a SNAT statment in place. The same network (X) under fault conditions could also send traffic through interface C (backup path) to the same destination network (Y) on inerface D. This is where connectivty breaks – the SNAT for network X (Interface A-D) appears to be interferring with return ICMP traffic (network Y to network X), other application traffic is fine – any ideas what is causing this. By removing the SNAT for network X (interface A-D), return ICMP traffic is fine.

So normally…

Network X (Int A) ——> Network Y (Int D) – fine

static (A,D) network X network X netmask 255.255.255.0

Under Fault conditions…

Network X (Int C) ——> Network Y (Int D) – return icmp fails unless the above SNAT statement is removed. All other application traffic ie: telnet,ssh works fine with the SNAT statement still in place.

Joe said in September 5th, 2008 at 4:38 pm    

Are you getting any logging messages on the PIX when this happens? What does the output of a debug ICMP trace give you?

alexfoster said in September 19th, 2008 at 10:24 am    

Hi Joe,

Apologies for not replying earlier. There were not any log messages and I didnt run debug at the time – however I managed to resolve it by checking the configuration again. I realised that the network in question (network X in my example) wasnt configured as part of the Global PAT entries (we list specific networks that can use PAT and network X wasnt one of them). This meant I didnt actually need the static Identity NAT rule for network X. Even though NAT behaves on a per interface basis, you can selectively choose which networks are NATd and which can bypass this process. If you configure:

nat (inside) 1 0.0.0.0 0.0.0.0

Then this rule is applied to all traffic coming from the inside interface and you will therefore need static identity NAT statements for any traffic you dont want translated. However, if you configure:

nat (inside) 1 10.0.0.0 255.255.255.0
nat (inside) 1 10.0.20.0 255.255.255.0
nat (inside) 1 172.16.5.0 255.255.255.0

Then only traffic from those networks specified will be subjected to PAT – any other traffic coming from that interface is treated normally (not subjected to NAT/PAT). So if you wanted traffic from network 10.0.0.0/24 to go to another internal firewall interface then you would need a static identity NAT rule to allow it through without translation.

Alex

Joe said in September 29th, 2008 at 11:57 am    

Thanks for the follow up Alex and nice explanation. You can also use a access-list to identify which networks would be natted vs using multiple nat entries. This would help is filtering more specific addresses that you may or may not want to allow to be nat’d.

Sorry you must register to comments in this post