>Не получается подключиться по ipsec через nat из локалки к внешнему серверу.
>
>В логах вижу несколько udp пакетов на 500 порт сервера и с
>него. Потом несколько ESP пакетов Только на сервер. И всё. Клиентская
>прога (под WinXP) установки ipsec туннеля говорит, что соединение установленно успешно.
>Но передачи данных по туннелю нет.
>В iptbls форвардятся udp 500 и протокол ESP в обе стороны. Snat-ится
>только udp, а esp проходит напрямую.
>Ядро-2.6.17 Соединение установлено успешно означает, что отработал ISAKMP. А что пакеты не ходят - объяснение очень простое. Очень упрощенно излагая - NAT перезаписывает IP заголовки ESP пакетов. Поскольку эти заголовки участвуют в создании хэша, он не сходится. А такие пакеты считаются невалидными, и отбрасываются.
Для IPSec через NAT существует такая вещь как IPSec NAT Traversal, это инкапсуляция ESP в UDP; поищите в этом направлении.