sudo modprobe ppp-generic
sudo apt-get install pptp-linux pptpd ppp curl
sudo nano /etc/ppp/peers/myvpn
pty "pptp <IP SERVER> --nolaunchpppd"
lock
noauth
nobsdcomp
nodeflate
name vpnusername
remotename myvpn
require-mppe-128
usepeerdns
defaultroute
persist
sudo vi /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
vpnusername[TAB]vpnserver[TAB]vpnpassword[TAB]*
sudo nano /etc/ppp/ip-up.d/routevpn
#!/bin/bash
H=`ps aux | grep 'pppd pty' | grep -v grep | awk '{print $14}'`
DG=`route -n | grep UG | awk '{print $2}'`
DEV=`route -n | grep UG | awk '{print $8}'`
route add -host $H gw $DG dev $DEV
route del default $DEV
route add default dev ppp0
sudo chmod +x /etc/ppp/ip-up.d/routevpn

Connect / Disconnect VPN

sudo pon myvpn
sudo poff myvpn

Script auto startup

#!/bin/bash

HOST=[local IP pptp]

DATE=`date`
PINGRES=`ping -c 2 $HOST`
PLOSS=`echo $PINGRES : | grep -oP '\d+(?=% packet loss)'`
echo "$DATE : Loss Result : $PLOSS"

if [ "100" -eq "$PLOSS" ];
then
    echo "$DATE : Starting : $HOST"
    /usr/bin/pon myvpn
    echo "$DATE : Now running : $HOST"
else
    echo "$DATE : Already running : $HOST"
fi
sudo nano /etc/crontab
*/1  * * * * root /root/cron/pptp_cron.sh >> /var/log/pptp_pinger.log 2>&1