Прежде всего загрузим необходимые модули:

modprobe af_key && modprobe esp4 && modprobe esp6 && modprobe xfrm4_mode_tunnel && modprobe xfrm6_mode_tunnel && modprobe ppp_async && modprobe pppol2tp && modprobe xfrm_ipcomp

активируем возможность net_admin для контейнера и дадим контейнеру ppp устройство для работы, как указано в подсказке от разработчиков. На хосте OpenVZ выполняем:

vzctl set CTID --capability net_admin:on --save
vzctl set CTID --devices c:108:0:rw --save
vzctl restart CTID

Тут CTID - это ID контейнера.

Внутри контейнера создаем ppp устройство и выставляет корректные права доступа к нему:

mknod /dev/ppp c 108 0
chmod 600 /dev/ppp

Внутри контейнера в качестве ipsec демона будем использовать openswan, а в качестве l2tp сервера стандартный xl2tpd из репозиториев:

apt-get install openswan xl2tpd

При установке openswan на вопрос Use an X.509 certificate for this host? отвечаем n


Проблема

вот еще одно решение: http://linuxworldweb.blogspot.ru/2012/04/enable-iptable-nat-support-on-openvz.html

iptables v1.4.14: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)

1. IPTABLES parameter in /etc/vz/vz.conf added iptable_nat

2. /etc/sysconfig/iptables-config

IPTABLES_MODULES="iptable_filter iptable_mangle iptable_nat"

3. Check the following to see if it's an Openvz issue:

cat /sys/module/nf_conntrack/parameters/ip_conntrack_disable_ve0
1

If your result is a 1 then you need to do the following to solve it:

vi /etc/modprobe.d/openvz.conf

change :

options nf_conntrack ip_conntrack_disable_ve0=1

to:

options nf_conntrack ip_conntrack_disable_ve0=0

первые два изменения результата не принесли. После последних правок nat появилась на хосте, но не контейнерах.

а вот после

vzctl set CTID --netfilter full --save

таблица NAT появилась и в контейнерах.


Если появляется сообщение - NETKEY: Testing XFRM related proc values [FAILED] Значит в контейнере надо выполнить:

for f in /proc/sys/net/ipv4/conf/*/send_redirects; do echo 0 > $f; done 
for f in /proc/sys/net/ipv4/conf/*/accept_redirects; do echo 0 > $f; done