WireGuard 系列文章(一):什么是 VPN

本文最后更新于:2022年1月22日 晚上

系列文章概述

通过一系列 Wireguard 文章,我们期望达到以下目的:

掌握知识

  1. 什么是 VPN
  2. 什么是 WireGuard
  3. WireGuard 核心概念
  4. 什么是 Netmaker?为什么要用 Netmaker?Netmaker 和 WireGuard 的关系是什么?

动手目标

  1. 安装 WireGuard
  2. 安装 Netmaker
  3. 实现 WireGuard Full Mesh 网络,网络包括以下节点,并实现全部的互联互通
    1. 阿里、腾讯、华为、百度、天翼云服务器节点
    2. 家庭 NAS 节点
    3. 家庭台式机
    4. 办公笔记本
    5. 安卓手机
  4. 实现基于 WireGuard Full Mesh 网络的 K8S 网络

下面来一一道来。

系列文章中,引用了大量官网和 米开朗基杨博客 的资料,感谢巨人的肩膀。❤️❤️❤️

什么是 VPN?

什么是 VPN

虚拟专用网络(VPN)是通过互联网从设备到网络的加密连接。加密连接有助于确保安全传输敏感数据。它可以防止未经授权的人窃听流量,并允许用户远程进行工作。VPN 技术广泛用于企业环境。

VPN 的用途

  • 企业用途:通过互联网将业务网络安全地连接在一起的方法;
  • 企业用途:允许员工从家中或通过互联网远程工作来访问业务网络;加强对远程员工的保护,以便他们能够随时随地通过任何设备工作。商务旅客经常使用 VPN 在旅途中访问其业务网络,包括其所有本地网络资源。本地资源不必直接暴露在互联网上,这提高了安全性。
  • 家庭用途:旅行时访问您的家庭网络:您还可以设置自己的 VPN,以便在旅行时访问自己的网络。这将允许您通过互联网访问 Windows 远程桌面或家里 NAS 设备,使用本地文件共享,并通过互联网玩游戏,就像您在同一局域网(局域网)上一样。
  • 其他用途:访问受区域限制的网站,保护您的浏览活动免受公共 Wi-Fi 的窥探等。

为什么企业会使用 VPN?

VPN 是一种 经济高效 的方式,可以安全地将远程用户连接到企业网络,同时还可以提高连接速度。借助 VPN,企业可以使用高带宽的第三方互联网接入,而不是昂贵的专用 WAN(广域网)链接或长途远程拨号链接。

远程访问

远程访问 VPN 可安全地连接公司办公室外的设备。这些设备称为端点,可能是笔记本电脑、平板电脑或智能手机。VPN 技术的进步允许在端点上进行安全检查,以确保它们在连接之前满足特定的姿势。将远程访问视为计算机到网络。

站点到站点

站点到站点 VPN 通过 Internet 将公司办公室连接到分支机构。当距离使得在这些办公室之间建立直接网络连接不切实际时,将使用站点到站点 VPN。专用设备用于建立和维护连接。将站点到站点访问视为网络到网络。

虚拟专用网络 (VPN) 如何工作?

VPN 通过通过互联网建立的加密连接来扩展企业网络。由于流量在设备和网络之间是加密的,因此流量在传输过程中保持私密。员工可以在办公室外工作,但仍可安全地连接到公司网络。甚至智能手机和平板电脑也可以通过 VPN 连接。

当您将计算机(或其他设备,如智能手机或平板电脑)连接到 VPN 时,计算机的行为就像与 VPN 位于同一本地网络上一样。您的所有网络流量都通过与 VPN 的安全连接发送。由于您的计算机的行为就像在网络上一样,因此即使您位于世界的另一端,也可以安全地访问本地网络资源。

当您在连接到 VPN 时浏览网页时,您的计算机会通过加密的 VPN 连接与网站联系。VPN 为您转发请求,并通过安全连接将来自网站的响应转发回去。

什么是 VPN 隧道?

「隧道」是 VPN 建立的加密连接,以便虚拟网络上的流量可以通过 Internet 安全地发送。来自计算机或智能手机等设备的 VPN 流量在通过 VPN 隧道时会进行加密。

VPN 流量是否加密?

是的,一般企业虚拟网络上的流量是通过在 Internet 上建立加密连接(称为隧道)来安全发送的。来自计算机、平板电脑或智能手机等设备的 VPN 流量在通过此隧道时会进行加密。然后,异地员工可以使用虚拟网络访问企业网络。

VPN 类型

WireGuard 出现之前,常见的 VPN 类型有:

  • PPTP
  • L2TP/IPsec
  • SSL VPN
  • OpenVPN

⚡️ 危险

PPTP 连接可能不安全,通过此协议传输的数据易受网络攻击。

SSL VPN 的主要优势

它内置于现代 Web 浏览器中

SSL VPN 功能已经内置于现代 Web 浏览器中,允许来自任何支持 Internet 的位置的用户启动 Web 浏览器以建立远程访问 VPN 连接。SSL VPN 技术不仅可以帮助提高员工的工作效率,还可以降低 VPN 客户端软件和支持的成本。

大多数用户不需要安装客户端软件

SSL VPN 使用 SSL 协议及其后继者传输层安全性 (TLS) 在远程用户和内部网络资源之间提供安全连接。由于大多数 Web 浏览器现在都有 SSL / TLS,因此用户通常不需要安装客户端软件即可使用 SSL VPN。这就是为什么 SSL VPN 也被称为「无客户端 VPN」或「Web VPN」。

它对最终用户非常灵活

SSL VPN 也易于使用。不同的 IPsec VPN 供应商可能有不同的实现和配置要求。但 SSL VPN 只要求用户拥有现代 Web 浏览器。用户甚至可以选择自己喜欢的 Web 浏览器,而不受操作系统的限制。

SSL VPN 的一般风险

与用户凭据相关的风险

VPN 安全性的强大程度取决于用于在 VPN 连接的远程端对用户和设备进行身份验证的方法。简单的身份验证方法容易受到密码 " 破解 " 攻击,窃听甚至社会工程攻击。双重身份验证是提供对企业网络的安全远程访问的最低要求。

来自远程计算机的威胁传播

远程访问是网络安全的主要威胁媒介。不满足公司安全要求的远程计算机可能会将病毒感染(如蠕虫或病毒)从其本地网络环境转发到内部网络。远程计算机上的最新防病毒软件对于降低此风险至关重要。

拆分隧道

当 VPN 隧道的远程端的设备同时与公用网络和专用网络交换网络流量,而不首先将所有网络流量放在 VPN 隧道内时,就会发生拆分隧道。这可能允许共享网络上的攻击者破坏远程计算机并获得对专用网络的网络访问权限。

安全机制

VPN 不能使在线连接完全匿名,但它们通常可以增加隐私和安全性。为了防止隐私信息泄露,vpn 通常只允许使用隧道协议和加密技术进行经过身份验证的远程访问。

VPN 安全模型提供:

  • 机密性,这样即使网络流量在包级别被嗅探(参见网络嗅探器和深度包检查),攻击者也只会看到加密的数据
  • 发送方认证,防止非法用户访问 VPN
  • 消息完整性,以检测篡改已传输消息的任何实例。

IPSec 隧道在虚拟私有网络中的生命周期

安全 VPN 协议包括:

  • IPsec:Internet 协议安全 (IPsec) 最初是由 Internet 工程任务组 (IETF) 为 IPv6 开发的,在 RFC 6434 将其作为推荐标准之前,它在所有遵循标准的 IPv6 实现中都是必需的,这种基于标准的安全协议也广泛应用于 IPv4 和第二层隧道协议。它的设计满足大多数安全目标:可用性、完整性和机密性。IPsec 采用加密技术,将 IP 报文封装在 IPsec 报文中。反封装发生在隧道的末端,在那里原始的 IP 包被解密并转发到它预期的目的地。
  • SSL VPN:传输层安全 (SSL/TLS) 可以对整个网络的流量进行隧道化(就像它在 OpenVPN 项目和 SoftEther VPN 项目中所做的那样)或保护单个连接。许多供应商通过 SSL 提供远程访问 VPN 功能。SSL VPN 可以从 IPsec 遇到网络地址转换和防火墙规则问题的地方连接。
  • DTLS:数据报传输层安全 (DTLS) - 在 Cisco AnyConnect VPN 和 OpenConnect VPN 中使用,以解决 SSL/TLS 与 TCP 上的隧道连接的问题 (TCP 上的隧道连接会导致大的延迟和连接中止)。
  • MPPE:微软点对点加密 (MPPE) 与点对点隧道协议 (Point-to-Point Tunneling Protocol) 一起工作,并在其他平台上的几个兼容实现中工作。
  • SSTP:微软安全套接字隧道协议 (SSTP) 通过 SSL/TLS 通道传输点对点协议 (PPP) 或二层隧道协议 (SSTP 在 Windows Server 2008 和 Windows Vista Service Pack 1 中被引入)。
  • MPVPN:多路径虚拟专用网 (MPVPN)。Ragula 系统开发公司拥有注册商标“MPVPN”
  • Secure Shell(SSH)VPN - OpenSSH 提供 VPN 隧道(不同于端口转发),以保护与网络或网络间链路的远程连接。OpenSSH 服务器提供有限数量的并发隧道。VPN 功能本身不支持个人身份验证
  • WireGuard 是一种协议。在 2020 年,WireGuard 支持被添加到 Linux 和 Android 内核中,开放它被 VPN 提供商采用。默认情况下,WireGuard 使用 Curve25519 进行密钥交换,使用 ChaCha20 进行加密,但也包括在客户端和服务器之间预共享对称密钥的能力
  • IKEv2 是 Internet Key Exchange volume 2 的缩写。它由微软和思科创建,并与 IPSec 一起用于加密和身份验证。它主要用于移动设备,无论是 3G 还是 4G LTE 网络,因为当连接丢失时,它可以有效地重新加入。

认证

在建立安全 VPN 隧道之前,必须对隧道端点进行身份验证。用户创建的远程接入 vpn 可能使用密码、生物特征、双因素认证或其他加密方法。网络到网络的隧道通常使用密码或数字证书。它们永久地存储密钥以允许隧道自动建立,而不需要管理员的干预。

VPN 拓扑的类型

3 种主要的 VPN 拓扑

VPN 拓扑指定作为 VPN 一部分的对等方和网络以及它们如何相互连接。以下是三种主要拓扑类型的快速概述:

  • 中心辐射型(Hub-and-spoke)
    在此 VPN 拓扑中,多个远程设备(辐射)与中央设备(中心)安全地通信。在集线器和每个分支之间扩展一个单独的安全隧道。

    Hub-and-spoke

  • 点对点(Point-to-point)
    建立此拓扑需要将两个终结点指定为将直接相互通信的对等设备。任一设备都可以启动连接。

    Point-to-point

  • 全网状网络(Full mesh)
    在这种拓扑中,这种拓扑在复杂的网络中运行良好,网络中的每个设备都可以通过唯一的 IPsec 隧道与所有其他设备进行通信。

隐式支持的拓扑

还可以将三种主要的 VPN 拓扑组合在一起,以创建更复杂的拓扑,包括:

  • 部分网状网络(Partial mesh)
    这是一种网络,其中某些设备以全网状拓扑进行组织,而其他设备则形成与某些完全网状设备的中心辐射型或点对点连接。
  • 分层中心辐射(Tiered hub-and-spoke)
    这是中心辐射型拓扑的网络,其中设备可以充当一个或多个拓扑中的中心,而在其他拓扑中充当分支。允许从分支组到其最直接中心的流量。
  • 连接中心辐射型(Joined hub-and-spoke)
    这是两种拓扑(中心辐射型、点对点或全网格)的组合,它们连接以形成点对点隧道。