how do i NAT traffic though a PIX to PIX IPSEC tunnel

I am configuring a Cisco PIX IPSEC tunnel to an outside domain. I have got the IPSEC and IKE SA working but im having difficulties with passing traffic though the network. Not sure if its an access policy or NAT problem thats stopping the traffic getting to the destination.
I can ping the clients internal network from the external interface on my local PIX but i cant ping the clients internal network from the internal interface on my PIX.

Any help would be greatly appreciated


This is my current configuration: (i have changed some ip and names for security reasons)
: Saved
PIX Version 6.3(5)
interface ethernet0 auto
interface ethernet1 100full
nameif ethernet0 outside security0
nameif ethernet1 inside security100
enable password XXXxxxXXxxxxXxxx encrypted
passwd XXxXxxXXxxXxXXx encrypted
hostname pix
fixup protocol dns maximum-length 512
fixup protocol ftp 21
fixup protocol h323 h225 1720
fixup protocol h323 ras 1718-1719
fixup protocol http 80
fixup protocol rsh 514
fixup protocol rtsp 554
fixup protocol sip 5060
fixup protocol sip udp 5060
fixup protocol skinny 2000
fixup protocol smtp 25
fixup protocol sqlnet 1521
fixup protocol tftp 69
name cns
access-list inside_outbound_nat0_acl permit ip any cns
access-list outside_cryptomap_20 permit ip any cns
access-list inside_access_in permit ip cns
pager lines 24
mtu outside 1500
mtu inside 1500
ip address outside
ip address inside
ip audit info action alarm
ip audit attack action alarm
pdm location cns outside
pdm logging informational 100
pdm history enable
arp timeout 14400
global (outside) 1
nat (inside) 0 access-list inside_outbound_nat0_acl
nat (inside) 0 0 0
access-group inside_access_in in interface inside
route outside 1
timeout xlate 0:05:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 rpc 0:10:00 h225 1:00:00
timeout h323 0:05:00 mgcp 0:05:00 sip 0:30:00 sip_media 0:02:00
timeout sip-disconnect 0:02:00 sip-invite 0:03:00
timeout uauth 0:05:00 absolute
aaa-server TACACS+ protocol tacacs+
aaa-server TACACS+ max-failed-attempts 3
aaa-server TACACS+ deadtime 10
aaa-server RADIUS protocol radius
aaa-server RADIUS max-failed-attempts 3
aaa-server RADIUS deadtime 10
aaa-server LOCAL protocol local
http server enable
http inside
no snmp-server location
no snmp-server contact
snmp-server community public
no snmp-server enable traps
floodguard enable
sysopt connection permit-ipsec
crypto ipsec transform-set ESP-3DES-MD5 esp-3des esp-md5-hmac
crypto map outside_map 20 ipsec-isakmp
crypto map outside_map 20 match address outside_cryptomap_20
crypto map outside_map 20 set peer
crypto map outside_map 20 set transform-set ESP-3DES-MD5
crypto map outside_map interface outside
isakmp enable outside
isakmp key ******** address netmask no-xauth no-config-mode
isakmp nat-traversal 3600
isakmp policy 20 authentication pre-share
isakmp policy 20 encryption 3des
isakmp policy 20 hash md5
isakmp policy 20 group 2
isakmp policy 20 lifetime 86400
telnet inside
telnet timeout 5
ssh timeout 5
console timeout 0
dhcpd address inside
dhcpd lease 3600
dhcpd ping_timeout 750
dhcpd auto_config outside
terminal width 80
: end

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Alan Huseyin KayahanCommented:
Do the following modification
no global (outside) 1
global (outside) 1 interface
no nat (inside) 0 0 0
nat (inside) 1 0 0
no access-list outside_cryptomap_20 permit ip any cns
access-list outside_cryptomap_20 permit ip cns
no access-list inside_outbound_nat0_acl permit ip any cns
access-list inside_outbound_nat0_acl permit ip cns

Now remote end should expect traffic from and amend their NAT and crypto entries according to this.
   If you want to NAT your inside traffic while passing the tunnel, you cannot NAT this traffic to an IP address which is in remote network's subnet, yet they can not add a crypto entry for an IP address in their subnet. If you want to NAT the traffic, please explain why, what you are onto so that I can suggest you a better way

KirstyPAuthor Commented:
Hi MrHusy we need to NAT the traffic going from our internal network through the IPSEC tunnel because that is a stipulation of the partner that we are connecting to. They have advised that their firewall will drop all packets that come from untranslated internal addresses.

Alan Huseyin KayahanCommented:
  Hi Kirsty
       So here is what you have to do
       no nat (inside) 0 access-list inside_outbound_nat0_acl
       access-list policy_nat permit ip cns
       static (inside,outside) access-list policy_nat netmask
       no access-list outside_cryptomap_20 permit ip cns
       access-list outside_cryptomap_20 permit ip cns is the network which your inside is translated to while passing through the tunnel. Warn the remote end for changing their settings according to

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Internet Protocol Security

From novice to tech pro — start learning today.