梦飞数据中心 > 帮助中心 > 系统配置 > CentOS 6下搭建PPTP VPN 供ihpone,ipad远程登录

CentOS 6下搭建PPTP VPN 供ihpone,ipad远程登录

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
(责任编辑:梦飞科技)