最新消息:用博客记录点滴生活。与您共同关注互联网,分享互联网。

Centos系统架设PPTP Vpn 超详细教程

1、装前准备

检查vps是否满足配置pptp vpn的环境。因为有的openvz的vps被母鸡给禁用了。有的可在控制面板中直接开启,开启Tun/Tap和PPP即可,没有的最好向客服发TK,可能客服会帮你开通vpn或者客服那里会给你他们自己定制的vpn一键安装包也有可能。

cat /dev/ppp
cat: /dev/ppp: No such device or address    #返回这个说明PPP已经开启。
cat /dev/net/tun
cat: /dev/net/tun: File descriptor in bad state    #返回这个说明Tun/Tap已经开启。

如果控制面板没有的话,请发Ticket联系服务商。正常的话直接跳到下一步。防止小白,这里发一次Ticket内容的中文和英文。

中文:
请帮我开启TUN-TAP和PPP,我要在Vps上运行pptp-vpn。

英文:
Hello
Could you enabled TUN-TAP and PPP for me? I want run pptp-vpn on my VPS.
Thank you.

2、安装pptp以及依赖软件

rpm -Uvh http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm
yum install -y ppp iptables pptp

3、配置pptp

(1)客户端ip:编辑/etc/pptpd.conf,在文件最后添加:

localip 172.16.31.1
remoteip 172.16.31.10-50

解释下localippptp的网关、remoteip 是vpn客户端的地址范围10-50能为40个客户端分配IP。

pptp配置:编辑/etc/ppp/options.pptpd,把原来的内容删除,加入下面的内容。

name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns 8.8.8.8
ms-dns 8.8.4.4
proxyarp
debug
dump
lock
nobsdcomp
novj
novjccomp

(2)添加账号:编辑/etc/ppp/chap-secrets这个文件:

添加格式
username pptpd password *

依次是:用户名  pptpd  密码 分配的IP地址  *表示随机,比如我要添加一个用户 用户名为:123456 密码为:456789 就在 chap-secrets 文件中添加:

123456 pptpd 456789 *

启动pptp并设置开机启动:

service pptpd restart
chkconfig pptpd on

4、配置内核以及iptables

做完上面的步奏其实已经能够连接VPN,但是还不能上网,我们还需要开启数据包转发,编辑/etc/sysctl.conf文件,将net.ipv4.ip_forward值改为1

net.ipv4.ip_forward=1

然后执行以下命令使配置生效:

sysctl -p

##如果有报错查看我以前写的文章:传送门

接下来我们还需要配置iptables的转发规则:

OpenVz
iptables -t nat -A POSTROUTING -s 172.16.31.0/24 -j SNAT --to-source 12.34.56.78   #12.34.56.78为VPS的公网IP地址

Xen
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.31.0/24 -j MASQUERADE

需要注意的是,这个指令中的172.16.31.0/24是根据之前的配置文件中的localip网段来改变的(网上有的教程是192.168.0.0/24 ),比如你设置的 10.0.0.1网段,则应该改为10.0.0.0/24。此外还有一点需要注意的是eth0,如果你的外网网卡不是eth0,而是eth1(比 如SoftLayer的服务器就是这样的情况),那么请记得将eth0也更改为对应的网卡编号,不然是上不了网的!

保存转发规则重启iptables

service iptables save
service iptables restart
chkconfig iptables on

客户端如何连接vpn就不写了,大家可以自行百度,因为系统那么多,我不可能xp,win7,centos,mac之类的每个都写,何况网上一大堆,只要你pptp vpn服务器搭建好了,客户端登陆的选择就是简单的事。如果这个也不知道,那我就没法了,自己动手吧。

5、常见问题:

通过Vpn上网慢,甚至有些网页打不开,这一般是由于Mtu引起的,mtu值的大小随着运营商的改变而改变,没有固定值,自己测试修改。
iptables -A FORWARD -p tcp --syn -s 192.168.111.0/24 -j TCPMSS --set-mss 1356   ##1356为mtu值,自己测试修改

678
iptables转发规则写错了会出现错误678。
iptables -F 删除旧规则再配置!

619
rm /dev/ppp
mknod /dev/ppp c 108 0
或者因为客户机连接Internet的网关(如家庭宽带路由或公司上网网关路由或防火墙)NAT-T功能关闭或对VPN支持性不好,主要是对GRE及PPTP协议的NAT-T不支持。可打开网关路由的NAT-T功能,如果还是出现错误,则需要更换网关设备,现在市面上大多数设备已经支持。

721
这种情况大数多原因为客户系统,如果为WINXP并且安装了SP2,则可能会出现这种情况,解决方法为:修改注册表HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002bE10318},其中其中 是 WAN 微型端口 (PPTP) 驱动程序的网络适配器,在此项中新建一个DWORD 值ValidateAddress,然后设置为0即可。
服务器端PPP协议配置不正确也会导致此类错误。

800
这种情况大数多原因为客户系统连接服务器时使用域名,因临时DNS无法解析而出现这种错误,可更换DNS试一下,如果还是出错此类错误,则可能是无法连接到VPN服务器,可能是VPN服务器关闭或出现故障,也可能是客户电脑上的防火墙阻止了VPN连接请求,可关闭防火墙试一下。
有些使用中转服务器连接到VPN服务器的客户端,也可能出现此类错误,原因为中转服务器中转功能出现故障。

733
这种情况大数多原因为客户机拨入VPN服务器后无法获取IP地址,可修复DHCP服务器或设置静态IP地址或地址池。

734 ppp链接控制协议终止
这种情况多数为VPN服务器配置有问题,如果是PPP配置有问题,不支持MPPE加密或支持度不好。请重新编译PPP及MPPE相关程序。对于用于游戏代理的用户,可不使用加密(需在服务器端不要求加密)。

718
拨入时用户名和密码出错误,有时也因为服务器端认证服务出现故障。

正文部分到此结束

声明:本文采用 BY-NC-SA 协议进行授权,转载还请注明:http://www.777s.me/centos-pptp.html - 777's Blog