When setting up the PPTP and PPP packages on an OpenVZ VPS in order to connect to a VPN, there are a few extra steps you need to take that you don’t have to do with a non-virtualized box.
First, you have to load the following kernel modules on the hardware node and/or set them to automatically start during the boot up process:
modprobe ppp_mppe modprobe ppp_deflate modprobe zlib_deflate modprobe ppp_async modprobe ppp_generic modprobe slhc modprobe crc_ccitt
After doing that you should see something similiar to this when running lsmod
[root@me ~]# lsmod | grep ppp ppp_mppe 39816 0 ppp_deflate 39168 0 zlib_deflate 52760 1 ppp_deflate ppp_async 45056 0 ppp_generic 63632 4 ppp_mppe,ppp_deflate,ppp_async slhc 39680 1 ppp_generic crc_ccitt 35200 1 ppp_async
Second, you have to tweak the VPS’s conf file:
vzctl stop [VEnumber] vzctl set [VEnumber] --features ppp:on --save vzctl start [VEnumber] vzctl set [VEnumber] --devices c:108:0:rw --save vzctl exec [VEnumber] mknod /dev/ppp c 108 0 vzctl exec [VEnumber] chmod 600 /dev/ppp
Once that’s done, you can follow the normal instructions.
After that, you might need to uncomment the require-mppe-128 or mppe required,stateless line in /etc/ppp/options.pptp (depending on the VPN server). You may also need to manually create a static route to the network, with route add -net 10.1.1.0 netmask 255.255.255.0 ppp0.
You can check /var/log/messages for details about negotiation errors.