Linux Vps 搭建Vpn
最近因为一直在整理自己的bolg,申请了新的域名,如域名所说,开源通用计算库,有点大,但是自己一直都在努力,将自己学习到的、用到的一些知识分享给所有感兴趣的朋友,遇到问题,还请多提意见。出于爱好,最近又买了一个vps,很mini的,当然价格很便宜,一年9刀,玩玩足矣,一是搭建一个vpn,用于查资料,另一个目的就是把自己的博客也迁移过去,顺便迁移到wordpress上面,一直在用hexo,感觉到随着bolg的增容会越来越慢,更关键的是没有电脑无法更新博客,也许wordpress是个不错的选择。
下面这多是在linux centos6.0 32位机器上搭建vpn的过程
###代码
yum remove -y pptpd ppp
/etc/init.d/iptables stop
rm -rf /etc/pptpd.conf
rm -rf /etc/ppp
depmod -a
service iptables start
iptables -F
iptables --flush POSTROUTING --table nat
iptables --flush FORWARD
wget http://myvps-scripts.googlecode.com/files/dkms-2.0.17.5-1.noarch.rpm
wget http://myvps-scripts.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm
wget http://myvps-scripts.googlecode.com/files/ppp-2.4.4-9.0.rhel5.i386.rpm
wget ftp://ftp.muug.mb.ca/mirror/centos/5.11/os/x86_64/CentOS/libpcap-0.9.4-15.el5.i386.rpm
rpm -ivh libpcap-0.9.4-15.el5.i386.rpm
yum -y install make 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
#modprobe ppp_mppe
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
ip=`/sbin/ifconfig venet0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'`
echo "vpn pptpd ${pass} *" >> /etc/ppp/chap-secrets
echo "vpn1 pptpd 12345 *" >> /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 "==============================================================================="
echo " VPN INSTALLATION COMPLETE"
echo "==============================================================================="
echo " "
echo "VPN hostname/ip: ${ip}"
echo "VPN type: PPTP"
echo "VPN username: vpn"
echo "VPN password: ${pass}"
echo " "
echo " "
echo "Note: You may need to ensure the checkbox send all traffic over this connection"
echo "the codes edit by http://www.laozuo.org/"
echo " "
rm -rf *.rpm
其实网络上有很多一键搭建vpn的,但是针对不同的vps供应商及不同的平台,或多好少会有不同,这就需要你去修改哪些不合适的,在搭建vpn的过程中也出现了很多问题,
- libpcap版本不匹配,如你说看到的,我在上面代码中,修改yum安装libpcap为固定版本,这里也许有个库你很喜欢pbone.net,你所需要的这里都有
- 找不到eth0,在linux中,这是你的网卡,但是我的vps供应商采用的虚拟技术是openVZ,在用ifconfig中没有eth0,只有venet0,这是,将上面代码一行将eth0改为venet0即可,其他的没有需要修改的了,再添加一些常用用户即可
此文章版权归snailgoers所有,如有转载,请注明來自原作者
评论

