最新消息:

centos 6.4 6.5安装搭建pptp vpn服务

Linux运维 大步 62802浏览 0评论

今天在vps上装pptp ,和以往一样,只不过不是在自己的vps上,上次ssh代理被封ip,对我的身心造成了深深的影响,所以,这次拿网友放我这的vps来搭建vpn环境。pptp的搭建比openvpn容易多了。以下是我的配置过程,其实和网上差不多,centos6.4 搭建 centos 6.4 搭建pptp vpn ppp = 2.4.4 is needed by pptpd-1.3.4-2.rhel5.x86_64

centos6.4安装搭建pptp vpn服务的大致步骤简介,下面会有详细的步骤(我不喜欢写大纲,决定麻烦,但是有人还是看不懂,所以勉为其难的写了个,实在不会的,我在文章的后面提供一些网上的centos pptp vpn 一键安装包,有人写了就不必再写一遍了,一键安装包要是有问题,也别找我,新手想享受自己亲手一步步具体搭建过程的乐趣,就接着看看吧)

1.先检查vps是否满足配置pptp vpn的环境。因为有的openvz的vps被母鸡给禁用了。其实,你在配置前最好向vps的客服发TK,可能客服会帮你开通vpn或者客服那里会给你他们自己定制的vpn一键安装包也有可能。
2.接着是安装配置pptp vpn的相关软件,安装ppp和iptables
配置安装好后的pptp软件,这个不像windows那样,安装的过程就是配置的过程。linux的要安装完之后,修改配置文件,才算是完成配置。
3.启动pptp vpn 服务。此时,就是检验你能够vpn拨号成功,如果你拨号成功了,说明你的pptp vpn的安装配置就算真正的完成了。但是此时只能登录vpn,却不能用来上网。
4.开启内核和iptables的转发功能。这个步骤是为了让你连上vpn之后,能够上网,上那些yourporn,youtube之类的。这步是最关键的,很多人能成功拨号,登录vpn,但是却不能上网就是因为这个步骤没做好。这步骤完成了,你就可以尽情去国外的网站访问了

#########################################手动搭建配置pptp vpn 详细方法如下########

第一步:检测是否符合pptp的搭建环境的要求

服务器版本:CentOs 6.4 xen vps
这里说一下,如果你的linux内核版本 等于或高于 2.6.15 ,内核集成了MPPE。可以用下面命令进行测试内核是否支持
#modprobe ppp-compress-18 && echo ok
返回“ok”说明测试通过。但是返回报错“FATAL: Module ppp_mppe not found.”,也不能说不支持,因为modprobe命令是去 /lib/modules/`uname -r` 找模块,但是很多时候,这个目录下是空的。所以这个命令没什么太大用处。
于是有人又提出一个命令,通过查看内核编译的配置文件config.gz:
#zgrep MPPE /proc/config.gz
返回CONFIG_PPP_MPPE=y 或 =m说明内核已经编译了MPPE,通过测试。但是呢,这个命令其实也没什么用,因为有的vps空间商会不会备份config.gz文件。所以,config.gz文件都没有,这命令也是废了。
所以,最后建议直接使用下面的指令:
#cat /dev/net/tun
如果这条指令显示结果为下面的文本,则表明通过:
cat: /dev/net/tun: File descriptor in bad state
上述任意一个命令测试通过,就能安装pptp。否则就只能考虑openvpn。
确认自己的vps能够支持pptp vpn 或其他类型的vpn。最好的方法是直接问vps空间商,因为没有人比他们更清楚了。没准人家还会提供vpn一键安装包呢!!!
有部分的vps需要发tk,让vps空间商的技术客服为你的VPS打开TUN/TAP/PPP功能了,而有部分vps控制面板上提供打开TUN/TAP/PPP功能的按钮,自己就能手动开启。
Centos 6.4内核版本在2.6.15以上,都默认集成了MPPE和PPP,因此下面检查可以忽略
http://www.dabu.info/?p=2178
#rpm -q ppp //查询当前系统的ppp是否默认集成了,以及ppp的版本
检查PPP是否支持MPPE
用以下命令检查PPP是否支持MPPE:
#strings '/usr/sbin/pppd' |grep -i mppe | wc --lines
http://www.dabu.info/?p=2178
如果以上命令输出为“0”则表示不支持;输出为“30”或更大的数字就表示支持,MPPE(Microsoft Point to Point Encryption,微软点对点加密)。
第二步
1.安装ppp和iptables
PPTPD要求Linux内核支持mppe,一般来说CentOS安装时已经包含了
http://www.dabu.info/?p=2178
#yum install -y perl ppp iptables //centos默认安装了iptables和ppp
2.安装pptpd

刚才用了yum安装了ppp,但是这里有个问题,几乎大部分的人都会在这里遇到ppp和pptpd不兼容的错误。因为yum安装ppp,总是安装最新版本的ppp,而由于安装的ppp的版本不同,那么就需要安装对应版本的pptpd才行。(参考我的文章《ppp = 2.4.4 is needed by pptpd-1.3.4-2.rhel5.x86_64的解决办法及原因|大步's blog》)

我们要先查看已经安装的ppp的版本,在去找对应的pptpd版本。我手头刚好有两个vps,一个是前年装的pptp vpn,一个是一年后装的pptp vpn,所以,装的yum install ppp的版本不同。

使用下面的命令查看ppp的版本,前提你是yum安装的ppp。

旧的vps上的ppp版本显示:

#yum list installed ppp

显示:

ppp.i386 2.4.4-2.el5 installed

新的vps上的ppp版本显示;

#yum list installed ppp

显示:

ppp.i686 2.4.5-5.el6 @base

所以,要对根据ppp版本选择对应的pptpd版本。这里我主要列出常用的。

ppp 2.4.4——————>pptpd 1.3.4

ppp 2.4.5——————>pptpd 1.4.0

贴个ppp和pptpd各个版本的下载地址;http://poptop.sourceforge.net/yum/stable/packages/

大家下载的时候注意,分清楚你系统的版本是64位的还是32位的。我个人建议ppp用yum安装,pptpd用rpm的安装,因为如果全都rpm或者源码安装,依赖关系很是烦人。文件名含有数字64的就是64位版本,没有的就是32位版本。可以用下面的命令查看自己的系统是32位还是64位的。

#getconf LONG_BIT

下面假设我这里的ppp是2.4.4版本,然后安装pptpd

第一种安装pptpd的方法是直接用yum安装,让电脑自动选择对应的版本:

加入yum源

#rpm -Uvh http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm

然后用yum安装pptpd:

#yum install pptpd

这是最省时间和力气的。余下的和手动安装没什么区别了。

 

第二种是手动安装pptpd包:

对于32位CentOS,执行

wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm

rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm

对于64位CentOS,执行

wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm

rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm

这里贴上32位的pptpd的rpm的下载地址:

http://www.400gb.com/file/34722122

64位安装的时候如果出现:http://www.dabu.info/?p=2178

warning: pptpd-1.3.4-2.rhel5.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 862acc42: NOKEY
error: Failed dependencies:
ppp = 2.4.4 is needed by pptpd-1.3.4-2.rhel5.x86_64

原因是pptpd与PPP不兼容,那么,此时用#yum list installed ppp 命令查看ppp版本,极有可能ppp是2.4.5版本的。所以,我们要下载pptp 1.4.0版本才行,而且这里是64位的系统。下载pptpd-1.4.0-1.el6.x86_64.rpm安装即可。这就是我说的出现版本不兼容的问题,当ppp版本和pptpd版本不兼容时候,就会出现类似的错误。

这里我分享下pptpd 下载地址;

64位pptpd-1.4.0-1.el6.x86_64.rpm的下载地址:http://www.pipipan.com/file/18457333

32位pptpd-1.4.0-1.el6.i686.rpm版本下载地址:http://www.400gb.com/file/54124192

看到有人建议用--nodeps --force 这个参数,我个人不建议,这个参数可能以后会出现奇怪的问题,但是如果实在不行,你就用吧

 

第三步:修改配置文件

1.配置文件/etc/ppp/options.pptpd

#cp /etc/ppp/options.pptpd /etc/ppp/options.pptpd.bak
#vi /etc/ppp/options.pptpd

解析:我还建议是在原配置文件上添加内容来配置pptp ,省的不必要的麻烦和问题

 

将如下内容添加到到options.pptpd中:

ms-dns 8.8.8.8
ms-dns 8.8.4.4

然后保存这个文件。

解析:ms-dns 8.8.8.8, ms-dns 8.8.4.4是使用google的dns服务器。

2.配置文件/etc/ppp/chap-secrets

#cp /etc/ppp/chap-secrets   /etc/ppp/chap-secrets.bak
#vi /etc/ppp/chap-secrets

chap-secrets内容如下:

# Secrets for authentication using CHAP
# client server secret IP addresses
myusername pptpd mypassword *

//myusername是你的vpn帐号,mypassword是你的vpn的密码,*表示对任何ip,记得不要丢了这个星号。我这里根据这个格式,假设我的vpn的帐号是ksharpdabu,密码是 sky。那么,应该如下:

ksharpdabu pptpd sky *

 

3.配置文件/etc/pptpd.conf

#cp /etc/pptpd.conf     /etc/pptpd.conf.bak
#vi /etc/pptpd.conf

添加下面两行

localip 192.168.9.1
remoteip 192.168.9.11-30 //表示vpn客户端获得ip的范围

 

关键点:pptpd.conf这个配置文件必须保证最后是以空行结尾才行,否则会导致启动pptpd服务时,出现“Starting pptpd:”,一直卡着不动的问题,无法启动服务,切记呀!(相关文档可以查看:Starting pptpd: 运行不下去的原因

ppp = 2.4.4 is needed by pptpd-1.3.4-2.rhel5.x86_64

 

4.配置文件/etc/sysctl.conf

#vi /etc/sysctl.conf //修改内核设置,使其支持转发

net.ipv4.ip_forward = 0 改成 net.ipv4.ip_forward = 1

保存修改后的文件

#/sbin/sysctl -p

 

第四步:启动pptp vpn服务和iptables

#/sbin/service pptpd start 或者 #service pptpd start

经过前面步骤,我们的VPN已经可以拨号登录了,但还不能访问任何网页。最后一步就是添加iptables转发规则了,输入下面的指令:

启动iptables和nat转发功能,很关键的呀

#/sbin/service iptables start //启动iptables

#/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.9.0/24 -j MASQUERADE 或者使用下面的一种:

#iptables -t nat -A POSTROUTING -o eth0 -s 192.168.9.0/24 -j SNAT --to-source 207.210.83.140

//注意:命令中的 "-o eth0"是指定网卡名称,如果是多个网卡,就根据需要将 -o eth0 改成你  -o ethXX (ehtXX是你网卡的名称)   ,可以通过ifconfig 查看有哪那些连通外网的网卡,一般vps都是单网卡的,而且大都网卡默认名都叫eth0  。但是事情总是多样的,所以如果你的上网的网卡不是 叫 eth0  ,那么就必须去掉 -o eth0  。直接让系统判断你用的网卡,所以将上面的命令改成:

iptables -t nat -A POSTROUTING    -s 192.168.9.0/24 -j SNAT --to-source 207.210.83.140

 

//你需要将207.210.83.140替换成你的vps的公网ip地址,因为这里我写的是我的。还有就是有人说我这--to-source前只有一个横杠,其实是有两个横杠的。文章在编辑模式下显示是两个横杠,因为用的是英文输入法,所以,发表后就变成了一个横杆,而且在源码下复制粘贴也是一横,只有在编辑模式下才能看清楚是两横。但是可以明显看到to前面的那一横比source前的那横长一些,这些都是我操作记录下的命令,不会有错的。为了防止你们出错,我还是用不同的颜色标记吧。

这里我先前写的不是很详细,现在补上:

  • 需要注意的是,这个指令中的“192.168.9.0/24”是根据之前的配置文件中的“localip”网段来改变的(网上有的教程是192.168.0.0/24 ),比如你设置的 “10.0.0.1”网段,则应该改为“10.0.0.0/24”。此外还有一点需要注意的是eth0,如果你的外网网卡不是eth0,而是eth1(比 如SoftLayer的服务器就是这样的情况),那么请记得将eth0也更改为对应的网卡编号,不然是上不了网的!
  • 如果你的linux vps是ppp或者ADSL这种由DHCP动态分配获取ip的方式(当然vps的ip基本都是是固定的。如果你是XEN的vps,那么这个转发规则其实也是适用的,就是让vps自己判断自己的ip,省去了我们指定。),那么就需要用-j MASQUERADE这种写法,就是ip伪装。当然如果使用iptables -t nat -A POSTROUTING -o eth0 -s 192.168.9.0/24 -j SNAT --to-source XXX.XXX.XXX.XXX 这种转发规则其实也是可以的,这样亲自指定自己的vps的ip地址。以后你通过vpn访问网站,显示的就是这个ip了。

#/etc/init.d/iptables save //保存iptables的转发规则

#/sbin/service iptables restart //重新启动iptables

 

最后一步:重启pptp vpn

#service pptpd restart

#############################################3

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

 

多余的步骤:设置pptp vpn 开机启动

有的人懒的重启后手动开启服务,所以下面我再补上开机自动启动pptp vpn 和 iptables的命令

#chkconfig pptpd on //开机启动pptp vpn服务

#chkconfig iptables on //开机启动iptables

 

有问题请先看log,查google,百度,论坛,有的人连软件下载都不自己去搜索,对于这样的人,我也懒得理睬。

 

贴个openvz的pptp vpn 一件安装包吧:centos,fedora,redhat  6.x 使用的脚本(vps上从没安装过的可以试试这个脚本,不保证一定成功,因为我没测试,只是根据上面的文章内容写的,嫌手动安装难打字):   点击下载

 

 

 

 

 

复制下面代码到install.sh中,然后 sh isntall.sh。这个是只支持debian和ubuntu系列,centos不支持。

 

############################完#############################
如果一件安装包都不知道用,那就真的没法子了

FAQ:

1.报错:重启时候提示

# service pptpd restart
Shutting down pptpd: [失败]
Starting pptpd: [失败]
Warning: a pptpd restart does not terminate existing
connections, so new connections may be assigned the same IP
address and cause unexpected results. Use restart-kill to
destroy existing connections during a restart.

解决办法:根据提示,可能是你重启pptpd服务的时候,没有切断已经存在的连接,所以新的连接会被分配为相同的ip地址,导致一些不可预料的问题。所以你重启 pptpd服务前,先用下面的命令断开当前存在的连接:#service pptpd restart-kill,然后再#service pptpd start

2.有的vps不支持加密连接,导致不能拨号成功登陆vpn。

解决办法:是编辑/etc/ppp/options.pptpd(vim /etc/ppp/options.pptpd),在require-mppe-128前面加个#(# require-mppe-128);

在windows的VPN连接属性里,加密方式选择为可选加密,并允许未加密的密码。

 

3.能够直接用域名作为vpn的拨号地址,而不用vps的ip。因为ip不方便记忆,我自己也记不住自己的服务器的ip。

解决办法:去dns里面设置,将域名设置为A记录,这样就可以直接用域名作为vpn的服务器的地址了。

4.有的链接 pptp vpn时候失败,提示619.

解决办法:执行下面的命令:

# rm -r /dev/ppp

# mknod /dev/ppp c 108 0 然后重启VPS即可。

也可以参考这片文章《VPN连接时提示619错误处理办法及vpn连接成功后无法上网解决办法

centos6.4 安装 搭建 pptp vpn ppp = 2.4.4 is needed by pptpd-1.3.4-2.rhel5.x86_64

转载请注明:大步's Blog » centos 6.4 6.5安装搭建pptp vpn服务

  1. 按照你的教程安装了,正准备使用,等测试好了再来回复!

  2. 在centos 6.3系统搭建的vpn服务,利用windows 7去连接成功!

  3. [root@linux test]# service pptpd restart
    Shutting down pptpd: [失败]
    Starting pptpd: [失败]
    Warning: a pptpd restart does not terminate existing
    connections, so new connections may be assigned the same IP
    address and cause unexpected results. Use restart-kill to
    destroy existing connections during a restart.

    报这个错误为什么?

    • 根据提示,可能是你重启pptpd服务的时候,没有切断已经存在的连接,所以新的连接会被分配为相同的ip地址,导致一些不可预料的问题。所以你重启pptpd服务前,先用下面的命令断开当前存在的连接:#service pptpd restart-kill,然后再#service pptpd start

  4. 客户端机器正常拨号,但是不能上网,要关闭iptables然后执行下面命令就能上网了。
    iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to-source xxx.xxx.xxx.xx

    • 谢谢反馈,我其实已经在教程中谢了iptables的转发规则了,你这种规则的写法也可以。

      • 很奇怪,重新开机后,能登陆,但网页怎么也打不开。。。

        • 所以你把iptables 的nat 转发规则再写一遍,保存好,这样就不会重启后丢失规则了。文章里有

          我记得我博客里写的是保存的,你iptables 设置开机启动没?

          • 确实保存了的,开机也启动了,居然不行。我还照着教程重新配置了一套也无解。是在同一个客户机上做的测试,删除了好几次pptp连接配置都不行,我现在也纳闷了

        • 那估计是本地设置有问题。你把帐号在别的电脑上登录试试,如果是本地问题,你把本地连接vpn 的使用远程网关给取消。

  5. 按照教程一步步的配置了,但是我尝试使用手机的VPN连接是,提示PPTP-VPN服务器未响应。

    • 那么,在我重新安装一遍软件后,并设置一遍后,VPN服务器架设成功,成功连接上,并且可以很好的使用,感谢博主。
      我使用的环境是digitalocean的VPS,系统:CentOs6.4

  6. Pingback: CentOs6.4搭建PPTP VPN | 青春的小站

  7. 為什麼按照這個安裝完成以後使用Mac連接出現

    無法建立輿 PPP 伺服器的連線。請嘗試重新連接。如果問題仍然存在,請驗證您的設定並聯絡管理者。

    並且在安裝過程中使用 rpm -ivh pptpd-1.3.4-1.el6.nux.i686.rpm出現

    [root@arefly ~]# rpm -ivh pptpd-1.3.4-1.el6.nux.i686.rpm
    warning: pptpd-1.3.4-1.el6.nux.i686.rpm: Header V4 RSA/SHA1 Signature, key ID 85c6cd8a: NOKEY
    Preparing... ########################################### [100%]
    package pptpd-1.3.4-1.el6.nux.i686 is already installed

    系統:Cent OS 6 On DigitalOcean

    • 检测服务器pptpd 的服务是否正常,再拨号,或者尝试用另外一台电脑拨号,确定不是服务器的配置问题,那就是本地的配置问题了。出现错误就去看pptp的log ,看具体的报错信息。 另外,你安装那个rpm 包有警告提示,对pptp 安装没影响的.只是验证的问题。

  8. Pingback: 在Cent OS 6內架設PPTP VPN | 暢想資源

    • 注意在iptables的SNAT规则的--to-source 前面是两行。文章在编辑模式下显示是两个横杠,因为用的是英文输入法,所以,发表后就变成了一个横杆,而且在源码下复制粘贴也是一横,只有在编辑模式下才能看清楚是两横。但是可以明显看到to前面的那一横比source前的那横长一些,这些都是我操作记录下的命令,不会有错的。为了防止你们出错,我还是用不同的颜色标记吧。

    • 没有输错,其实是有两个横杠的。文章在编辑模式下显示是两个横杠,因为用的是英文输入法,所以,发表后就变成了一个横杆,而且在源码下复制粘贴也是一横,只有在编辑模式下才能看清楚是两横。但是可以明显看到to前面的那一横比source前的那横长一些,这些都是我操作记录下的命令,不会有错的。为了防止你们出错,我还是用不同的颜色标记吧。

  9. 为什么我的ip不能自动获取,获取到的子网掩码是255.255.255.255,网关是0.0.0.0

      • 192.168.192.120~192.168.192.150,ip是能获取到的,就是子网掩码和网关一直这样,那有应该怎样更改客户端的子网掩码和网关

        • 你试试到vpn连接的属性——网络——internet协议——属性——常规————高级————常规 下面的“在远程网络上使用默认网关”打上勾。看行不行。

        • 默认网关是你的从vpn获取的ip,子网掩码255.255.255.255.下面是我连上后,ipconfig show的:
          PPP adapter baohua.me:

          Connection-specific DNS Suffix . :
          Description . . . . . . . . . . . : WAN (PPP/SLIP) Interface
          Physical Address. . . . . . . . . : 00-53-45-00-00-00
          Dhcp Enabled. . . . . . . . . . . : No
          IP Address. . . . . . . . . . . . : 172.16.36.2
          Subnet Mask . . . . . . . . . . . : 255.255.255.255
          Default Gateway . . . . . . . . . : 172.16.36.2
          DNS Servers . . . . . . . . . . . : 8.8.8.8
          8.8.4.4

          • 哦哦,谢谢啦。不过现在的问题是只要vpn一连上,就上不了网了,dns都设置好的,登陆到路由后,所有的ip都ping不通

          • 那估计是iptables的转发规则没有生效吧,你自己清空规则,然后再按照教程写规则。

  10. 我的vpn服务器是在局域网内的,然后端口映射出去

    • 你家里的电脑现在通过vpn能访问公司内部网络了吗?如果可以,你route print,看下你的Metric值,你将访问公司内部的ip段设置为通过vpn的网关,访问万维网的,就设置你家里原先的网络。

  11. 请问remoteip怎么配置分配的IP可以多网段,又如何让各个网段互访互通,我这样目的想让分配的IP多点。

  12. 请问window客户端拨号后出现691错误,在服务器日志这样显示
    Sep 22 11:55:54 cloud pptpd[4222]: GRE: Bad checksum from pppd.
    Sep 22 11:55:54 cloud pptpd[4222]: CTRL: Ignored a SET LINK INFO packet with real ACCMs!
    Sep 22 11:55:54 cloud pppd[4223]: rc_read_dictionary: couldn't open dictionary /etc/ppp/radius/etc/dictionary : No such file or directory
    Sep 22 11:55:54 cloud pppd[4223]: RADIUS: Can't read dictionary file /etc/ppp/radius/etc/dictionary
    Sep 22 11:55:54 cloud pppd[4223]: Peer hong failed CHAP authentication
    好像说读不了/etc/ppp/radius/etc/dictionary,但这个文件检查一下存在,而且我试着给他全部权限还是没用。
    请问怎么解决?

    • log提示gre被阻止了,可能是防火墙的原因,还有就是我这个只负责纯pptp vpn的,不负责radius的认证相关配置,至于你的环境之类的,我无法回答

  13. Pingback: 下载google play里受地区限制的app的方法 - 大步's Blog | 大步's Blog

  14. Pingback: 关于网上一个加密的shell脚本的解密过程 - 大步's Blog | 大步's Blog

  15. Pingback: ppp = 2.4.4 is needed by pptpd-1.3.4-2.rhel5.x86_64的解决办法及原因 - 大步's Blog | 大步's Blog

  16. 我的VPS是双网卡
    eth0:211.149.200.xx
    eth1:192.168.200.21

    localip 192.168.0.1
    remoteip 192.168.0.234-238,192.168.0.245

    防火墙配置是这样:
    iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to-source :211.149.200.xx

    转发也启动了
    现在情况就是客户端连上,但上不了网,勤俭一下

  17. Pingback: centos 6.4安装搭建pptp vpn服务 | 指尖上的老刘

  18. 楼主 我使用连接vpn的ip是192.168.9.0/24 连接出现868错误 我使用的电脑系统是windows7 vps是digitalocean,系统:CentOs6.4

      • 感谢楼主热心回复。 我是按你教程写得去做的。 192.168.9.0/24 是我设置拨号连接vpn的ip 现在改成192.168.0.24 连接出现800错误

  19. 苦恼啊,为了省事,直接跑了一下一键安装包,出问题了,网络连接消失了,不知道问题出在哪里?网上也找了很多补救方法,还是未能将解决。还希望前辈指导?真的不想重装系统啊。。。

  20. 苦恼啊,为了省事,直接跑了一下一键安装包,出问题了,网络连接消失了,不知道问题出在哪里?网上也找了很多补救方法,还是未能将解决。还希望前辈指导?真的不想重装系统啊。。。

    • 用排除的方法,看看是服务器的问题,还是本地电脑的问题。最好手动安装下,脚本我其实没用过,你最好根据手动的步骤,自己改下脚本。

  21. 博主,这种VPN设置可以设置多个账号吗?如果可以的话,在这个文件里面加上就可以了吧?
    /etc/ppp/chap-secrets

  22. Pingback: ppp = 2.4.4 is needed by pptpd-1.3.4-2.rhel5.x86_64的解决办法及原因 | ╮(╯▽╰)╭GT的个人博客

  23. Pingback: linux的vps centos6.5环境下搭建vpn – TC部落-

  24. Pingback: linux的vps centos6.5环境下搭建vpn | 街角晚灯

  25. Pingback: Linode的Centos6安装pptp | linux | 椰子

  26. 谢谢 成功了 下一步看能不能搞路由表 google去了 3q

  27. 非常感谢你的文章,里面写得很详细,很多点其他文章都没有提到,对于我这种菜鸟是最合适的,非常感谢!

  28. 按步骤安装VPN时候再进行到第四步的时候是可以链接我的VPN的 但是设置过iptables转发以后链接VPN就变成800 然后就变成678了 不知道哪里出的原因

    • 你关闭iptables,看能否正常连接,如果连接正常,就是iptables的规则问题,先清空所有规则,然后再添加我写的规则试试。

  29. 大大,有人说modprobe ppp-compress-18 && echo ok这个命令会出现FATAL: Module ppp_mppe not found。这个不一定不可以安装,用这个命令zgrep MPPE /proc/config.gz检测显示CONFIG_PPP_MPPE=y也可以安装。我的VPS就是这样。装好后可以上网上QQ看视频,就是玩游戏的时候,进去到那个输入用户名和密码的界面弹不出来。用别人的代理测试就没这个问题,这是什么回事?

    • 这原因可能有很多,排除速度,区域之类的情况,问问游戏的技术客服。实在不行就只能抓包看看了。

    • 现在基本所有的vps都是支持vpn的,所以上面那个检测其实是可以直接跳过的。

      • 我换了一个VPS用这个教程做了一次一样的,然后会出现800和807错误,用网上的方法加了一句-A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT,问题解决了。可以连接上VPN,但是又是上不了网了。郁闷
        大大,看看我这个iptables规则是不是有问题
        # Generated by iptables-save v1.4.7 on Mon Mar 2 23:31:58 2015
        *nat
        REROUTING ACCEPT [2:244]
        OSTROUTING ACCEPT [1:76]
        :OUTPUT ACCEPT [1:76]
        -A POSTROUTING -s 192.168.9.0/24 -o eth0 -j SNAT --to-source *.*.*.*
        COMMIT
        # Completed on Mon Mar 2 23:31:58 2015
        # Generated by iptables-save v1.4.7 on Mon Mar 2 23:31:58 2015
        *filter
        :INPUT ACCEPT [0:0]
        :FORWARD ACCEPT [0:0]
        :OUTPUT ACCEPT [65:7732]
        -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
        -A INPUT -p icmp -j ACCEPT
        -A INPUT -i lo -j ACCEPT
        -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
        -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
        -A INPUT -j REJECT --reject-with icmp-host-prohibited
        -A FORWARD -j REJECT --reject-with icmp-host-prohibited
        COMMIT
        # Completed on Mon Mar 2 23:31:58 2015

        • 是的,你的iptables的规则有问题,将最后一条规则-A FORWARD -j REJECT –reject-with icmp-host-prohibited 删除就可以了。

  30. 亲 你好 亲们 搬瓦工安装pptp后,vps上启动pptpd是一直是Starting pptpd:

    关键点:pptpd.conf这个配置文件必须保证最后是以空行结尾才行,否则会导致启动pptpd服务时,出现“Starting pptpd:”,一直卡着不动的问题,无法启动服务,切记呀!

    最后一行回车了 ,还是不行 怎么解决呢?

    • 你是在原来的配置文件修改的吗?直接在原配置文件下修改吧,省的出现不必要的问题。要确保最后一行是空行。我昨天还给搬瓦工的装了pptp,没出现任何问题。

      • 亲 我重新装了cos6.4 按你的教程后出现807错误,启动pptpd 时 Starting pptpd: 过去后 出现另一行# 算过了吗?807怎么解决

        • 估计是被干扰了吧,很多地区容易受到干扰,我自己也放弃使用vpn了,建议换其他类型的vpn或者shadowsocks,见http://www.dabu.info/centos-debian-ubuntu-windows-mac-androidshadowsocks.html。实在不会就使用ss一键安装包。

  31. -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
    -A INPUT -p gre -j ACCEPT
    需要加这两条。。不然807错误

    • 这要看情况,如果默认规则是REJECT,就需要加,如果默认规则是ACCEPT ,就不需要加这两条规则。大部分的人都是设置为ACCEPT,所以我没写这两条。每个人的iptables规则不同,所以建议各位根据自己的实际情况来决定iptales的规则。

  32. 报告楼主,可以拨号,可以上网,但是很奇怪始终没法获取DNS,用windows自建VPN连接,如果自动获取DNS就没法打开网页,但是自己设定DNS就可以,奇怪了。

      • 啊,不好意思,是我没说清楚。是这样的,我可以成功拨号,但是网页始终无法打开,原本以为是转发规则的问题,仔细检查后发现转发规则没有问题。后来发现拨号连接成功后,如果是输入网站的IP,可以访问,但如果直接输网址就显示无法访问了。仔细检查了您文中提的options.pptpd文件,里面也加上了相关的指令,包括更改不同的DNS服务器地址,都不行。WIN7环境下我可以通过取消自动获取DNS来指定实现网站访问,但是我的IPHONE连接上以后没法用。求大步兄帮忙,哦对了,我的邮箱地址是guancn#gmail.com 麻烦将#改成@。 谢谢!

          • 大步兄,感谢答复。我查了一下我的VPS,DNS设置正常的,该VPS自己的DNS就是8.8.8.8,直接登陆VPS解析域名和访问网站是正常的。但是连接到VPN通道以后,PPTP内设置的DNS始终不生效,已经尝试两天了,试了各种办法,貌似都不行。不知道你有没有相关问题的处理经验。

            再次感谢!!

          • 要么看看是不是防火墙策略的问题吧,清空下规则,设置默认策略为通过。你的问题我从没有遇到过。我这网络被限制了,vpn也用不了。

          • 好吧,谢谢了,我自己再研究研究。本机和VPS上的防火墙我都清了,没用。

          • 刚回复,重新试了一下,竟然顺利解决了。/etc/ppp目录下不知道为啥有options和options.pptpd两个文件,我之前一直闷着头改options.pptpd这个文件里的DNS设置,始终没有反应,刚才在options里把设置加上,成功了。

          • 晕死,默认是用option.pptpd这个文件的,你自己改错了文件,服了你们了,都不仔细看教程。

          • 不是啊老大,默认的是option文件,不是option.pptpd这个文件。我一直改option.pptpd文件没用。改option文件才正常了。

          • 无语了,我都装了n多次了,难道我还会记错,你直接看/etc/pptpd.conf里面,看看写的是什么,都是默认的option /etc/ppp/options.pptpd 。除非你更改了

  33. /etc/pptpd.conf
    请问这个配置文件是空的可能是什么原因造成的?

  34. 配置文件/etc/pptpd.conf
    请问这个文件打开是空的可能是什么原因?

  35. 我搭建成功。连接也成功,但是不能上国外的网站。ifconfig 可以查看到vps的ip

      • 我刚看了,查看ip时,显示的是国内的ip,但是服务器的地址是国外的。服务器可以ping通谷歌和facebook。我的ppp适配器vpn连接.dns为8.8.8.8 8.8.4.4,还有个ppp适配器chinanetsnwide,估计是我连接的学校电信网的。显示的dns是218.30.19.50 61.234.1.5

        • 请问你是怎么搞定的,我遇到可和你同样的问题。连接成功了,可以上qq。上国内的网站,就是不能上国外的网站。

          • 你看你能不能ping通国外网站的ip,如果可以就是dns的问题。要么就是网管设置的问题

  36. remoteip 192.168.9.11-30 //表示vpn客户端获得ip的范围
    我忘记删掉 //表示vpn客户端获得ip的范围 这句话了....无语.
    对了,这个IP地址一定是192.168.9.* 吗?
    为什么是这个呢?

  37. 我又来,我有个问题想问问。我们实验室(大学的一个小组织)的dns和dhcp是自己搭建的连接时显示619,我怀疑是没有开始nat功能,就像你那个文章说的那样。但是我根本不知道怎么解决,可否指条明路?

    • 连接V@P*N提示619?这和dns没多大关系,dncp的话,我不知道你们的网络拓扑,搞不清具体的意思。iptables没开nat,V@P*N也是可以连上的,只不过是不能打开网页而已。619的原因比较多,你要自己排查,可能是网关支持不好,可能是加密之类的设置问题。

  38. 提示 错误807
    对了,我的vps开启了防火墙,就是固定的几个22 80等端口打开了,其他都没打开.
    跟这个有关系吗?

    • 这个原因有多种,要自己排查,你可以先开放所有端口,看是否正常。或者让别的地区的人试试能够连接登录。

  39. 用你这个教程搭了好几个美国的vpn,都成功了。
    但是conoha.jp怎么都失败,不是800,619,就是807。好几遍了都不能连。

  40. 太感谢了。下面这句对我这个小白帮了大忙
    如果你的外网网卡不是eth0,而是eth1(比 如SoftLayer的服务器就是这样的情况),那么请记得将eth0也更改为对应的网卡编号,不然是上不了网的!

  41. 我要service iptables stop才能在win7上连接成功,不知为何,是不是转发规则没有起效?谢谢你!

    • 你关闭iptables之后才能连接pn?那说明的iptables的规则把vpn给挡住了,你先清空iptables规则,然后再添加我文章里的相关的nat转发规则

  42. 我通过cat /etc/sysconfig/iptables

    # Generated by iptables-save v1.4.7 on Tue Jul 14 23:36:21 2015
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [740:78748]
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT
    # Completed on Tue Jul 14 23:36:21 2015
    # Generated by iptables-save v1.4.7 on Tue Jul 14 23:36:21 2015
    *nat
    REROUTING ACCEPT [15:1242]
    OSTROUTING ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A POSTROUTING -s 192.168.9.0/24 -o eth0 -j MASQUERADE
    -A POSTROUTING -s 192.168.9.0/24 -o eth0 -j SNAT --to-source 172.30.23.78
    COMMIT
    # Completed on Tue Jul 14 23:36:21 2015

  43. 172.30.23.78 是配置vpn服务器的ip地址
    # ifconfig
    eth0 Link encap:Ethernet HWaddr 00:0C:29:28:B5:53
    inet addr:172.30.23.78

  44. 在host1plus上的centos6 64位上按照教程一步一步来了。可以拨号连接,但是只能访问VPS的地址,其他的全是解析错误....

  45. 你好,博主,我问下,在设置pptpd.conf时候的localip意思是vps的内网ip,还是指的将要连接这台vps的远程客户端的ip,而iptables -t nat -A POSTROUTING -s 192.168.9.0/24 -j SNAT --to-source 207.210.83.140这个207210.83.140指的vps公网ip就是vps售卖者给我的那个ip?和我们在系统下用ifconfig查到的eth 0 显示的ip是一样的?还有如果192.168.9.1第三段就是9这个数字很大,比如是192.168.159.46这个要如何改成类似192.168.9.0/24的这种格式?希望能够帮忙看看并给出答案,谢谢。

    • localip就是vpn拨号之后获得的ip,你随便设个局域网段就可以了。 iptables里的转发规则里的207.210.83.140代表的是你购买的vps的ip,就是你ssh连接时候用的ip。至于你说的什么192.168.159.46之类的,你就之间写成192.168.159.0/24就可以了。

  46. 非常感谢,我这边已经摆平了,而且可以上网了,唯一的遗憾就是还不懂如何才能加快网络速度,不知mtu值的设定能为我的网络加快多少。我之前有了解到,一些高手用ros做踏板来搭建vpn,而另外一些高手是用的中国机房的vps,然后再和美国的vps互连,然后再用本地电脑接入,这样做的速度听说也不错。其实我想知道博主有没ipsec+l2tp的方式,或者是ipsec+ike方式的搭建步骤。

    • ipsec+l2tp 网上有很多脚本和教程的,我现在都不怎么用vpn了,都采用shadowsocks的方式。如果想vpn的快,大部分的只能看你vps的线路了。

  47. 谢谢博主,教程写的清晰详细,一次性配置成功了。

  48. 多谢楼主,总算一步一步的安装成功了
    过程中遇到的几个问题
    1:开启iptables提示
    iptables: No config file. [WARNING]
    解决办法
    touch /etc/sysconfig/iptables
    2: bandwagonhost的vps,网卡地址是venet0
    其他就没什么问题了

  49. 执行
    # /sbin/sysctl -p
    这一步的时候错误提示如下:
    net.ipv4.ip_forward = 1
    net.ipv4.tcp_syncookies = 1
    error: permission denied on key 'net.bridge.bridge-nf-call-ip6tables'
    error: permission denied on key 'net.bridge.bridge-nf-call-iptables'
    error: permission denied on key 'net.bridge.bridge-nf-call-arptables'
    请各路大神指导指导,服务器环境是 OpenVZ VPS centos-6-x86_64-minimal

  50. 谢谢,按照设置一步步来,连接好了,手机能番茄了。但是,有一个问题,我一开始是用iphone5连接VPN的,能翻。墙,但其他手机,电脑,能连接上VPN,但是不能上google,油管等,即使iphone5这边没连接,只剩其他手机一台在连,也是不能上网,也就是说,按照教程弄好后,手边的设备只有唯独iphone5这台手机能上,请问是怎么回事?

      • 谢谢,之后我重新设置了其他iOS设备的VPN配置信息,把发送所有流量勾选中,就能用了,但是iphone5不用勾选也能用。不过电脑论如何设置都不能拨上号,win10系统,提示无法验证服务器身份,网上搜了好久,各种安全设置选项都试过了,还是不能上,以前有用过网上找的免费的VPN,直接拨号就能上,自己搭建的却不能,请问是我设置问题吗?

      • 你好,我之后重新设置了其他ios设备的VPN配置信息,把发送所有流量勾选就能用了,但是电脑却不能上,试了03 win7 win10 均不能拨上号,无法验证服务器身份,请问要怎么解决?

        • 估计是本地设置问题的吧,我给网友搭建的既可以在ios上用也可以在win上用

  51. 你好,我之后重新设置了我的其他iOS设备的VPN配置信息,把发送所有流量勾选就能上了,但是电脑却怎么都不能拨上号。试了03、 win7 、win10、都不行,显示是无法验证服务器身份,以前有上网搜过免费的VPN,直接拨号就能用,这次自己搭建的手机能用,但电脑却怎么也不能用,请问这要怎么解决?

  52. 问下现在遇到个问题 vpn连接上了但是不能上网啊。。。但是qq能登陆 ,请问这个是什么原因

  53. 您好我的ppp版本是 ppp.i686 2.4.5-10.el6 @base,能不能帮我找一下对应的pptpd版本,您提供的网站我打开显示出错,有点技术小白,谢谢

  54. -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-A INPUT -p tcp -m tcp --dport 1723 -j ACCEP# Generated by iptables-save v1.4.7 on Wed Aug 24 14:59:43 2016
    *nat
    :P REROUTING ACCEPT [26:1742]
    :P OSTROUTING ACCEPT [25:1439]
    :OUTPUT ACCEPT [0:0]
    -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to-source 47.89.186.177
    -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
    -A INPUT -p gre -j ACCEPT
    COMMIT

    大神,你好,按照你的步骤,我搭建之后,现在能拨号,ping没问题,就是不能上网。不知道是不是我的转发规则有问题。

  55. 我按照你的方法一步步去弄,怎么还是619,所有设备都已连接 619不能建立到远程计算机的连接,因此用于此链接的端口已关闭。怎么解决?

  56. 通过此配置之前成功搭建VPN,也能正常上网,但是今天突然就报807错误,上服务器检查了配置,都是正确的,且用同样配置的另外一台服务器可用,这台机子上的sock代理也可以使用,就VPN不能,请教什么原因,是被干扰了么。

SiteMap