在 wg show 输出中应该查看什么?
这是一个 wg show 输出示例:
wg_show_output.txt
interface: MyVPN
public key: xJ+A//t9RbOU4ISIr61tsZwc8SPLbLONXhknnU1QvBQ=
私钥:(隐藏)
监听端口:12073
peer: xgmml6wPoe9auL5oGhqScQXLByfrI/1xq3sOJzYaNhE=
端点:77.55.81.22:23711
允许的 IP:10.178.212.1/32, 10.39.24.0/24
最新握手:37 秒前
传输:接收 948 B,发送 1.40 KiB
持久保活:每 30 秒这是我要查看的:
- 所需的 wireguard 接口是否存在? 如果不存在,这表明计算机甚至没有尝试启动接口(例如因为未启用自动启动)或启动失败,例如因为路由已定义
- 是否列出了所需的对等方? 如果没有,这始终是配置错误
- 是否启用了
persistent keepalive? 没有persistent keepalive,你将无法正确调试 Wireguard,因为除非有流量通过接口,否则不会发送任何数据包。因此,我强烈建议始终启用persistent keepalive,即使你计划稍后禁用它! latest handshake是否列出且是最近的? 无法与远程对等方握手通常表明网络问题或配置问题,但在某些情况下也是系统相关问题:- 系统问题: 本地和远程端的 wireguard 接口是否已启动并配置?
- 网络问题: 端口未转发到目标机器,转发了 TCP 端口而不是 UDP 端口,本地或远程互联网访问被防火墙阻止,给出了错误的端口,给出了错误的 IP 地址或主机名,DynDNS 主机名未更新,Wireguard 尝试访问 IPv6 地址但只有 IPv4 端口正确转发(使用
host检查) - Wireguard 配置问题: 远程对等方是否使用与本地配置中的公钥匹配的正确私钥?远程配置是否将本地公钥列为对等方?本地配置是否有与远程配置中列出的公钥匹配的正确私钥?对等方公钥是否与端点匹配(如果指定)或可能密钥与端点不匹配?
transfer应显示接收和发送 >0 字节! 这通常等同于latest handshake调试方法。发送了字节但未接收到字节通常表明 Wireguard 接口正在尝试执行握手但未获得任何回复。
另请参见我的 WireguardConfig 项目,它使这种配置更容易
Check out similar posts by category:
Networking, VPN, Wireguard
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow