一个坑

架构VPN

事先声明,要玩这个要有点E文基础(买国外的VPS),实在不行就买香港的,香港的VPS可能会贵点。

先要买个国外的VPS,如http://www.sshvm.com。价格很实惠,像我买的最低档次的也就$3一个月,折合RMB也就20RMB不到一个月,一年200RMB左右的样子就搞定了。
等VPS下来了,我们就开工了。我这里用我的SSHVM VPS举个例子。其实都是大同小异的。

第一步,进入控制台

QQ截图20130512214732

1表示这个VPS是OpenVZ的。
2这里需要开启PPP服务支持。
都设置好之后,用ssh工具连上VPS。先检查VPS是否有必要的支持。

cat /dev/net/tun

需要返回cat: /dev/net/tun: File descriptor in bad state

cat /dev/ppp

需要返回cat: /dev/ppp: No such device or address
上面的2条必须都通过,才可安装pptp。如果无法通过,就回到第一步看下,2号位置设置是否正确。

第二步,安装组件

yum install -y ppp iptables

个人比较喜欢yum源安装,所以添加yum源

rpm -Uvh http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm
yum install pptpd #注意是pptpd,不是pptp

开启转发

vim /etc/sysctl.conf

修改为net.ipv4.ip_forward = 1,然后wq,执行

/sbin/sysctl -p #使生效

第三步,配置pptpd

vim /etc/ppp/options.pptpd
ms-dns 8.8.8.8
ms-dns 8.8.4.4 #VPN的DNS服务器

vim /etc/pptpd.conf
localip 9.9.9.1
remoteip 9.9.9.2-245 #VPN 分配的IP。这里的设置只要不和局域网的IP地址冲突就OK

第四步,添加VPN用户

vim /etc/ppp/chap-secrets
test pptpd test12345 * #用户名 服务器名 密码 允许ip

第五步,设置防火墙

chkconfig iptables on
/sbin/iptables -A INPUT -p tcp –dport 1723 -j ACCEPT
/sbin/iptables -A INPUT -p tcp –dport 47 -j ACCEPT
/sbin/iptables -A INPUT -p gre -j ACCEPT

iptables -t nat -A POSTROUTING -s 9.9.9.0/24 -j SNAT –to-source 12.34.56.78
(OpenVZ, 9.9.9.0一定要和上面设置的IP段匹配,12.34.56.78为你的VPS的公网IP地址)

#iptables -t nat -A POSTROUTING -s 9.9.9.0/24 -o eth0 -j MASQUERADE
(XEN)
/etc/init.d/iptables save
service iptables restart
最后,启动服务

/etc/init.d/pptpd start

如果要加入启动项

chkconfig pptpd on

到这里,VPN服务端配置基本完成
赶快用手机连上VPN试试吧