WireGuard通讯原理

一、前言

要看懂此文需要具备以下技术知识:

  • 网络包路由原理
  • NET技术原理
  • 路由表
  • Linux虚拟网络
  • 对称加密和非对称加密

这些技术不需要深入,因为时间不够,其次因为只需要浅尝辄止上面知识就可以很好的学习wg。

二、wg整体网络架构

所有wg客户和wg后端端都预先设置了不同的虚拟IP,所有wg客户端通过UDP+wg协议与wg后端连接。

这样所有wg客户端+wg后端就组成了虚拟网络。wg客户端之间可以互相通讯。wg后端类似路由器的功能,根据数据包的目标地址转发数据包。

wg服务端转发的数据包的目标地址可以是虚拟ip地址,也可以是虚拟网络的外部ip地址:

  • 虚拟IP:数据包被转发到虚拟网络里的wg客户端。
  • 外网IP:数据包转发到外网IP,并回包。

特别说明一下,图里面的TUN虚拟网卡至关重要,它可以全局拦截IP包给wg客户端,也可以转发数据包给物理网卡。

(一) 说明

本图展示了如何通过 WireGuard (WG) 建立一个 跨地域的虚拟局域网(虚拟内网) ,同时通过一台中心服务节点实现所有客户端设备的内网互联 + 访问公网服务(如 Google、YouTube、ChatGPT 等)。

(二) 主要角色说明

1. 虚拟局域网终端节点(左下和左右)

  • 代表:各个员工终端、远程设备、手机等。
  • 组成结构:
    • 应用(浏览器、微信、游戏等)
    • TUN 虚拟网卡(提供虚拟 IP)
    • WG 客户端(10.0.0.X)
    • 物理网卡和路由表(走公网发送 UDP)
  • 功能说明:
    • 每台设备通过 WG 客户端连接到 WG 后端。
    • 每台设备获得一个虚拟 IP(如 10.0.0.2 / 10.0.0.3 / ...)。
    • 不仅能与其他节点互通,还能通过后端 NAT 出口访问外网。

2. WG 后端服务节点(中间蓝色虚线框内)

  • 作用:
    • 接收各客户端发来的加密 UDP 包。
    • 解密并通过自身路由决定去向:
      • 发往其它虚拟客户端设备;
      • 或通过自身的物理出口访问公网服务器。
  • 组成结构:
    • WG 后端程序(10.0.0.1)
    • TUN 虚拟网卡(内网转发)
    • 本地路由表
    • 出口物理网卡(用于 NAT 转发 TCP/UDP)
    • 可与公司内网通信(如上方所示)

3. 公司局域网节点(图上方灰色框)

  • WG 后端服务也可以通过路由表与公司内部资源通信(如 ERP、数据库等)。
  • 内网资源通过 WG 后端转发到虚拟网络中所有客户端。

4. 目标服务器(最右)

  • 包括用户想访问的公网资源:
    • Google / YouTube / ChatGPT / GitHub / 面书(Facebook)等
  • 这些流量将通过 WG 后端的物理网卡 NAT 出口发出,表现为来自一个统一公网 IP 的请求。
相关推荐
网络安全许木12 小时前
自学渗透测试(1~6天工具使用的回温)
android
匆忙拥挤repeat12 小时前
Android Compose 状态保存的API总结
android
BLUcoding13 小时前
Android 生命周期详解
android
Swift社区13 小时前
鸿蒙 vs iOS / Android:谁更适合 AI?
android·ios·harmonyos
冬奇Lab13 小时前
硬件加速与 OMX/Codec2:解密编解码器的底层世界
android·音视频开发·视频编码
雷帝木木13 小时前
Flutter 组件 http_interop 的适配 鸿蒙Harmony 深度进阶 - 驾驭多级拦截器链、实现鸿蒙端标准化通讯审计与流量路由中继方案
flutter·harmonyos·鸿蒙·openharmony·http_interop
2301_8227032013 小时前
鸿蒙Flutter第三方库FlutterUnit组件百科适配与具体功能演示
flutter·华为·开源·harmonyos·鸿蒙
亘元有量-流量变现13 小时前
ASO优化全流程实操指南:从基础到迭代,精准提升App曝光与转化
android·ios·harmonyos·aso优化·方糖试玩
李李李勃谦14 小时前
Flutter 框架跨平台鸿蒙开发 - 家政服务预约平台
flutter·华为·harmonyos
唔6614 小时前
flutter TextTheme 手机端适配验证
flutter·智能手机