You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启用eth0后WireGuard握手数据包源/目的IP异常变更致接口失效的问题求助

启用eth0后WireGuard握手数据包源/目的IP异常变更致接口失效的问题求助

各位好,我现在碰到一个棘手的网络问题,想请大家帮忙分析下:

当我把网线插到树莓派5的eth0接口后,WireGuard的回复数据包的源地址和目的地址会被错误修改,直接导致WG接口无法正常建立连接。

先说明下我的设备和网络配置:

  • 设备:Raspberry Pi 5
  • 网络基础:wlan0负责连接外网(IP:192.168.5.160),所有非本地网络的出站流量默认走wg1 VPN接口(这部分功能目前是正常的)
  • eth0配置:静态IP为192.168.6.1,仅用于内网局域网的连接
  • WireGuard策略:我给所有入站的WireGuard数据包打上了0x15的标记,目的是让这些回复流量强制从wlan0接口回源,避免走wg1 VPN绕路

未启用eth0时的正常交互日志

当从外部发起wg0连接请求时,内核日志里的正常握手流程如下:

pi5 kernel: Inbound Connection:  IN=wlan0 OUT= MAC= SRC=<WANIP> DST=192.168.5.160 LEN=176 TOS=0x00 PREC=0x00 TTL=63 ID=48888 DF PROTO=UDP SPT=44311 DPT=51820 LEN=156 MARK=0x15
pi5 kernel: Outbound Connection:  IN= OUT=lo SRC=192.168.5.160 DST=<WANIP> LEN=120 TOS=0x08 PREC=0x80 TTL=64 ID=2721 PROTO=UDP SPT=51820...

可以看到入站包从wlan0进入,被打上了0x15标记;回复的出站包源地址是wlan0的192.168.5.160,目的是外部发起连接的WAN IP,这时候WG握手正常,接口能正常工作。


启用eth0后的异常现象

但只要我插上eth0的网线,问题就出现了:WireGuard的回复数据包源地址会变成eth0的192.168.6.1,而且出站接口也切换成了eth0,导致外部节点根本收不到回复包,WG握手直接失败,接口完全无法使用。

我初步怀疑是路由表或者策略路由的优先级问题?比如启用eth0后,系统的默认路由选择逻辑覆盖了我基于标记的路由规则?但我明明已经给入站WG包打了标记,并且配置了对应策略让标记0x15的流量走wlan0的路由表...

有没有大佬遇到过类似的问题?或者能给我一些排查方向和可能的解决思路?

备注:内容来源于stack exchange,提问作者James

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 12:15:33