最近腾出来一个VPS,基于Xen的Linux CentOS5.4-64位,天朝的网络环境就不说了,连iPhone的Cydia都墙了,无奈自己弄个PPTP的VPN试试。
VPN常用有两种,一种是openvpn,另一种PPTP。前者开源跨平台功能强大,后者简单方便Windows下无需安装客户端。而且从安装上看,PPTP比openvpn简单一点,所以决定安装这个试试看。
再说下VPS吧,现在的服务商提供两种类型,一种是基于openvz,另一种基于xen的。区别就不在这说了,自己google吧,重点是openvz的绝大多数不能安装PPTP,而xen的没有限制,两个都可以。
1、安装相关软件
登陆SSH,检查内核是否包含mppe,基本上CentOS都有的,输入这个命令:modprobe ppp-compress-18 && echo ok 如果是ok就可以
安装PPTP需要ppp和iptables这两个软件支持,这里用yum来安装,输入这个命令:yum install -y ppp iptables
然后安装pptp,切换目录到tmp,命令 cd /tmp
去poptop官方网站,如果你和我系统一样,直接下载rpm包
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.x86_64.rpm
安装rpm包,输入命令:rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm
2、配置文件编写
①配置文件/etc/ppp/options.pptpd
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
ms-dns 8.8.8.8
ms-dns 8.8.4.4
最后两行是dns服务器地址,这里用google,你也可以opendns。编辑完成后保存退出。
②配置文件/etc/pptpd.conf
option /etc/ppp/options.pptpd
logwtmp
localip 192.168.8.1
remoteip 192.168.8.2-40
③配置文件/etc/ppp/chap-secrets
username1 pptpd password1 *
username2 pptpd password2 *
username3 pptpd password3 *
这个文件用来配置vpn的登陆用户和密码,一行一个。编辑完成后保存退出。
把username和password分别改成你需要的用户名密码即可,其他别改了。
④配置文件/etc/sysctl.conf
net.ipv4.ip_forward = 0
改成
net.ipv4.ip_forward = 1
保存并退出,然后执行sysctl -p这个命令。
这时,PPTP基本上配置好了,输入service pptpd start启动。
⑥配置iptables,首先输入service iptables start启动。
输入下面命令
iptables -t nat -A POSTROUTING -s 192.168.8.0/24 -o eth0 -j MASQUERADE
完成后输入service iptables save保存,并且输入service iptables restart重新启动。
此时,PPTP的VPN就已经全部配置好了,windows下使用VPN已经没有问题,但是一些移动设备(iPhone等)可以连接VPN,但是无法打开网页,需要修改下MTU:
iptables -A FORWARD -p tcp –syn -s 192.168.8.0/24 -j TCPMSS –set-mss 1356
保存重启iptables。
如果你需要服务器启动时候自动启动VPN服务,还需要输入chkconfig pptpd on和chkconfig iptables on这两条命令。
