首页 > 我的原创 > 在CentOS下安装PPTP的VPN

在CentOS下安装PPTP的VPN

2009年10月24日 发表评论 阅读评论 查看 57,010 次

最近买了个基于xen的VPS玩玩,安装LAMP没啥意思。国内网络环境不好,干脆安装个VPN试试。

对于Linux其实我什么都不会的,在google老师的帮助下,总算给我安装好了,记录下来以便查阅。

VPN常用有两种,一种是openvpn,另一种PPTP。前者开源跨平台功能强大,后者简单方便Windows下无需安装客户端。而且从安装上看,PPTP比openvpn简单一点,所以决定安装这个试试看。

这里罗嗦一下VPS吧,常见也两种,一种是基于openvz,另一种基于xen的。区别不多说了,自己问google吧。这里要说的是openvz的绝大多数不能安装PPTP,而xen的没有限制,两个都可以。

 

以下所有命令我都加了下划线,即加下划线的一定是在类似-bash-3.2#的提示符下输入。

SSH登陆VPS,我的系统是64的CentOS 5.4,绝大多数VPS都提供CentOS系统供选择。可以使用这个命令查询:cat /etc/issue

检查内核是否包含mppe,基本上CentOS都有的,输入这个命令,如果是ok就可以:modprobe ppp-compress-18 && echo ok

安装PPTP需要ppp和iptables这两个软件支持,这里用yum来安装,输入这个命令:yum install -y ppp iptables

然后进入tmp目录,需要把pptp软件下载回来,用这个命令:cd /tmp

去poptop官方网站,如果你和我系统一样,直接下载rpm包:wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.x86_64.rpm

×××如果上面命令无效,安装wget吧:yum install -y wget

接下来安装刚刚下载回来的rpm包,输入命令:rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm

×××如果上面命令无效,安装perl吧:yum install -y perl

接下来我们开始配置PPTP了,需要用到linux下的vi命令,如果不熟悉建议先google一下。

×××提示一下,编辑完成后按Esc键,然后输入:wq即可保存并退出。

 

输入vi /etc/ppp/options.pptpd开始编辑,输入以下内容:

name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
ms-dns 208.67.222.222
ms-dns 208.67.220.220

最后两行是dns服务器地址,这里用opendns,你也可以用主机商的dns。编辑完成后保存退出。

输入vi /etc/pptpd.conf开始编辑,输入以下内容:

option /etc/ppp/options.pptpd
logwtmp
localip 192.168.8.1
remoteip 192.168.8.2-40

最后两行是vpn的ip地址分配,如果你不熟悉就别改了。编辑完成后保存退出。

输入vi /etc/ppp/chap-secrets开始编辑,输入以下内容:

username1 pptpd password1 *

username2 pptpd password2 *

username3 pptpd password3 *

这个文件用来配置vpn的登陆用户和密码,一行一个。编辑完成后保存退出。

把username和password分别改成你需要的用户名密码即可,其他别改了。

输入vi /etc/sysctl.conf开始编辑,这个文件和上面不同,里面已经有内容:

找到

net.ipv4.ip_forward = 0

改成

net.ipv4.ip_forward = 1

保存并退出,然后执行sysctl -p这个命令。

这时,PPTP基本上配置好了,输入service pptpd start启动。

下面来配置iptables,首先输入service iptables start启动。

然后分别输入下面四条命令,每天输完后要记得按回车:

iptables -A INPUT -p tcp --dport 1723 -j ACCEPT

iptables -A INPUT -p tcp --dport 47 -j ACCEPT

iptables -A INPUT -p gre -j ACCEPT

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

完成后输入/etc/init.d/iptables save保存,并且输入/etc/init.d/iptables restart重新启动。

如果你需要服务器启动时候自动启动VPN服务,还需要输入chkconfig pptpd onchkconfig iptables on这两条命令。

这个时候,PPTP的VPN就已经全部配置好了,由于内容太多,就不截图了,说明已经很详细。

在Windows下新建一个VPN连接,输入服务器ip、用户名和密码,如无意外就能连上去了。

打开youtube或twitter(follow我@billzhong)试试,爽吧!

最后广告一下,我的 VPN 服务: http://pptp.us 提供PPTP、L2TP和OpenVPN三种方式哦。

 

参考文章:

http://blog.s135.com/pptp_vpn/

http://rashost.com/blog/centos5-pptpd-vpn

http://taiwanwolf.blogspot.com/2009/01/centos-v52-pptp-server.html

分类: 我的原创 标签: , ,
  1. 2009年10月24日16:17 | #1

    沙发啊~你买的那家~twitter上DM一下~

  2. 2009年10月31日22:34 | #2

    路过支持一下,似乎是vpser 上介绍那个7折优惠的那家?

  3. 2009年10月31日22:35 | #3

    @coolxll
    不是,你想知道可以单独问我,嘿嘿。

  4. koonuz
    2009年11月4日05:02 | #4

    我有些疑惑了 我按照您的安装方法 虽然可以连上vpn 但是好像访问不了外网.

    只能访问我搭建那台的vps的ip地址

  5. 2009年11月4日11:32 | #5

    @koonuz
    检查iptables是否配置好,还有转发是否开启。

  6. koonuz
    2009年11月4日12:59 | #6

    @Black-Xstar

    我都是按照教程的步骤 一步一步安装的 怎么检查iptables是否配置好 转发有没有开启?

  7. 2009年11月5日13:40 | #7

    @koonuz
    如果按照教程应该不会有问题的,可能是VPS环境不同。
    查下iptables的用法吧,或者详细说明,我帮你看看。

  8. 2009年11月21日09:07 | #8

    博主研究一下pptpd+radius+mysql吧…哈

  9. 2009年11月22日03:20 | #9

    @koonuz
    这个难度大,等于有空吧。

  10. 2010年2月20日02:44 | #10

    Openvz在开启tun/tap和加入iptables_nat module后支持MASQUERADE,目前症结就在于OpenVZ默认内核不支持mppe,貌似不能自己重新编译内核~不知道能否不用mppe加密呢?如果不需要mppe的话,内核就不需要编译mppe,或许OpenVZ也可以搭建pptp的vpn?

    无奈中……

  11. 2010年2月20日12:30 | #11

    Centos5 32位环境下部署成功,谢谢博主!

  12. erv2
    2010年3月3日12:13 | #12

    博主你好,我是按照你这个做法给我的VPS装上OpenVPN的

    但我碰到一个奇怪的问题,不知道你有没有碰到过:
    一开始上网站,连接的时候很快,但一旦你上了那些被 墙 的网站,网速立刻慢下来,最后还断了. 过一会再来,速度恢复,但也是很快就慢下来

    是不是墙在干扰SSL的传送呢? 还是配置有问题? 谢谢了

  13. erv2
    2010年3月3日12:17 | #13

    发错帖子了,应该发去openvpn那里的,我去那里再问一次

  14. 2010年3月3日12:18 | #14

    @Zeddicus
    显然不可以。过来买我的吧:)

    @erv2
    我在独立服务器上没遇到这个问题哦,稳定运行几个月了。
    另外pptp也不是用ssl的。所以基本可以肯定是你的vps问题。

  15. yoyo
    2010年3月4日20:46 | #15

    博主你好,我按你的办法配置了,现在只能连接vpn服务器,但是无法通过nat转发,然后访问外部的网站,能否帮忙看一下,有报酬,请给我发邮件,谢谢~!

  16. 2010年3月4日20:48 | #16

    @yoyo
    在vps上操作?联系服务商吧,可能是没有权限。

  17. 2010年4月12日16:43 | #17

    博主啊,我按照你的方法装的,能连上,但是好像DNS不行,只能访问IP,为什么呢?

  18. hun
    2010年5月24日22:25 | #18

    [root@abc ~]# wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.i386.rpm
    --2010-05-24 22:16:18-- http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.i386.rpm
    正在查找主機 poptop.sourceforge.net... 216.34.181.96
    正在連接 poptop.sourceforge.net|216.34.181.96|:80... 連上了。
    已送出 HTTP 要求,正在等候回應... 404 Not Found
    2010-05-24 22:16:20 錯誤 404: Not Found。
    求救centos 5.4 i386 tks

  19. 2010年5月28日10:10 | #19

    楼主 你好,按你的要求配置好了 非常完美,可是最后连上时却报,错误741:本地计算机不支持所支持的加密类型 错误,虽然我知道把连接的 把‘要求数据加密(没有就断开)’勾去掉就可以连上了 可是我却想知道为什么不能用数据加密的方式连接 我的系统是win2003,期待你的解答 谢谢 ;-)

  20. nginx
    2010年11月5日16:43 | #20

    大家好,我的淘宝店(shop62947236.taobao.com)现在推出免费安装nginx、php、mysql活动。
    到我的淘宝店后请你直接联系我的旺旺,商量安装事宜。希望博主能不删除则不删除,谢谢。

  21. cy
    2011年3月6日00:26 | #21

    你好,我想请教一下,做vpn的服务器是不是一定直接链接到internet?
    我的centos是通过一个tplink链接到互联网的,我在tplink设置了centos是DMS机器,意思是centos和internet直通。

    我按照上诉做法,链接了,客户端不能上网。。。请指教。

  22. 2011年4月16日13:52 | #22

    参考了很多教程,最终还是又一次来参考博主的教程了。。
    连接后809错,不知道什么意思。。有时候会619错,iptables和pptpd都是没报错的,感觉好奇怪。

  23. 2011年12月17日14:16 | #23

    感谢分享教程啊

  24. 2012年3月25日16:44 | #24

    我照你的方法做,可是客户端总是返回,800错误。

    pptpd我都安装成功了,出现提示
    root@iweb [/tmp]# service pptpd restart
    Shutting down pptpd: [ OK ]
    Starting pptpd: [ OK ]
    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.

  25. 2012年3月25日17:04 | #25

    window7 上连成功了,但xp上还是返回800

  26. 2012年3月27日00:36 | #26

    vi /etc/pptpd.conf开始编辑的时候 下面那2行IP最好是使用命令 ifconfig
    查看下本地已经使用的网关,一定别重复,不然能连接VPN但是访问不了任何外网!

  27. 2012年8月4日00:13 | #27

    不能访问公网。。哎 能帮忙解决吗?

  28. 2012年8月4日00:15 | #28

    连接上vpn后 ping baidu.com 能ping出IP 但是不能ping通。

    正在 Ping baidu.com [123.125.114.144] 具有 32 字节的数据:
    来自 192.168.1.4 的回复: 无法访问目标主机。
    请求超时。
    来自 192.168.1.4 的回复: 无法访问目标主机。

    求帮助

  1. 2010年2月17日22:40 | #1
  2. 2010年3月25日12:18 | #2
  3. 2010年4月12日23:50 | #3
  4. 2010年5月24日11:57 | #4
  5. 2010年12月1日00:11 | #5
  6. 2011年3月12日17:28 | #6
  7. 2011年4月7日23:45 | #7
  8. 2011年5月15日08:29 | #8
  9. 2011年9月23日11:51 | #9
  10. 2011年11月25日22:54 | #10
  11. 2012年6月27日10:12 | #11
  12. 2012年7月17日11:13 | #12
  13. 2012年10月8日15:39 | #13
  14. 2012年12月3日15:38 | #14
  15. 2014年9月3日12:35 | #15
  16. 2014年11月11日20:47 | #16