文档章节

Linode VPS CentOS 5.5 安装 pptpVPN

Jacky.Wang
 Jacky.Wang
发布于 2011/03/08 22:33
字数 2269
阅读 10797
收藏 11

一、前言
没有什么前言,就是简单介绍一下标题中提到的一些名词
1、Linode VPS:很有名的一家Linux专业VPS供应商,国内访问速度还不错。http://www.linode.com
2、CentOS:著名的Linux发行版。http://www.centos.org
3、pptp:与OpenVPN齐名的VPN服务器。

二、安装环境
我购买的是Linode 512MB内存的VPS,安装了CentOS 5.5 64bit。

三、注意事项
1、安装过程需要root权限
2、需要注意的地方加粗显示

四、服务端安装步骤
1、用secureCRT登录CentOS。为了安全起见,可以先用普通用户登录,而后再使用su -命令及root密码切换到root用户。

2、因为pptp需要MPPE的支持,所以首先检测系统是否符已经编译了MPPE。如果没有,那请您别往下看了。
下面介绍两种检测方法,只要符合其中的一条就可以

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命令查看。

3、由于pptp需要iptables支持,所以需要安装iptables。如果您的服务器上已经安装了iptables,那么可以只安装pptp

yum install -y ppp iptables

注意:这里先安装的是ppp而不是pptp,不要打错了。另:PPP是一种数据链路层协议类似我们熟知的pppoe
接下来就是一大堆的信息,无非是寻找最快的源,找到后下载相关安装包,下载完成自动安装。
如果回到提示符状态,并且安装结果为Complete!,说明安装成功。

……
……
Complete!
[root@HOSTNAME ~]#

 

4、安装pptp
由于pptp没有存放在CentOS的源中,所以用yum命令安装返回的是找不到安装包

[root@HOSTNAME ~]# yum install pptp
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: mirrors.cat.pdx.edu
 * base: mirrors.easynews.com
 * extras: mirrors.xmission.com
 * updates: mirrors.versaweb.com
addons                                                                                          |  951 B     00:00   
base                                                                                            | 2.1 kB     00:00   
extras                                                                                          | 2.1 kB     00:00   
updates                                                                                         | 1.9 kB     00:00   
Setting up Install Process
No package pptp available.
Nothing to do
[root@HOSTNAME ~]#

安装pptp需要使用rpm命令直接从网站上下载并安装,这里要注意的是:pptp分为32bit版和64bit版,大家可以根据需要下载
rpm -ivh http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm (32位系统使用)
rpm -ivh http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm (64位系统使用)
下载和安装过程都很快,安装包很小

5、配置pptp
(1)编辑/etc/pptpd.conf

vi /etc/pptpd.conf

#localip 192.168.0.1
#remoteip 192.168.0.234-238,192.168.0.245

修改成

localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245

即将这两行第一个字符“#”去掉
保存退出
注意:此处的remoteip指定的IP范围是用来给远程连接使用的。如果您远程访问VPN,VPN就会在remoteip范围内分配一个ip地址给你。localip的值直接影响到后面要说的iptables转发规则的编写,所以建议不要随意改动

(2)编辑/etc/ppp/options.pptpd

vi /etc/ppp/options.pptpd

#ms-dns 10.0.0.1
#ms-dns 10.0.0.2

改成

ms-dns 8.8.8.8
ms-dns 8.8.4.4

即将这两行第一个字符“#”去掉,而后修改DNS的IP。
这里使用的是Google发布的Public DNS,您也可以修改为OpenDNS的IP,即

ms-dns 208.67.222.222
ms-dns 208.67.220.220

保存并退出

(3)设置使用pptp的用户名和密码

vi /etc/ppp/chap-secrets

打开后只有两行,而且一个账号都没有

# Secrets for authentication using CHAP
# client        server  secret                  IP addresses

根据您的需要添加账号,每行一个。
按照:“用户名 pptp 密码 ip地址”的格式输入,每一项之间用空格分开,例如:vpnuser pptp 123456 *
保存并退出

6、修改内核设置,使其支持转发。

vi /etc/sysctl.conf

net.ipv4.ip_forward=0

改成

net.ipv4.ip_forward=1

net.ipv4.tcp_syncookies = 1

改成

#net.ipv4.tcp_syncookies = 1

即行首添加“#”
保存并退出
执行以下命令使修改后的内核生效

sysctl -p


7、添加iptables转发规则
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 12.34.56.78
(适合于OpenVZ架构的VPS,12.34.56.78为您VPS的公网IP地址)
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
(适合于XEN架构的VPS)
以上两条命令分别对应OpenVZ架构和XEN架构的VPS,您的VPS是什么架构需要询问供应商。Linode采用的是XEN架构,所以输入

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERAD

添加好转发规则后保存一下并重启iptables

/etc/init.d/iptables save
/etc/init.d/iptables restart

注意:这里我遇到过两个错误,具体见附录

8、重启pptp服务

/etc/init.d/pptpd restart

这里要注意一下,其实此时pptp还没运行起来。所以使用restart重启,会显示Shutting down pptp [FAILED]。还会有一个警告,可以忽略。如不放心可以再用以上命令重启一下pptp就非常顺利的运行了。

9、设置pptp和iptables随系统启动

chkconfig pptpd on
chkconfig iptables on

如果出现错误619则输入命令

mknod /dev/ppp c 108 0

注意:我没有遇到619错误,所以以上命令是否有效未知


至此pptp服务端安装全部结束

五、客户端设置
(1)WinXP
a、鼠标右击“网络邻居”在弹出框中选择“属性”
b、在“网络连接”窗口左侧点击“创建一个新连接”,并在弹出框中选择“下一步”
c、选择“连接到我的工作场所的网络”,点击“下一步”
d、选择“虚拟专用网络连接”,点击“下一步”
e、输入VPN的名称,点击“下一步”
f、输入主机名IP,也就是您VPS服务器的IP地址或者域名,点击“下一步”
g、点击“完成”
每次需要使用VPS时只需双击连接图标,然后输入用户名和密码,等待一会儿就可以youtube了

(2)Win7(Vista)
a、点击“开始”,选择“控制面板”
b、选择“网络和Internet”
c、选择“网络和共享中心”
d、选择“设置新的连接或网络”
e、在弹出框里选择“连接到工作区”,点击“下一步”
f、选择“使用我的Internet连接(VPN)(I)”
g、在“Internet地址”中输入VPN服务器的IP地址或者域名,“目标名称”可以随便填,勾选最下面的“现在不连接:仅进行设置以便稍后连接”。点击“下一步”
h、输入VPN的用户名和密码,点击“创建”
创建完成后就可以连接了,连接方法同WinXP。

至此客户端设置全部完成。

六、附录:我遇到的问题

1、在重启iptables时

/etc/init.d/iptables restart
Setting chains to policy ACCEPT: security raw nat mangle fi[FAILED]

出现这个错误的原因是Linode VPS安装CentOS 5.5以后内核版本(Latest 2.6 Paravirt)造成的,需要到Linode的控制面板中将Latest 2.6 Paravirt改成Latest 2.6 Stable。
解决方法:
(1)Navigate to the “Linodes” tab.
(2)Select your Linode from the list.
(3)Click the “My CentOS 5.5 Profile” link on your dashboard.
(4)Select the “Latest 2.6 Stable” kernel from the “Kernel” drop-down menu.
(5)Click the “Save Profile” button.
(6)Click the “Reboot” button located to the right of your configuration profile.

2、在重启iptables时

/etc/init.d/iptables restart
Applying iptables firewall rules: iptables-restore v1.3.5: iptables-restore: una ble to initializetable ‘security’  Error occurred at line: 2 Try `iptables-restore -h’ or ‘iptables-restore –help’ for more information. [FAILED]

主要由于在/etc/sysconfig/iptables下保留了一份有问题的iptables规则文件。
解决方法:将原有的iptables复制备份后删除,而后再重启

mv /etc/sysconfig/iptables /etc/sysconfig/iptables.disabled
/etc/init.d/iptables restart


3、Win7客户端能够连接VPS但不能访问网页(国内的都不行)
网上有资料说在Win7下设定VPN网络连接时需要将“安全”选项卡中的“质询握手身份验证协议(CHAP)”关闭,并且还要关闭VPN网络连接IPv4中的“在远程网络上使用默认网关”。
一开始我是这么操作的,但是VPN可以连接,但就是访问不了网页,连新浪都访问不了。后来没有关闭以上说的两项,反而畅通无阻。我想之所以需要关闭以上的两项可能是和客户端所处的网络环境(就是内网)有关,大家可以多试试,不要一棵树上吊死。


【全文完】
本文参考了许多网络资料以及我的实际操作,如果您觉得某些文字侵犯了您的版权请及时与我联系,我会第一时间修正。

谢谢

© 著作权归作者所有

共有 人打赏支持
Jacky.Wang
粉丝 96
博文 33
码字总数 39948
作品 0
浦东
程序员
加载中

评论(16)

MaxWU
MaxWU

引用来自“Jacky.Wang”的评论

引用来自“kuro”的评论

按照这个安装pptp的时候,提示
erro:Failed dependencies
ppp = 2.4.4 is needed by pptpd-1.3.4-1.rhel5.1.i386

求大神,什么原因呢、、

从错误信息中知道缺少pptpd-1.3.4-1.rhel5.1.i386这个文件,先安装这个再尝试安装其它的软件包
从信息看, 是要安装PPP在前, 然后安装pptpd, 依赖关系也是这么设置的. "ppp = 2.4.4 is needed by pptpd-1.3.4-1.rhel5.1.i386"
开源中国心灵排骨汤
开源中国心灵排骨汤
我是centos6.5 iptables重启也是这个报错 Setting chains to policy ACCEPT: security raw nat mangle fi[FAILED] 怎么办呢 还是选中内核?
Q406483628
Q406483628
linode优惠码:
如果购买的时候想要获得优惠, 在 referral code 栏中填写 f75475775cd246c79b12f6679466cfb7fa9aada2 ,并选择一次性年付,则可以获得10%的优惠。
kuro
kuro
报800错误。。。。不知道什么原因。哎。
kuro
kuro
在别的地方找了一个pptpd-1.3.4-1.rhel5.1.i386,sourceforc上的软件下载不了。
但是按照此法连接后,xp系统访问vpn报619错误。。
Jacky.Wang
Jacky.Wang

引用来自“kuro”的评论

按照这个安装pptp的时候,提示
erro:Failed dependencies
ppp = 2.4.4 is needed by pptpd-1.3.4-1.rhel5.1.i386

求大神,什么原因呢、、

从错误信息中知道缺少pptpd-1.3.4-1.rhel5.1.i386这个文件,先安装这个再尝试安装其它的软件包
kuro
kuro
按照这个安装pptp的时候,提示
erro:Failed dependencies
ppp = 2.4.4 is needed by pptpd-1.3.4-1.rhel5.1.i386

求大神,什么原因呢、、
张宇星
张宇星
网上有在Xen上面安装pptpd VPN的一键安装包:
http://www.hi-vps.com/wiki/doku.php?id=xen_vps_install_pptpd
唐昌林

引用来自“邓扬”的评论

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERAD

第二句错了 最后少加了个E

真的是。怪不得报错。应该是
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
a
asdada
按照楼主的方法配置成功了,在连接VPN后,可正常访问twitter、youtube等网站,但是QQ显示的登录地点却没变,这是怎么回事?
搭建Linode的 Vps pptp Vpn 服务

Linode 口碑还是不错的。只不过价格有点小贵。20刀每月,只能用信用卡支付!。不过一分钱一分货,用起来速度妥妥的 下面介绍下在Mac 下搭建Linode 的VPN 服务 首先得注册一个Linode 账号。。如...

求学ing
2014/09/15
0
0
linode上centos 6.5 x86_64变更kernel

linode上的vps默认使用linode直接提供的最新4.1.5内核,你可以在node的profile里修改kernel版本为你要用到的版本,然后用PV-GRUB运行熟悉的发行版提供的最新内核。 1,升级系统软件 yum upda...

hiwill
2015/09/15
829
0
Linode VPS(CentOS 7)无法访问,只能通过后台Lish Web Console登录,咋回事?

linode vps(CentOS 7),IP ping不通,上面的网站无法访问,Putty无法访问,用FQ工具也无法访问(排除被墙可能)。 通过linode后台进入看,vps并未异常关闭,任然是Running状态,lish web ...

天台道人
2014/10/03
1K
9
Linode,绝对好用的 VPS

这些年,把大大小小的美国主机使用了个遍后(包括bluehost,hostmonster,hostgator,dreamhost,justhost等等),终于搬到了linode vps上面。确定Vps之前搜索了很多vps的评论,发现大家对l...

龙鸟
2014/03/09
0
2
给你的Linux装一个"D盘"

在windows上我们都习惯把硬盘分成至少两个分区,一个C盘用来装系统,一个D盘用来存资料。这样如果要重装系统的话,只要格式化C盘重装系统就好了,D盘的数据并不会丢失。相信这是大多数人在win...

fifadxj
2015/12/01
189
3

没有更多内容

加载失败,请刷新页面

加载更多

使用rancher界面化管理docker并部署springCloud项目的其中一个服务

一、先来个简单的 1.安装docker 2.安装eureka——运行docker命令安装 3.安装eureka——运行dokcer镜像安装 (1)构建eureka的镜像,网易云的docker镜像比较全一些,也可以去https://hub.docke...

monroeCode
12分钟前
2
0
理论与实践:如何从Hadoop迁移到MaxCompute

摘要:MaxCompute大数据计算服务,能提供快速、完全托管的PB级数据仓库解决方案,能够使用户经济且高效地分析处理海量数据。而用户往往之前使用了Hadoop实现大数据计算任务,在选择了阿里云大...

阿里云云栖社区
13分钟前
1
0
mysql: utf8 && utf8mb4

https://mathiasbynens.be/notes/mysql-utf8mb4 临时收藏

阿dai
24分钟前
1
0
面试宝典系列-nginx限流

Nginx自身有的请求限制模块ngx_http_limit_req_module、流量限制模块ngx_stream_limit_conn_module基于令牌桶算法,可以方便的控制令牌速率,自定义调节限流,实现基本的限流控制。 如何Ngi...

suyain
25分钟前
0
0
下拉框选择数据过滤?

需求:下拉框数据新增一条数据,已选择的不能再重新被选择 数据:存放表格数据的数组 scoreTable 下拉框数据 catorgaryArr 定义一个已经选择了的id数组 catorgaryIds 实现: arr 使用来保存每...

西园里的猫
30分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部