CentOS搭建VPN服务,一次性成功,收藏了

2021-02-23 16:50:57 浏览数 (1)

VPN 介绍

虚拟私人网络(英语:Virtual Private Network,缩写为VPN)是一种常用于连接中、大型企业或团体与团体间的私人网络的通讯方法。虚拟私人网络的讯息透过公用的网络架构(例如:互联网)来传送内部网的网络讯息。它利用已加密的通道协议(Tunneling Protocol)来达到保密、发送端认证、消息准确性等私人消息安全效果。这种技术可以用不安全的网络(例如:互联网)来发送可靠、安全的消息。需要注意的是,加密消息与否是可以控制的。没有加密的虚拟专用网消息依然有被窃取的危险。

VPN的实质就是利用加密技术在公用网上面封装出一个数据通讯隧道。

vpn分类

根据不同的划分标准,VPN可以按几个标准进行分类划分:

  • 按VPN的协议分类:

VPN的隧道协议主要有三种,PPTP、L2TP和IPSec,其中PPTP和L2TP协议工作在OSI模型的第二层,又称为二层隧道协议;IPSec是第三层隧道协议。

  • 按VPN的应用分类:

① Access VPN(远程接入VPN):客户端到网关,使用公网作为骨干网在设备之间传输VPN数据流量;

② Intranet VPN(内联网VPN):网关到网关,通过公司的网络架构连接来自同公司的资源;

③ Extranet VPN(外联网VPN):与合作伙伴企业网构成Extranet,将一个公司与另一个公司的资源进行连接。

  • 按所用的设备类型进行分类:

网络设备提供商针对不同客户的需求,开发出不同的VPN网络设备,主要为交换机、路由器和防火墙:

① 路由器式VPN:路由器式VPN部署较容易,只要在路由器上添加VPN服务即可;

② 交换机式VPN:主要应用于连接用户较少的VPN网络;

  • 按照实现原理划分:

① 重叠VPN:此VPN需要用户自己建立端节点之间的VPN链路,主要包括:GRE、L2TP、IPSec等众多技术。

② 对等VPN:由网络运营商在主干网上完成VPN通道的建立,主要包括MPLS、VPN技术。

VPN的实现方式

常用的有以下四种

  • (1)VPN服务器:在大型局域网中,可以在网络中心通过搭建VPN服务器的方法来实现。
  • (2)软件VPN:可以通过专用的软件来实现VPN。
  • (3)硬件VPN:可以通过专用的硬件来实现VPN。
  • (4)集成VPN:很多的硬件设备,如路由器,防火墙等等,都含有VPN功能,但是一般拥有VPN功能的硬件设备通常都比没有这一功能的要贵。

搭建pptp

1、检查系统是否支持ppp

代码语言:javascript复制
[root@centos6 ~]# cat /dev/ppp
cat: /dev/ppp: No such device or address

如果出现以上提示则说明ppp是开启的,可以正常架设pptp服务,若出现Permission denied等其他提示,你需要先去VPS面板里看看有没有enable ppp的功能开关。

2、设置内核转发,开启路由转发

代码语言:javascript复制
[root@centos6 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@centos6 ~]# sysctl -p 查看

3、安装pptp

代码语言:javascript复制
[root@centos6 ~]# yum -y install pptpd

依赖epel 源

4、配置pptp

(1)配置主配置文件

代码语言:javascript复制
[root@centos6 ~]# cp /etc/pptpd.conf{,.bak} 配置前备份
[root@centos6 ~]# vim /etc/pptpd.conf
option /etc/ppp/options.pptpd logwtmp localip 39.106.xxx.xxx      #本机公网ip remoteip 192.168.1.100-110 #分配给VPN 客户端的地址,一般是内网网段地址

(2)配置账号文件

代码语言:javascript复制
[root@along ~]# vim /etc/ppp/chap-secrets
client(客户端登录账号) server(服务) secret(密码) IP addresses(ip范围)
along          pptpd     123456      * (允许所有ip)

(3)启动服务

代码语言:javascript复制
[root@along ~]# systemctl start pptpd

检查服务是否开启

代码语言:javascript复制
[root@along ~]# ps -ef |grep pptpd
[root@along ~]# ss -nutlp |grep pptpd  #打开的端口是1723

5、设置SNAT 规则

代码语言:javascript复制
[root@along ~]# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE

6、client 端连接vpn

① 连接新的工作群=区

② 通过VPN的方式

③ 输入IP

④ 输入用户名、密码

⑤ 连接成功

8、查看日志,看是否有client 端连接

代码语言:javascript复制
[root@along ~]# tail -200 /var/log/messages  #确实有client 连接

9、连接后的配置

需断开,设置后,再连接

10、测试连接后IP

0 人点赞