OpenVZ supports VPN inside a container via kernel TUN/TAP module and device.
To check availability of TUN module on your server (not VPS), type following command:
lsmod | grep tun
you should see something like:
tun 40260 1
vznetstat 24189 3 tun,ip_vznetstat,ip6_vznetstat
if output is empty, you can’t continue.
To allow VPS to use the TUN/TAP device you need to do following (lets take for example VPS with ID 99):
vzctl set 99 –devnodes net/tun:rw –save
vzctl set 99 –devices c:10:200:rw –save
vzctl stop 99
vzctl set 99 –capability net_admin:on –save
vzctl start 99
vzctl exec 99 mkdir -p /dev/net
vzctl exec 99 chmod 600 /dev/net/tun
To check if module was enabled inside VPS, type following:
cat /dev/net/tun
output should be like:
cat: /dev/net/tun: File descriptor in bad state