CentOS VPS 建立 PPTP VPN 服务

当前服务器环境: Centos 6

PPTP的配置主要有下面五个步骤:

  • 验证内核是否加载了MPPE模块
  • 安装所需的软件包
  • 配置PPP和PPTP的配置文件
  • 打开内核的IP转发功能
  • 启动pptpd守护进程
  • 配置iptables防火墙放行和转发规则

1、验证内核是否加载了MPPE模块:

2、安装所需的软件包:

安装前确保添加了 epel 源, 如果没有, 请参考 <<CentOS 添加常用 yum 源>>.

安装 PPP 与 pptpd

设置随系统启动

3、配置PPP和PPTP的配置文件:

配置ppp需要编辑它的两个配置文件,一个是option(选项)文件,一个是用户账户文件。首先编辑option文件:

如果客户端是windows系统,必须提供 ms-dns 参数,它们指定VPN使用的DNS服务器。毕竟VPS位于国外,所以推荐使用Google Public DNS,当然也可以修改为你的VPS所在ISP提供的DNS。

接下来修改存储用户账户的文件:

这个文件非常简单,其中用明文存储VPN客户的用户名、服务名称、密码和IP地址范围,每行一个账户:

其中第一第三列分别是用户名和密码;第二列应该和上面的文件/etc/ppp/options.pptpd中name后指定的服务名称一致;最后一列限制客户端IP地址,星号表示没有限制。

下面配置 pptpd

同样, 如果客户端是 windows 系统,必须设置 localip 和 remoteip 两个参数, localip 是服务端的虚拟地址, remoteip 是客户端的虚拟地址. 使用 ifconfig 查看你本机 ip, 只要不冲突即可. 我这里使用192.168.0.0段.

4、打开内核的IP转发功能:

要使VPN服务器可以作为网络请求的中转代理,能够使客户端通过VPN访问Internet,还需要开启内核的IP转发功能。可以编辑配置文件:

找到 net.ipv4.ip_forward = 0, 将 0 改为 1

然后执行下面命令使上述修改生效:

 5、启动pptpd守护进程:

 6、配置iptables防火墙放行和转发规则:

最后,还需要配置防火墙。这里配置防火墙有三个目的:一是设置默认丢弃规则,保护服务器的安全;二是放行我们允许的数据包,提供服务;三是通过配置nat 表的POSTROUTING链,增加NAT使得VPN客户端可以通过服务器访问互联网。总之我们的原则就是,只放行我们需要的服务,其他统统拒绝。

首先介绍跟PPTP VPN相关的几项:

  • 允许 GRE(Generic Route Encapsulation) 协议,PPTP 使用 GRE 协议封装 PPP 数据包,然后封装成 IP 报文
  • 放行 PPTP 服务的1723 端口
  • 放行状态为RELATED,ESTABLISHED的入站数据包(正常提供服务的机器上防火墙应该都已经配置了这一项)
  • 放行服务端 192.168.0.0/24 网段经网卡 eth0 转出的数据包
  • 放行客户端 192.168.0.0/24 网段经网卡 eth0 转入的数据包
  • 为从服务端 192.168.0.0/24 网段经网卡 eth0 转出的数据包做 NAT

 

CentOS VPS 建立 PPTP VPN 服务》上有2条评论

  1. 博主,网站展示代码的插件名字能告诉下么,感觉这个插件效果不错!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

请输入正确的验证码