It seems the tunnel is established correctly, but the kernel is not capturing the tunneled packets and is instead letting them go through to racoon. They’re not a valid isakmp packet so racoon says the length is wrong.
I’ve got a support ticket open for this issue. Nothing back yet apart from ‘we’re looking at it’.
In my case I worked around the problem by turning off NAT-T and just passing ESP across the intermediate NAT device. Your milage may vary as this depends upon the NAT device being able to keep track of the ESP connections.
Thank you very much for the report.
Perhaps we will need you help.
It seems we were able to track that issue once again. We are looking for the way how to fix the problem.
I’m Experiencing exactly the same problem. RouterOS version is 3.20.
The L2TP/IPSEC client is a Vista SP2 computer and is behind a NAT device (Dlink DI-624). The L2TP/IPSEC server is the Mikrotik with Public IP and NAT-T enabled.
The log shows the same error: ipsec the length in the isakmp header is too big
Fix for the problem will be included in version 4.4. Thank you very much for your reports.
If anyone will have the problem with ISAKMP header, please let us know.
Well, I’ve just tried with v4.4 but with no success.
Please “rpress” did you need to configure anything in /ip ipsec policy? I did not put anything there because I’ve let the /ip ipsec peer with Gererate Policy enabled.
When connecting, the RouterOs creates two Installed SAs with the Public IP’s either from server and client normally. But it creates only one Policy using the Natted client IP as source and Public server IP as destination.
The log shows: packet shorter than isakmp headre size
williamm, original error was different. Please, give more information about your setup, what device you have on the other end?
What is the configuration for /ip ipsec peer on MikroTik RouterOS?
The L2TP/IPSec client is a Windows Vista SP2 laptop connected to the Internet with dynamic IP and using a Wireless Router Dlink DI-624 with NAT enabled. I’ve tried also to connect the laptop directly to the public IP (not via the natted wireless router) and removing the NAT-T from RouterOS and this way it works perfectly.
Is there anyone has got working Windows L2TP / IPSec when client is behind NAT? (using NAT-T)
I have installed the latest version v4.5 so I was hoping that it would be possible to get connected L2TP/IPSec from Windows or iPhone behind NAT since it was not possible due this error “ipsec the length in the isakmp header is too big.”.
The error is now fixed. Anyway there is still problem that it is not possible to establish L2TP/IPSec connection when the client computer is behind NAT even if NAT-Traversal option is enabled.
L2TP is still redialling because L2TP server is not able to communicate with the client IP because IPSec doesn’t work well.
Could be problem in private IP address “10.0.2.15/32” ??
The L2TP server can receive the client’s control message but the client is not able to receive server’s replies.
It would be GREAT if Mikrotik Team could show to all of us, how to get this working. Because I spent really lot of time looking for any working solution, but it seems that the nobody got this working yet. THANKS!