×

CentOS VPS 建立 PPTP VPN 服务

hqy hqy 发表于2019-08-07 10:50:56 浏览2370 评论0

抢沙发发表评论

https://blog.itnmg.net/2013/05/19/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



 


打赏

本文链接:https://www.kinber.cn/post/890.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客