Last active
September 2, 2016 10:05
-
-
Save mkdym/cf0a258b236659c3db2cf1287db44888 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
VPN_SERVER_IP= | |
REAL_SERVER_IP= | |
VPN_NAME= | |
usage() | |
{ | |
echo "" | |
echo "usage:" | |
echo " `basename $0` -v vpn_server_ip -s real_server_ip -n vpn_name" | |
echo "" | |
echo "vpn_server_ip: pptp server local ip(in server's file '/etc/pptpd.conf'), eg: 7.0.0.1" | |
echo "real_server_ip: server ip which pptp server installed on, eg: 120.92.5.82" | |
echo "vpn_name: pptp client vpn name, eg: ksvpn82" | |
echo "" | |
exit 1 | |
} | |
while getopts :v:s:n: opt | |
do | |
case $opt in | |
v) | |
VPN_SERVER_IP=$OPTARG | |
;; | |
s) | |
REAL_SERVER_IP=$OPTARG | |
;; | |
n) | |
VPN_NAME=$OPTARG | |
;; | |
\?) | |
usage | |
;; | |
esac | |
done | |
if [ -z "$VPN_SERVER_IP" ] || [ -z "$REAL_SERVER_IP" ] || [ -z "$VPN_NAME" ]; then | |
echo "invalid arguments" | |
usage | |
fi | |
while : | |
do | |
echo "checking..." | |
date --rfc-3339=seconds | |
until ping -c 1 $VPN_SERVER_IP > /dev/null; do | |
echo "can not connect to vpn server ip: $VPN_SERVER_IP" | |
sudo poff $VPN_NAME | |
#pptpsetup --delete ksvpn82 | |
until ping -c 1 $REAL_SERVER_IP > /dev/null; do | |
echo "can not connect to real server ip: $REAL_SERVER_IP" | |
done | |
#pptpsetup --create ksvpn82 --server 120.92.5.82 --username wps --password kingsoft+ --encrypt --start | |
sudo pon $VPN_NAME | |
sleep 5 | |
done | |
sleep 5 | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment