ovz pptp

Posted on 2013-09-06 17:15 H2O 阅读(364) 评论(0)  编辑  收藏
试了N个都是可以连上 上不了网 加了iptables也没用 近乎绝望了。。
用英文搜索了个老外的教程 非常给力 解决了
感谢原作者 引用:
http://www.maxwhale.com/pptp-vpn-on-debianubuntu-os-auto-installer/

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)
iptables -t nat -A POSTROUTING -s 192.3.169.0/24 -j SNAT --to-source `ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk 'NR==1 { print $1}'`
iptables -A FORWARD -p tcp --syn -s 192.3.169.0/24 -j TCPMSS --set-mss 1356
service iptables save

另外一个脚本
#!/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

ip
=$(ifconfig | grep 'inet addr:'| grep -'127.0.0.1' | cut -d: -f2 | awk '{ print $1}')
echo 
"$ip"

        echo 
"==========================="

serverip
=""
while [ "$serverip" = "" ]; do
        echo 
"Which IP is your server IP:"
        
read -p"IP:"  serverip
done
        echo 
"==========================="
        echo 
"Server IP:$serverip"
        echo 
"==========================="
        
        echo 
"==========================="

ifconfig

netdriver
=""
while [ "$netdriver" = "" ]; do
        echo 
"Please input the netdriver of your server:"
        
read -p"Net Driver:"  netdriver
done
        echo 
"==========================="
        echo 
"Net Driver:$netdriver"
        echo 
"==========================="
        
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`
apt
-get -y update
apt
-get -y install pptpd
sed 
-"s#\#localip 192.168.0.1#localip 192.168.0.1#g" /etc/pptpd.conf
sed 
-"s#\#remoteip 192.168.0.234-238,192.168.0.245#remoteip 192.168.0.234-238,192.168.0.245#g" /etc/pptpd.conf
wget http
://soft.yzs.me/pptpd-options -/etc/ppp/pptpd-options
touch 
/var/log/pptpd.log
sed 
-'s/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf
sysctl 
-p
iptables 
-t nat -A POSTROUTING -192.168.0.0/24 -$netdriver -j MASQUERADE
iptables 
-t nat -A POSTROUTING -192.168.0.0/24 -$netdriver -j SNAT --to-source $serverip
echo 
"$username * $password *">>/etc/ppp/chap-secrets
sed 
-"1i\iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o $netdriver -j MASQUERADE;iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o $netdriver -j SNAT --to-source $serverip" /etc/rc.local
service pptpd restart
#!/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."

只有注册用户登录后才能发表评论。


网站导航:
 

posts - 0, comments - 21, trackbacks - 0, articles - 101

Copyright © H2O