注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天马行空

宠辱不惊,闲看庭前花开花落;去留无意,漫观天外云展云舒……

 
 
 

日志

 
 
 
 

CentOS 5.5下搭建pptp VPN  

2010-11-19 15:12:30|  分类: 程序设计 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
CentOS 5.5下搭建pptp VPN
PS:XEN虚拟机及新版本OpenVZ虚拟机都可以用pptp搭建VPN。

废话不说,下面我们就开始在CentOS 5.5下搭建pptp的VPN吧!本教程同样适用于CentOS 5.0~5.4的任意一个版本。


1、检查服务器是否有必要的支持。如果检查结果没有这些支持的话,是不能安装pptp的。执行指令:

#modprobe ppp-compress-18 && echo ok(用模块方式支持MPPE加密模式浏览,如果内核支持检测不到。

这条执行执行后,显示“ok”则表明通过。不过接下来还需要做另一个检查,输入指令:

#cat /dev/net/tun

如果这条指令显示结果为下面的文本,则表明通过:

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

上述两条只要下面一条通过,就能安装pptp。如果还有其它问题,或者请你的服务商来解决这个问题。

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.0.1
remoteip 192.168.0.234-238,192.168.0.245

注意,这里的IP段设置,将直接影响后面的iptables规则添加命令。请注意匹配的正确性,

如果你嫌麻烦,建议就用本文的配置,就可以一直复制命令和文本使用了。

接下来我们再编辑/etc/ppp/options.pptpd文件,为VPN添加Google DNS:

#vim /etc/ppp/options.pptpd

在末尾添加下面两行:

ms-dns 8.8.8.8
ms-dns 8.8.4.4

5、设置pptp VPN账号密码。我们需要编辑/etc/ppp/chap-secrets这个文件:

#vim /etc/ppp/chap-secrets

在这个文件里面,按照“用户名 pptpd 密码 *”的形式编写,一行一个账号和密码。

比如添加用户名为test,密码为1234的用户,则编辑如下内容:

test pptpd 1234 *

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转发规则了,输入下面的指令:

#iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 1.1.1.1(OpenVZ,1.1.1.1为你的VPS的公网IP地址)

#iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE(XEN)

需要注意的是,这个指令中的“192.168.0.0/24”是根据之前的配置文件中的“localip”网段来改变的,

比如你设置的“10.0.0.1”网段,则应该改为“10.0.0.0/24”。

此外还有一点需要注意的是eth0,如果你的外网网卡不是eth0,

而是eth1(比如SoftLayer的服务器就是这样的情况),

那么请记得将eth0也更改为对应的网卡编号,不然是上不了网的!

然后我们输入下面的指令让iptables保存我们刚才的转发规则,以便重启系统后不需要再次添加:

#/etc/init.d/iptables save

然后我们重启iptables:

#/etc/init.d/iptables restart

8、重启pptp服务。输入下面的指令重启pptp:

#/etc/init.d/pptpd restart

现在你已经可以连接自己的VPN并浏览网页了。不过我们还需要做最后的一步。

9、设置开机自动运行服务。我们最后一步是将pptp和iptables设置为开机自动运行,这样就不需要每次重启服务器后手动启动服务了。当然你不需要自动启动服务的话可以忽略这一步。输入指令:

#chkconfig pptpd on
#chkconfig iptables on

这样就大功告成了,赶快到Windows下建立一个VPN连接,IP填写自己的服务器IP,用户名和密码填写自己设置好的用户名和密码,点击“连接”,成功后就可以使用服务器去浏览网页啦!
最后完成之后,如果出现错误619则输入命令mknod /dev/ppp c 108 0

注意:如果虚拟机内核不支持MPPE的话,无法使用加密,用WINDOWS默认VPN连接会显示“证书信任错误”。
解决方法:修改/etc/ppp/options.pptpd注释掉require-mppe-128这行,

然后windows的vpn拨号的属性改为可选加密,再次连接就成功了。

以上内容单纯为学习用:原文链接:http://www.wangyeba.com/Article/web05/Linux/201008/20100821062517.shtml
  评论这张
 
阅读(354)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018