<html><head><title>NAT behind IPSEC hateway (not NAT-T)</title>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-15">
</head>
<body>
<span style=" font-family:'Courier New'; font-size: 9pt;">Hello,<br>
<br>
I've searched for solution but have found nothing, that's why I am writing this mail.<br>
<br>
My setup:<br>
<br>
I have a local network 192.168.2.0/24 and the router running OpenWRT and having OpenSWAN. The router is at 192.168.2.1 and x.x.x.x (as external IP address). My router does NAT for the local network, translating internal addresses into router's externam IP. &nbsp;I have a site-to-site ipsec tunnel to a cisco router that is not under my control, the cisco's IP is a.a.a.a . Encryption domain consists of my external IP (x.x.x.x), a network b.b.b.0/24 and c.c.c.c (all these are public IP addresses). Now I am able to ping c.c.c.c and hosts from b.b.b.0/24 network from my router. The problem is that I cannot access c.c.c.c nor b.b.b.0/24 from my local network.<br>
<br>
I have tried to change routes, to make another chains and rules in iptables but nothing helped me.<br>
<br>
Can please someone give me at least a suggestion?<br>
<br>
Thank you.<br>
<br>
Now I'll try to put here all relevant configs:<br>
<br>
<br>
on the router br-lan is local network interface, eth1 - external public network interface<br>
<br>
ifconfig shows:<br>
<br>
br-lan &nbsp; &nbsp;Link encap:Ethernet &nbsp;HWaddr 00:11:22:33:44:56 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; inet addr:192.168.2.1 &nbsp;Bcast:192.168.2.255 &nbsp;Mask:255.255.255.0 &nbsp; &nbsp; &nbsp; &nbsp;<br>
....<br>
eth1 &nbsp; &nbsp; &nbsp;Link encap:Ethernet &nbsp;HWaddr 00:11:22:33:44:55 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; inet addr:x.x.x.x &nbsp;Bcast:x.x.x.255 &nbsp;Mask:255.255.255.0 &nbsp; &nbsp; &nbsp;&nbsp;<br>
...<br>
ipsec0 &nbsp; &nbsp;Link encap:Ethernet &nbsp;HWaddr 00:11:22:33:44:55&nbsp;<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; inet addr:x.x.x.x &nbsp;Mask:255.255.255.0 &nbsp; &nbsp;<br>
...<br>
mast0 &nbsp; &nbsp; Link encap:UNSPEC &nbsp;HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; inet addr:192.168.2.1 &nbsp;Mask:255.255.255.255 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>
...<br>
<br>
<br>
============ begin ipsec.conf ================<br>
config setup<br>
&nbsp; &nbsp; plutodebug="control parsing"<br>
#I tried to comment the virtual_private but for no result<br>
 &nbsp; &nbsp; &nbsp; &nbsp;virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12<br>
 &nbsp; &nbsp; &nbsp; &nbsp;nat_traversal=no<br>
 &nbsp; &nbsp; &nbsp; &nbsp;oe=off<br>
 &nbsp; &nbsp; &nbsp; &nbsp;protostack=auto<br>
<br>
conn vodafone<br>
 &nbsp; &nbsp; &nbsp; &nbsp;type=tunnel<br>
 &nbsp; &nbsp; &nbsp; &nbsp;left=x.x.x.x<br>
 &nbsp; &nbsp; &nbsp; &nbsp;leftsubnet=x.x.x.x/32<br>
 &nbsp; &nbsp; &nbsp; &nbsp;right=a.a.a.a<br>
 &nbsp; &nbsp; &nbsp; &nbsp;authby=secret<br>
 &nbsp; &nbsp; &nbsp; &nbsp;keyexchange=ike<br>
 &nbsp; &nbsp; &nbsp; &nbsp;ike=aes128-sha1-modp1024<br>
 &nbsp; &nbsp; &nbsp; &nbsp;ikelifetime=86400s<br>
 &nbsp; &nbsp; &nbsp; &nbsp;auth=esp<br>
 &nbsp; &nbsp; &nbsp; &nbsp;esp=aes128-sha1<br>
 &nbsp; &nbsp; &nbsp; &nbsp;pfs=yes<br>
 &nbsp; &nbsp; &nbsp; &nbsp;auto=start<br>
<br>
conn vodafone_sub1<br>
 &nbsp; &nbsp; &nbsp; &nbsp;rightsubnet=b.b.b.0/24<br>
 &nbsp; &nbsp; &nbsp; &nbsp;also=vodafone<br>
<br>
conn vodafone_sub2<br>
 &nbsp; &nbsp; &nbsp; &nbsp;rightsubnet=c.c.c.c/32<br>
 &nbsp; &nbsp; &nbsp; &nbsp;also=vodafone<br>
<br>
============ end ipsec.conf ================<br>
<br>
also, of course I have:<br>
<br>
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE<br>
<br>
my angle table shows like this:<br>
iptables -t mangle -n -L<br>
Chain PREROUTING (policy ACCEPT) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>
target &nbsp; &nbsp; prot opt source &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; destination &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>
IPSEC &nbsp; &nbsp; &nbsp;all &nbsp;-- &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>
Chain INPUT (policy ACCEPT) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
target &nbsp; &nbsp; prot opt source &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; destination &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>
Chain FORWARD (policy ACCEPT) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
target &nbsp; &nbsp; prot opt source &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; destination &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>
Chain OUTPUT (policy ACCEPT) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>
target &nbsp; &nbsp; prot opt source &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; destination &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>
ACCEPT &nbsp; &nbsp; udp &nbsp;-- &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; udp dpt:4500<br>
ACCEPT &nbsp; &nbsp; udp &nbsp;-- &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; udp spt:4500<br>
ACCEPT &nbsp; &nbsp; udp &nbsp;-- &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; udp dpt:500&nbsp;<br>
ACCEPT &nbsp; &nbsp; udp &nbsp;-- &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; udp spt:500&nbsp;<br>
IPSEC &nbsp; &nbsp; &nbsp;all &nbsp;-- &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>
Chain POSTROUTING (policy ACCEPT) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
target &nbsp; &nbsp; prot opt source &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; destination &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>
Chain IPSEC (2 references) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>
target &nbsp; &nbsp; prot opt source &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; destination &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>
NEW_IPSEC_CONN &nbsp;all &nbsp;-- &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.0.0.0/0 &nbsp; &nbsp; &nbsp;<br>
Chain NEW_IPSEC_CONN (1 references) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>
target &nbsp; &nbsp; prot opt source &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; destination &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
MARK &nbsp; &nbsp; &nbsp; all &nbsp;-- &nbsp;82.76.123.10 &nbsp; &nbsp; &nbsp; &nbsp; 81.12.200.0/24 &nbsp; &nbsp; &nbsp;MARK set 0x80240000 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>
MARK &nbsp; &nbsp; &nbsp; all &nbsp;-- &nbsp;82.76.123.10 &nbsp; &nbsp; &nbsp; &nbsp; 81.12.132.111 &nbsp; &nbsp; &nbsp; MARK set 0x80200000 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>
<br>
<br>
routing tables:<br>
<br>
ip route show<br>
192.168.2.0/24 dev br-lan &nbsp;proto kernel &nbsp;scope link &nbsp;src 192.168.2.1&nbsp;<br>
x.x.x.0/24 dev eth1 &nbsp;proto kernel &nbsp;scope link &nbsp;src x.x.x.x &nbsp;<br>
x.x.x.0/24 dev ipsec0 &nbsp;proto kernel &nbsp;scope link &nbsp;src x.x.x.x<br>
default via x.x.x.1 dev eth1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>
<br>
root@router:~# ip route show table 50<br>
default dev mast0 &nbsp;scope link &nbsp; &nbsp; &nbsp; &nbsp;<br>
<br>
root@router:~# ip rule show &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
0: &nbsp; &nbsp; &nbsp;from all lookup local &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
32765: &nbsp;from all fwmark 0x80000000/0x80000000 lookup 50<br>
32766: &nbsp;from all lookup main &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>
32767: &nbsp;from all lookup default &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
<br>
<br>
root@router:~# ipsec --version &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>
Linux Openswan 2.6.28 (klips) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
See `ipsec --copyright' for copyright information. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>
root@router:~# uname -a &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
Linux router 2.6.32.16 #1 Wed Aug 25 15:20:15 PDT 2010 mips GNU/Linux<br>
root@router:~# iptables --version &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
iptables v1.4.6 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
<br>
<br>
when I try to ping c.c.c.c from my internal network I can see packets passing br-lan and instead of goint to the tunnel they go thru eth1 (external interface).<br>
<br>
Any help would be appreciated. Thank you.<br>
<br>
<br>
<br>
<br>
<br>
---<br>
With best regards, Artiom Alin Kenibasov<br>
Si vis pacem para belum<br>
&lt;<a href="mailto:eu@artiom.ro">eu@artiom.ro</a>&gt;</body>