用CentOS 6的VPS搭建VPN翻墙

  这两个月Google不能访问后,一直在用以前“购买的VPS通过SSH+FireFox的方式翻墙”,这需要在Windows电脑上进行一些设置,用到MyEntunnel这个小软件。

  上周同事帮忙安装了一台Ubuntu桌面的台式机,我在上面也用类似的办法可以访问Google等国外网站。

  但手机、平板电脑上还不方便这样操作,不好装软件,不过所有的智能手机、平板电脑及笔记本、台式机上都有VPN的功能,这其实是更标准的翻墙办法,只是以前没有找到合适的VPN服务器,自己搭建也没有成功。

  这个周末在网上找了一些资料,经过一番摆弄,总算是在购买便宜的128M内存VPS上安装好了VPN服务,具体设置办法请参考:《Openvz VPS一键PPTP包安装及添加用户教程(CentOS 5 32位/6 32及64位)》,下载运行博主编辑的openvps_vpn_centos-5-6.sh就可以实现一键安装!

  脚本内容如下,可能有变动:

#!/bin/bashfunction installVPN5(){        yum -y install make libpcap iptables gcc-c++ logrotate tar cpio perl pam tcp_wrappers        rpm -ivh dkms-2.0.17.5-1.noarch.rpm        rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm        rpm -qa kernel_ppp_mppe        rpm -Uvh ppp-2.4.4-9.0.rhel5.i386.rpm        rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm}function installVPN6(){        yum -y install make libpcap iptables gcc-c++ logrotate tar cpio perl pam tcp_wrappers        rpm -ivh dkms-2.0.17.5-1.noarch.rpm        rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm        rpm -qa kernel_ppp_mppe        rpm -Uvh ppp-2.4.5-17.0.rhel6.$arch.rpm        rpm -ivh pptpd-1.3.4-2.el6.$arch.rpm}function setting(){        mknod /dev/ppp c 108 0        echo 1 > /proc/sys/net/ipv4/ip_forward        echo "mknod /dev/ppp c 108 0" >> /etc/rc.local        echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> /etc/rc.local        echo "localip 172.16.36.1" >> /etc/pptpd.conf        echo "remoteip 172.16.36.2-254" >> /etc/pptpd.conf        echo "ms-dns 8.8.8.8" >> /etc/ppp/options.pptpd        echo "ms-dns 8.8.4.4" >> /etc/ppp/options.pptpd        pass=`openssl rand 6 -base64`        if [ "$1" != "" ]        then pass=$1        fi        echo "vpn pptpd ${pass} *" >> /etc/ppp/chap-secrets        iptables -t nat -A POSTROUTING -s 172.16.36.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 172.16.36.0/24 -j TCPMSS --set-mss 1356        service iptables save        chkconfig iptables on        chkconfig pptpd on        service iptables start        service pptpd start        echo "===========================LaoZuo.ORG====================================="        echo "VPN service is installed, your VPN username is vpn,VPN password is ${pass}"        echo "===========================LaoZuo.ORG====================================="}function centos5(){        echo "begin to install VPN services";        #check wether vps suppot ppp and tun        yum remove -y pptpd ppp        iptables --flush POSTROUTING --table nat        iptables --flush FORWARD        rm -rf /etc/pptpd.conf        rm -rf /etc/ppp        arch=`uname -m`        wget http://www.laozuo.org/download/scripts/dkms-2.0.17.5-1.noarch.rpm        wget http://www.laozuo.org/download/scripts/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm        wget http://www.laozuo.org/download/scripts/pptpd-1.3.4-1.rhel5.1.i386.rpm        wget http://www.laozuo.org/download/scripts/ppp-2.4.4-9.0.rhel5.i386.rpm        installVPN5        setting}function centos6(){        echo "begin to install VPN services";        #check wether vps suppot ppp and tun        yum remove -y pptpd ppp        iptables --flush POSTROUTING --table nat        iptables --flush FORWARD        rm -rf /etc/pptpd.conf        rm -rf /etc/ppp        arch=`uname -m`        wget http://www.laozuo.org/download/scripts/dkms-2.0.17.5-1.noarch.rpm        wget http://www.laozuo.org/download/scripts/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm        wget http://www.laozuo.org/download/scripts/pptpd-1.3.4-2.el6.$arch.rpm        wget http://www.laozuo.org/download/scripts/ppp-2.4.5-17.0.rhel6.$arch.rpm        installVPN6        setting}function repaireVPN(){        echo "begin to repaire VPN";        mknod /dev/ppp c 108 0        service iptables restart        service pptpd start}function addVPNuser(){        echo "input user name:"        read username        echo "input password:"        read userpassword        echo "${username} pptpd ${userpassword} *" >> /etc/ppp/chap-secrets        service iptables restart        service pptpd start}echo "please select your operation system"echo "which do you want to?input the number."echo "1. my system is centos5 32bit(only support 32bit)"echo "2. my system is centos6 32bit or 64bit(they are support)"echo "3. repaire VPN service"echo "4. add VPN user"read numcase "$num" in[1] ) (centos5);;[2] ) (centos6);;[3] ) (repaireVPN);;[4] ) (addVPNuser);;*) echo "nothing,exit";;esac

  作者老左不仅编辑整理了脚本,还在自己的服务器上放置了几个需要下载的文件,对我这样不太懂Linux下设置的人来说非常方便,致敬!还有更多其它版本环境的设置办法和脚本都可以去http://www.laozuo.org 查找。

  这样设置启用VPN服务器后,就只对自己或者身边少数人提供服务,应该是不会有麻烦的,基本上就可以完全解决自己上国外网站的问题。在Windows, Linux, MAC机器以及智能手机、平板电脑上都已经顺利设置了VPN客户端,在需要访问国外网站时打开VPN,在只需要访问国内网站的时候关闭VPN以便速度更快。

?

自由标签: LinuxCentOSVPSVPN翻墙

用CentOS 6的VPS搭建VPN翻墙

相关文章:

你感兴趣的文章:

标签云: