centos 6.4_64位安装搭建pptp vpn服务

今天在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
下面介绍两种检测方法,只要符合其中的一条就可以

zgrep MPPE /proc/config.gz

返回

CONFIG_PPP_MPPE=y

或者

cat /dev/net/tun

返回

cat: /dev/net/tun: File descriptor in bad state

恭喜您,可以安装了!
网上大多数资料还提到了另一个测试命令

modprobe ppp-compress-18 && echo ok

如果返回“OK”说明可以安装PPTP,我查了一下,这个命令是在CentOS 4.4版本中有人提出的,但是经过实际测试,发现在我的环境中非但没有效果,而且报错,运行后结果如下:

[root@HOSTNAME ~]# modprobe ppp-compress-18 && echo ok 
FATAL: Module ppp_mppe not found. 
[root@HOSTNAME ~]#

一开始我傻掉了,内牛满面,原以为无法安装了。
后来用上面提到的zgrep MPPE /proc/config.gz命令查看后表明可以安装,而事实证明确实如此。
所以如果modprobe ppp-compress-18 && echo ok没有显示“OK”甚至报错,并不代表不能安装。最好还是用zgrep MPPE /proc/config.gz命令查看。

上述两条均通过,才能安装pptp。否则就只能考虑openvpn,或者请vps空间商的技术客服为你的VPS打开TUN/TAP/PPP功能了,貌似有部分vps控制面板上提供打开TUN/TAP/PPP功能的按钮。
Cent os 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安装时已经包含了
#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.5.0——————>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

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

options.pptpd内容如下:

name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
idle 2592000
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

pptpd.conf内容如下:

option /etc/ppp/options.pptpd
logwtmp
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//你需要将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

#/sbin/service pptpd retart 或者 #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 一件安装包吧:复制下面代码到install.sh中,然后 sh   isntall.sh。这个在ubuntu和debian上测试没问题,不知道你centos怎么样,可以试试,如果可以请通知我:

#!/bin/bash
# Interactive PoPToP install script for an OpenVZ VPS
# Tested on Debian 5, 6, and Ubuntu 11.04
# April 2, 2013 v1.11
# http://www.putdispenserhere.com/pptp-debian-ubuntu-openvz-setup-script/

echo "######################################################"
echo "Interactive PoPToP Install Script for an OpenVZ VPS"
echo
echo "Make sure to contact your provider and have them enable"
echo "IPtables and ppp modules prior to setting up PoPToP."
echo "PPP can also be enabled from SolusVM."
echo
echo "You need to set up the server before creating more users."
echo "A separate user is required per connection or machine."
echo "######################################################"
echo
echo
echo "######################################################"
echo "Select on option:"
echo "1) Set up new PoPToP server AND create one user"
echo "2) Create additional users"
echo "######################################################"
read x
if test $x -eq 1; then
echo "Enter username that you want to create (eg. client1 or john):"
read u
echo "Specify password that you want the server to use:"
read p

# get the VPS IP
ip=`ifconfig venet0:0 | grep 'inet addr' | awk {'print $2'} | sed s/.*://`

echo
echo "######################################################"
echo "Downloading and Installing PoPToP"
echo "######################################################"
apt-get update
apt-get -y install pptpd

echo
echo "######################################################"
echo "Creating Server Config"
echo "######################################################"
cat > /etc/ppp/pptpd-options <<END
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
nodefaultroute
lock
nobsdcomp
END

# setting up pptpd.conf
echo "option /etc/ppp/pptpd-options" > /etc/pptpd.conf
echo "logwtmp" >> /etc/pptpd.conf
echo "localip $ip" >> /etc/pptpd.conf
echo "remoteip 10.1.0.1-100" >> /etc/pptpd.conf

# adding new user
echo "$u    *    $p    *" >> /etc/ppp/chap-secrets

echo
echo "######################################################"
echo "Forwarding IPv4 and Enabling it on boot"
echo "######################################################"
cat >> /etc/sysctl.conf <<END
net.ipv4.ip_forward=1
END
sysctl -p

echo
echo "######################################################"
echo "Updating IPtables Routing and Enabling it on boot"
echo "######################################################"
iptables -t nat -A POSTROUTING -j SNAT --to $ip
# saves iptables routing rules and enables them on-boot
iptables-save > /etc/iptables.conf

cat > /etc/network/if-pre-up.d/iptables <<END
#!/bin/sh
iptables-restore < /etc/iptables.conf
END

chmod +x /etc/network/if-pre-up.d/iptables
cat >> /etc/ppp/ip-up <<END
ifconfig ppp0 mtu 1400
END

echo
echo "######################################################"
echo "Restarting PoPToP"
echo "######################################################"
sleep 5
/etc/init.d/pptpd restart

echo
echo "######################################################"
echo "Server setup complete!"
echo "Connect to your VPS at $ip with these credentials:"
echo "Username:$u ##### Password: $p"
echo "######################################################"

# runs this if option 2 is selected
elif test $x -eq 2; then
echo "Enter username that you want to create (eg. client1 or john):"
read u
echo "Specify password that you want the server to use:"
read p

# get the VPS IP
ip=`ifconfig venet0:0 | grep 'inet addr' | awk {'print $2'} | sed s/.*://`

# adding new user
echo "$u    *    $p    *" >> /etc/ppp/chap-secrets

echo
echo "######################################################"
echo "Addtional user added!"
echo "Connect to your VPS at $ip with these credentials:"
echo "Username:$u ##### Password: $p"
echo "######################################################"

else
echo "Invalid selection, quitting."
exit
fi

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

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

 

来源:http://www.dabu.info/centos6-4-structures-pptp-vpn.html

文章来源于网络或者作者投稿,若有侵权请联系删除,作者:老钟,如若转载,请注明出处:https://www.laoz.net/599.html

(1)
上一篇 2014 年 07 月 01 日
下一篇 2014 年 07 月 22 日

相关推荐

  • 外贸好事,美国提高进口免税额至800美元

    美国总统奥巴马近日签署了一项法案,将美国国民海外进口物品的免税额从原来的200美元提高至800美元,此法案将于2016年3月10起正式生效。 众所周知,美国历来是eBay大中华区卖家零售最大、最重要的目的地市场,并...

    2016 年 03 月 14 日
  • 开发外贸的7大主流渠道和工具

    一、外贸工具:  网站全球统计 http://www.alexa.com Google 产品关键词http://www.google.com/adwords Google 全球产品商机:http://translate.google.com/globalmarketfinder/index.html?locale=zh_CN#ren_US G...

    外贸运营推广 2014 年 08 月 01 日
  • 橱窗关键词六大神器

    每天奋斗在发布产品第一线的外贸亲们都有这种感觉,发布产品的时候想关键词是最头疼的,尤其是橱窗产品的关键词,是公司网站最重要的引流渠道之一,到底该怎么样设置能又有热度又不重复呢? 以下是呕心沥血的经验...

    2014 年 05 月 11 日
  • 谷歌地图Google Maps商家数据下载

    谷歌地图上有很多我们的目标客户,今天来教一下大家如何通过免费工具批量抓取谷歌地图上的目标客户数据。 首先我们下载并安装Google插件 Instant data scraper。   Instant data scraper 是外贸运营最常用的...

    2023 年 03 月 02 日
  • 如何自主注册美国商标?

    如何自主注册一个商标? 1、登录美国商标局网站。 2、点击Apply Online在线申请 点击 Initial Application forms 进入申请介绍页面。 3、输入邮箱 能接收邮件的邮箱即可。 4、保存原有记录 输入申请人/公司对应信...

    外贸运营推广 2022 年 11 月 03 日
  • 客户的真正需求,你了解了吗?

    你需要了解的5点: 1、客户告诉你的,客户想要的,不一定就是他真实需要的。 2、了解客户的真实需要,除了靠问,靠引导,还要靠自身对目标市场、目标客户和自身产品的了解。 3、没有几年时间的沉淀,不可能培养出...

    外贸运营推广 2014 年 06 月 14 日
  • 怎样才能写好开发信?看了会受益匪浅

    外贸开发信,外贸业务员必须要去做的一件事,为了提高收入,各种方式,各种尝试,只为了提高销售额,提高收入! 那么很多人写了开发信,发出去了,但是却是石沉大海,没有得到回音,确实要值得思考的一个问题~ 开...

    2014 年 04 月 28 日
  • 阿里找词,用布尔运算做减法,精准定位关键词

    大家都知道数据关键中的热门搜索词的重要性,也在经常用,会不会出现很多与我们产品无关的关键词,但是限定条件太精准的话又找不到太多匹配的词? 比如我们想要搜素与solar light相关的词,输入会出现368页相关关键词...

    2014 年 06 月 07 日
  • 外贸口语,英文字母读法,军用英文字母读法

    外贸过程中,很多时候会使用到skype与外国客户打电话,这个就是所谓的电话销售! 如果你要求老外给你邮箱地址,一般为了方便记忆,他们会使用军用英文字母读法,例如 :美国人字母读法  T =  Tango 所以,无论别...

    外贸运营推广 2014 年 08 月 05 日
  • 如何利用Google Adwords来获取外贸直通车关键词

    Google是一家令人敬佩的公司,他所开发的Adwords里面有一个很好用的关键词工具(现已更名为【关键字规划师】),我们可以利用它来获取一些在Google上比较热门的关键词。   因为有很多童鞋表示不会用,不知道怎...

    2014 年 05 月 06 日

评论列表(3条)

  • 鸿念网 2014 年 08 月 17 日 下午 11:44

    值得分享,值得好评。

  • http://www.myxieji.com 2014 年 07 月 22 日 上午 9:48

    好厉害的样子。。

  • 广告联盟 2014 年 07 月 21 日 下午 1:10

    技术高手我很喜欢啊