1、检查
服务器是否有必要的支持。如果检查结果没有这些支持的话,是不能安装pptp的。执行指令:
 
	#modprobe ppp-compress-18 && echo ok(用模块方式支持MPPE加密模式浏览,如果内核支持检测不到。)
	这条执行执行后,显示“ok”则表明通过。
	 
	2、安装ppp和iptables。默认情况下,完整的CentOS是带有这两个组件的,但是精简版的系统可能没有。我们输入下面的命令来确认,如果没有则进行安装,有的话系统不会做任何动作:
	#yum install -y ppp iptables
	 
	3、安装pptp。这个软件在yum源里是没有的,我们需要手动下载。我们先切换到tmp目录:
	#cd /tmp
	然后执行下面的命令来下载pptp安装包:
	#wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm (32位系统使用)
	#wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm (64位系统使用)
	如果你的CentOS是32位的,则执行32位的那条指令;如果是64位的CentOS,则执行64位的那条指令。注意不要搞错了。
	接下来安装pptp,同样分32位和64位系统:
	#rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm (32位系统使用)
	#rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm (64位系统使用)
	4、配置pptp。首先我们要编辑/etc/pptpd.conf文件:
	#vim /etc/pptpd.conf
	找到“locapip”和“remoteip”这两个配置项,将前面的“#”注释符去掉,更改为你期望的IP段值。localip表示服务器的IP,remoteip表示分配给客户端的IP地址,可以设置为区间。这里我们使用pptp默认的配置:
	localip 192.168.11.1
	remoteip 192.168.11.2-102  (最大限制100个连接)
	 
	接下来我们再编辑/etc/ppp/options.pptpd文件,为VPN添加Google DNS:
	#vim /etc/ppp/options.pptpd
	在末尾添加下面两行:
	ms-dns 8.8.8.8
	ms-dns 8.8.4.4
	 
	注意:最好打开这个文件里的debug选项(去掉debug前面的“#”),以方便我们在出错的查看日志排错。错误日志在/var/log/messages里,用命令:cat /var/log/messages | grep pptpd 查看有关PPTP的错误信息。
	 
	 
	5、设置pptp VPN账号密码。我们需要编辑/etc/ppp/chap-secrets这个文件:
	#vim /etc/ppp/chap-secrets
	在这个文件里面,按照“用户名 pptpd 密码 *”的形式编写,一行一个账号和密码。比如添加用户名为test,密码为1234的用户,则编辑如下内容:
	dreamfly pptpd 1234 *
	mfisp pptpd 4321 *
	 
	6、修改内核设置,使其支持转发。编辑/etc/sysctl.conf文件:
	#vim /etc/sysctl.conf
	将“net.ipv4.ip_forward”改为1,变成下面的形式:
	net.ipv4.ip_forward=1
	保存退出,并执行下面的命令来生效它:
	#sysctl -p
	 
	7、添加iptables转发规则。经过前面的6个步骤,我们的VPN已经可以拨号了,但是还不能访问任何网页。最后一步就是添加iptables转发规则了,输入下面的指令:
	两种修改方法:命令行或修改/etc/sysconf/iptables 文件
	iptables -t nat -A POSTROUTING -o eth1 -s 192.168.11.0/24 -j MASQUERADE
	 
	iptables -L -t nat 可以看到:
	Chain PREROUTING (policy ACCEPT)
	target     prot opt source               destination        
	Chain POSTROUTING (policy ACCEPT)
	target     prot opt source               destination        
	MASQUERADE  all  --  192.168.11.0/24      anywhere           
	Chain OUTPUT (policy ACCEPT)
	target     prot opt source               destination
	 
	在/etc/sysconf/iptables 文件 允许ping
	-A RH-Firewall-1-INPUT -s 192.168.11.0/255.255.255.0 -p icmp -m icmp --icmp-type 8 -j ACCEPT
	service iptables save  保存
	 
	service iptables restart 重启
	 
	8.
	设置开机自动运行服务。我们最后一步是将pptp和iptables设置为开机自动运行,这样就不需要每次重启服务器后手动启动服务了。当然你不需要自动启动服务的话可以忽略这一步。输入指令:
	#chkconfig pptpd on
	#chkconfig iptables on
	 
	这样就大功告成了,赶快到Windows下建立一个VPN连接,IP填写自己的服务器IP,用户名和密码填写自己设置好的用户名和密码,点击“连接”,成功后就可以使用服务器去浏览网页啦!
	使用Ipad设置:
	设置-->通用-->网络-->VPN-->添加VPN配置...-->
	选择PPTP
	描述 随意填
	服务器  xxx.xxx.xxx.xxx
	帐号: xx
	密码:xx
	存储就可以了
	 
	最后完成之后,如果出现错误619则输入命令mknod /dev/ppp c 108 0
	注意:如果虚拟机内核不支持MPPE的话,无法使用加密,用WINDOWS默认VPN连接会显示“证书信任错误”。
	解决方法:修改/etc/ppp/options.pptpd注释掉require-mppe-128这行,然后windows的vpn拨号的属性改为可选加密,再次连接就成功了。
	 
	 
	如果你无法访问一些特定网站,建议你修改ppp接口的MTU(很多时候iphone能连接vpn但是无法打开任何网页也可能跟这个有关系)
	输入vi /etc/ppp/ip-up
	在倒数第二行加入如下内容:
	/sbin/ifconfig $1 mtu 1400  
	缺省 MTU:1496
	保存后需要重启PPTP服务器,指令如下:
	service pptpd restart