There are many VPN installation tutorials on google, some tutorials are not good for openVZ VPS. I found this auto installer works with Debian/Ubuntu OS on OpenVZ VPS and much easier to install.
Check if PPP module is enable.
cat /dev/ppp
If you receive this message, PPP module is enable.
cat: /dev/ppp: No such device or address
Install:
wget http://www.putdispenserhere.com/wp-content/uploads/pptpinstall.sh chmod +x pptpinstall.sh ./pptpinstall.sh
Windows and Mac has application for access VPN, you don’t have to install any additional software.
Note: this auto installer doesn’t work on any openvz VPS, I tried to install on 3 VPS,only got 1 VPS work with this script, and use recommend OS: Debian 5, 6, and Ubuntu 11.04.
If you can’t access certain website, login SSH, and run below command:
iptables -I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356
Script Source Code:
#!/bin/bash # Interactive PoPToP install script on a OpenVZ VPS # Tested on Debian 5, 6, and Ubuntu 11.04 # 2011 v1.1 # Author: Commander Waffles # http://www.putdispenserhere.com/pptp-debian-ubuntu-openvz-setup-script/ echo "######################################################" echo "Interactive PoPToP Install Script for OpenVZ VPS" echo "by Commander Waffles http://www.putdispenserhere.com" echo "Should work on various deb-based Linux distos." echo "Tested on Debian 5, 6, and Ubuntu 11.04" echo echo "Make sure to message your provider and have them enable" echo "IPtables and ppp modules prior to setting up PoPToP." echo echo "You need to set up the server before creating more users." echo "A separate user is required per connection or machine." echo "######################################################" echo echo echo "######################################################" echo "Select on option:" echo "1) Set up new PoPToP server AND create one user" echo "2) Create additional users" echo "######################################################" read x if test $x -eq 1; then echo "Enter username that you want to create (eg. client1 or john):" read u echo "Specify password that you want the server to use:" read p # get the VPS IP ip=`ifconfig venet0:0 | grep 'inet addr' | awk {'print $2'} | sed s/.*://` echo echo "######################################################" echo "Downloading and Installing PoPToP" echo "######################################################" apt-get update apt-get install pptpd echo echo "######################################################" echo "Creating Server Config" echo "######################################################" cat > /etc/ppp/pptpd-options <<END name pptpd refuse-pap refuse-chap refuse-mschap require-mschap-v2 require-mppe-128 ms-dns 8.8.8.8 ms-dns 8.8.4.4 proxyarp nodefaultroute lock nobsdcomp END # setting up pptpd.conf echo "option /etc/ppp/pptpd-options" > /etc/pptpd.conf echo "logwtmp" >> /etc/pptpd.conf echo "localip $ip" >> /etc/pptpd.conf echo "remoteip 10.1.0.1-100" >> /etc/pptpd.conf # adding new user echo "$u * $p *" >> /etc/ppp/chap-secrets echo echo "######################################################" echo "Forwarding IPv4 and Enabling it on boot" echo "######################################################" cat >> /etc/sysctl.conf <<END net.ipv4.ip_forward=1 END sysctl -p echo echo "######################################################" echo "Updating IPtables Routing and Enabling it on boot" echo "######################################################" iptables -t nat -A POSTROUTING -j SNAT --to $ip # saves iptables routing rules and enables them on-boot iptables-save > /etc/iptables.conf cat > /etc/network/if-pre-up.d/iptables <<END #!/bin/sh iptables-restore < /etc/iptables.conf END chmod +x /etc/network/if-pre-up.d/iptables cat >> /etc/ppp/ip-up <<END ifconfig ppp0 mtu 1400 END echo echo "######################################################" echo "Restarting PoPToP" echo "######################################################" /etc/init.d/pptpd restart echo echo "######################################################" echo "Server setup complete!" echo "Connect to your VPS at $ip with these credentials:" echo "Username:$u ##### Password: $p" echo "######################################################" # runs this if option 2 is selected elif test $x -eq 2; then echo "Enter username that you want to create (eg. client1 or john):" read u echo "Specify password that you want the server to use:" read p # get the VPS IP ip=`ifconfig venet0:0 | grep 'inet addr' | awk {'print $2'} | sed s/.*://` # adding new user echo "$u * $p *" >> /etc/ppp/chap-secrets echo echo "######################################################" echo "Addtional user added!" echo "Connect to your VPS at $ip with these credentials:" echo "Username:$u ##### Password: $p" echo "######################################################" else echo "Invalid selection, quitting." exit fi
if you can't connect to website,you can try:(open fowarding by iptables)
#!/bin/bash
get_char()
{
SAVEDSTTY=`stty -g`
stty -echo
stty cbreak
dd if=/dev/tty bs=1 count=1 2> /dev/null
stty -raw
stty echo
stty $SAVEDSTTY
}
clear
username=""
while [ "$username" = "" ]; do
echo "Please input the username of PPTP:"
read -p"Username:" username
done
echo "==========================="
echo "PPTP Username:$username"
echo "==========================="
password=""
while [ "$password" = "" ]; do
echo "Please input the password of PPTP:"
read -p"Password:" password
done
echo "==========================="
echo "PPTP Password:$password"
echo "==========================="
echo "Press any key to continue."
char=`get_char`
echo "$username * $password *">>/etc/ppp/chap-secrets
service pptpd restart
echo "All finish."