一、前言
要看懂此文需要具备以下技术知识:
- 网络包路由原理
- 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 的请求。