Centos 7 环境实现内网服务访问1

简介: Centos 7 环境实现内网服务访问

什么是 OpenVPN

  • OpenVPN 是一个用于创建虚拟专用网络 ( Virtual Private Network ) 加密通道免费开源软件
  • OpenVPN 可以方便地在专用网络通道内互相访问( 当两个网络是使用私有 IP 地址私有局域网络时,它们之间是不能相互访问的
  • OpenVPN 采用了高强度数据加密,再加上其开源免费的特性,使得 OpenVPN 成为中小型企业及个人的 VPN 首选产品

OpenVPN 原理

OpenVPN 核心机制就是在 OpenVPN 服务器和客户端所在的计算机上都安装一个虚拟网卡 (又称虚拟网络适配器),并获得一个对应的虚拟 IP 地址

  • OpenVPN 的服务器和多个客户端就可以通过虚拟网卡,使用这些虚拟 IP 进行相互访问了
  • 其中,OpenVPN 服务器起到一个路由和控制的作用 (相当于一个虚拟的路由器)

VPN 的常用实现方式

  • VPN 服务器 - 通过在网络中心搭建 VPN 服务器的方法实现 VPN
  • 硬件 VPN - 通过专用的硬件实现
  • 软件 VPN - 通过专用的软件实现
  • 集成 VPN - 通过含有 VPN 功能的网络设备,如:防火墙、路由器实现

VPN 分类

摘抄自 深信服社区

VPN 技术:在公有网络中构建专用虚拟网络

  • 按协议分类:
  • PPTP VPN
  • L2TP VPN
  • MPLS VPN
  • IPsec VPN
  • GRE VPN
  • SSL VPN
  • OpenVPN
  • 按协议层分类
  • 数据链路层[ 第二层 ]
  • PPTP VPN
  • L2TP VPN
  • MPLS VPN
  • 网络层[ 第三层 ]
  • IPsec VPN
  • GRE VPN
  • 传输层与应用层之间
  • SSL VPN

PPTP VPN

点对点隧道协议

  • 一种支持多协议虚拟专用网络(VPN)的网络技术
  • 以同样工作在第二层的点对点传输协议PPP )为基础
  • PPTPPPP 帧封装成 IP 数据包,以便于在互联网上传输并可以通过密码验证协议PAP ),可扩展认证协议EAP )增加安全性
  • 远程用户能够通过安装点对点协议操作系统访问公司网络资源
  • PPTP VPN 的实现需要:
  • 客户机服务器之间必须有联通并且可用的 IP 网络
  • PPTP VPN 可在 WindowsLinux 环境下搭建,或者通过配置路由器来实现

L2TP VPN

二层隧道协议

L2F - 第二层转发协议

  • 用于建立跨越公共网络安全隧道来将 ISPPOP 连接到企业内部网关
  • 这个隧道建立了一个用户与企业客户网络间的虚拟点对点连接
  • L2F 允许高层协议的链路层隧道技术,使得把原始拨号服务器的位置和拨号协议连接终止与提供的网络访问位置分离成为可能
  • 结合 PPTPL2F 两种二层隧道协议的优点
  • L2TP扩展了PPP模型,它使用PPP来封装用户数据,允许多协议通过隧道传送
  • 作为安全性增强,L2TPIPSecInternet 协议安全性 )结合 – L2TP/IPsec
  • L2TP 基于 UDP 协议
  • 因此 L2TP不保证数据消息的可靠投递若数据丢失,不予重传
  • L2TP的实现与PPTP不同
  • PPTP 要求网络为 IP 网络
  • L2TP 要求面向数据包点对点连接

MPLS VPN

多协议标签交换

  • 一种用于快速数据包交换路由的体系
  • 它为网络数据流量提供了目标路由地址转发交换等能力
  • 更特殊的是,它具有管理各种不同形式通信流的机制
  • 它提供了一种方式,将 IP 地址映射为简单的具有固定长度标签,用于不同的包转发和包交换技术
  • 传统的 VPN 是基于 PPTPL2TP 等隧道协议来实现私有网络间数据流在公网上的传送
  • LSP 本身就是公网上的隧道
  • 所以用 MPLS 来实现 VPN 有天然的优势
  • 基于 MPLSVPN 就是通过 LSP私有网络不同分支联结起来,形成一个统一的网络
  • 基于 MPLSVPN 还支持对不同 VPN 间的互通控制
  • MPLS VPN网络主要由CEPEP等 3 部分组成
  • CE(Customer Edge) - 用户网络边缘设备,可以是路由器交换机主机
  • PE(Provider Edge) - 服务商边缘路由器,位于骨干网络
  • P(Provider) - 服务提供商网络中的骨干路由器
  • MPLS VPN 需通过配置路由器搭建

IPsec VPN

Internet 协议安全性

  • 一种开放标准的框架结构,通过使用加密安全服务以确保在 Internet 协议 (IP) 网络上进行保密安全的通讯
  • IPSec· 协议通过包封装技术,还可以封装内部网络的地址,实现异地网络的互连联
  • IPSec 不是一个单独的协议,它给出了应用于 IP 层上网络数据安全的一整套体系结构,该体系结构包括:
  • AH( Authentication Header ) - 认证头协议
  • ESP( EncapsulatingSecurity Payload ) - 封装安全负载协议
  • IPSec 可以在两种模式下运行
  • 传输模式 - 被用来计算 AH 或 ESP 头,AH 或 ESP 头以及 ESP 加密的用户数据被放置在原 IP 包头后面。通常,传输模式应用在两台主机之间的通讯,或一台主机和一个安全网关之间的通讯
  • 隧道模式 - 用户的整个 IP 数据包被用来计算 AH 或 ESP 头,AH 或 ESP 头以及 ESP 加密的用户数据被封装在一个新的 IP 数据包中。通常,隧道模式应用在两个安全网关之间的通讯。由此可知隧道模式可以掩盖原 IP 地址实现异地网络访问内部网络,也就是 VPN
  • IPSec VPN可在WindowsLinux环境下搭建
  • 或者通过配置防火墙路由器第三方软件实现

GRE VPN

通用路由封装协议(Generic Routing Encapsulation)

  • 应用于网络设备,目前有多数厂商的网络设备均支持 GRE 隧道协议
  • GRE VPN 是对某些网络层协议的数据报进行封装,使这些被封装的数据报能够在另一个网络层协议中传输
  • GRE VPN 是 VPN 的第三层隧道协议,在协议层之间采用了一种被称之为 Tunnel(隧道)的技术
  • 可通过网络设备搭建
  • Tunnel 是一个虚拟的点对点的连接
  • 在实际中可以看成仅支持点对点连接的虚拟接口,这个接口提供了一条通路使封装的数据报能够在这个通路上传输,并且在一个 tunnel 的两端分别对数据报进行封装及解封装

SSL VPN

·安全套接层协议( Secure Sockets Layer )·

  • 指定了一种在应用程序协议(如 HTTPTelenet NMTPFTP 等)和 TCP/IP 协议之间提供数据安全性分层的机制
  • TCP/IP 连接提供数据加密服务器认证消息完整性以及可选的客户机认证
  • SSL协议可分为两层
  • SSL 记录协议 (SSL Record Protocol) - 建立在可靠的传输协议(如 TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持
  • SSL 握手协议 (SSL Handshake Protocol) - 建立在 SSL 记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等
  • SSL VPN接入企业内部的应用,而不是企业的整个网络
  • 使用 SSL VPN 可通过标准的 WEB 浏览器连接因特网即可通过网页访问到企业应用
  • 大多数执行基于 SSL 协议的远程访问不需要依赖客户端软件

OpenVPN

基于 SSL 加密的应用层 VPN 协议

  • OpenVPN 的技术核心是虚拟网卡,其次是 SSL 协议实现
  • 虚拟网卡是使用网络底层编程技术实现的一个驱动软件,安装后在主机上多出现一个网卡,可以像其它网卡一样进行配置
  • 服务程序可以在应用层打开虚拟网卡
  • 如果应用软件向虚拟网卡发送数据,则服务程序可以读取到该数据
  • 如果服务程序写合适的数据到虚拟网卡,应用软件也可以接收得到
  • 虚拟网卡在很多的操作系统下都有相应的实现,这也是 OpenVPN 能够跨平台的一个很重要的理由

OpenVPN 部署

OpenVPN 需要 epel

  • 下面的命令可以看出来 OpenVPN 需要 epel 源
yum provides /usr/*bin/openvpn

没有 epel 源会有下面的报错

No matches found

使用下面的命令可以安装 epel 源

yum install -y epel-release.noarch

epel 源 就会输出相关的信息

  • 目前来说,稳定版本是 2.4.12,当然,官方已经更新到 2.6_beta1
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
openvpn-2.4.12-1.el7.x86_64 : A full-featured SSL VPN solution
Repo        : epel
Matched from:
Filename    : /usr/sbin/openvpn


目录
相关文章
|
2天前
|
网络安全 Docker 容器
测试开发环境下centos7.9下安装docker的minio
测试开发环境下centos7.9下安装docker的minio
|
6天前
|
存储 关系型数据库 Linux
CentOS如何使用Docker部署Plik服务并实现公网访问本地设备上传下载文件
CentOS如何使用Docker部署Plik服务并实现公网访问本地设备上传下载文件
27 4
|
12天前
|
运维 安全 Linux
如何在CentOS7一键安装宝塔面板并实现固定地址访问内网宝塔进行管理
如何在CentOS7一键安装宝塔面板并实现固定地址访问内网宝塔进行管理
|
13天前
|
XML JSON Java
【亮剑】在CentOS上搭建Solr 7单机服务的流程
【4月更文挑战第30天】本文介绍了在CentOS上搭建Solr 7单机服务的流程。首先确保系统安装Java,然后下载解压Solr 7压缩包,进入目录创建运行目录和日志目录,使用命令启动Solr服务。通过浏览器访问管理界面,创建Collection和Core。接着配置数据导入,创建`example_docs`文件夹存放数据,通过管理界面导入数据。最后进行查询测试,完成Solr的基本使用。
|
15天前
|
安全 Linux 网络安全
【专栏】CentOS 8 最小安装提供了一个精简高效的环境
【4月更文挑战第28天】本文介绍了如何进行CentOS 8的最小安装,包括准备工作(确认硬件兼容性、下载ISO镜像、制作启动盘及备份数据)和安装步骤(选择语言、最小环境、网络设置、安全策略、分区、用户设置及开始安装)。安装后需进行基础配置,如系统更新、SELinux设置、防火墙配置、安装必要软件包和服务优化。最小安装提供了一个精简高效的环境,便于用户根据需求自定义和管理服务器。
|
18天前
|
存储 Ubuntu 应用服务中间件
【Nginx】centos和Ubuntu操作系统下载Nginx配置文件并启动Nginx服务详解
【Nginx】centos和Ubuntu操作系统下载Nginx配置文件并启动Nginx服务详解
22 1
|
18天前
|
安全 关系型数据库 Linux
centos7_安装mysql8(局域网访问navicat连接)
centos7_安装mysql8(局域网访问navicat连接)
24 1
|
Linux 应用服务中间件 nginx
CentOS7 自定义服务
服务配置 服务配置主目录存放路径 # cd /usr/lib/systemd/system 文件内容格式 [Unit]:服务的说明 Description:描述服务 After:在哪些描述服务类别之后启动 [Service]服务运行参数的设...
779 0
|
10小时前
|
运维 Kubernetes 监控
本地CentOS安装轻量级容器PaaS平台KubeSphere并实现无公网IP远程访问
本地CentOS安装轻量级容器PaaS平台KubeSphere并实现无公网IP远程访问
3 0