WireGuard 的特点与 FlClash 配置要点
WireGuard 的报文全部走 UDP。它通过握手交换密钥,并加密传输数据。在 FlClash 中选用 WireGuard,需要了解 mihomo 对应的配置字段;协议原理、内核字段和客户端操作是三个不同层面。
WireGuard 是什么
WireGuard 协议说明介绍了握手与数据报文的处理方式。握手采用 Noise 框架中的 Noise_IK,ECDH 密钥交换使用 Curve25519,握手中的字段及数据包由 ChaCha20Poly1305 AEAD 加密。
每个对端都有静态密钥对,每轮握手还会产生临时密钥。公钥通过 Curve25519 从私钥导出。因此,阅读配置时要分清本端私钥与对端公钥,两者承担的角色不同。
特点:UDP 传输与密钥配合
WireGuard 的“全部经 UDP 发送”,描述的是协议自身的传输方式。mihomo 文档示例里的 udp: true 则是一个配置写法,文档未对这个字段作单独解释,不能仅凭它推导出更多行为。
密钥也有不同层次:静态密钥对属于对端,临时密钥随握手生成;mihomo 还提供可选的 pre-shared-key 字段。配置中看到多个密钥名称时,应逐项核对用途。
想了解两种传输协议的基础区别,可以继续阅读代理中的 TCP 与 UDP。
常见使用场景:地址、DNS 与多个对端
从 mihomo 提供的字段,可以看到几类配置需求:
| 配置需求 | 对应字段与含义 |
|---|---|
| 设置本端网络地址 | ip 填写本端在 WireGuard 网络内的 IPv4 地址;ipv6 可选 |
| 指定转发范围 | allowed-ips 用于限定服务端转发的 IP 网段 |
| 使用远端 DNS 解析 | remote-dns-resolve 默认是 false;设为 true 后,dns 才生效 |
| 配置多个对端 | 使用 peers,并区分各对端的 allowed-ips |
这些字段分别处理地址、转发范围和解析设置,不能互相替代。尤其在多对端配置中,不能只增加对端数量而忽略各自的网段设置。
在 FlClash 里怎么选用
FlClash 的项目说明没有列出完整的代理协议支持表。它使用 mihomo 内核,WireGuard 的字段含义应查阅 mihomo WireGuard 文档。
截至 2026-11-08,FlClash 对添加 WireGuard 的具体按钮、编辑流程及各平台出站支持情况,官方没有说明。不能把内核文档里的字段直接当作客户端表单名称。
识别配置时,可从这些项目入手:
| 字段 | 核对内容 |
|---|---|
type | WireGuard 对应的值是 wireguard |
private-key | 本端私钥,采用 base64 编码 |
public-key | 服务端公钥,采用 base64 编码 |
ip | 本端在该网络内的 IPv4 地址 |
allowed-ips | 允许服务端转发的网段 |
需要了解客户端的基本使用流程,可查看FlClash 使用教程;辨认项目来源可查看仓库与发布页核对方法。
注意事项:多对端与可选字段
使用 peers 时,顶层的 server、port、public-key 等字段会被忽略。排查配置时,应检查实际生效的对端条目,并核对其 allowed-ips。
mtu、pre-shared-key、persistent-keepalive 和 ip-stack 都是可选字段。存在这些字段,不代表每份配置都需要填写。
截至 2026-11-08,以上字段解释依据当日查阅的 mihomo 文档;后续调整应以该文档为准。
第三方整理,与项目方无关。