Llanzlan Klazmon wrote:
>
> Protocol 50 (e)ncapulated (s)ecurity (p)protocol does have issues with NAT.
> Excluding it from the masqarade though, means there is no chance at all of
> it working, as it means that you are then sending a packet out onto the
> internet with a source ip address that is not routable on the public
> network. (e.g say the PC running the VPN client has a private address of
> 192.168.?.?). However -see the NAT-Traversal section of this IPSec howto
> doc:
>
> http://www.ipsec-howto.org/x185.html
>
> As far as figuring out what is going on, I suggest starting with using
> tcpdump or ethereal to capture the traffic to give you a pointer as to what
> is going on.
>
> Klazmon.
I ran a tcpdump on the connection to determine what was happening.
What I saw was a ESP protocol 50 coming back from the server I'm trying
to auth with and the linux box apparently didn't know what to do with
the packet, so it send an icmp type 20 "denied" back to the server.
What I had to do was to forward all protocol 50 to the internal ip
address of the Win2K client that originates from the server I'm trying
to connect to.
What's interesting is that using a Linksys router, this wasn't
necessary. Why doesn't the linux box handle this connection properly?
Surely it knows that my internal box made the connection to a
particular ip, so when it sees a connection come back from that ip, it
should KNOW to route it correctly.
Am I missing something?
Here's the line I had to add to iptables:
/sbin/iptables -t nat -A PREROUTING -p 50 -i eth1 -d $external_ip -j
DNAT --to $internal_win2k_ip --src $vpn_server_ip
Then it worked.