尝试faketcp协议但是无法运行,于是让codex检查了一下bug,请看如下:
Bug: Windows 下 faketcp 连接失败,回退逻辑把 ip:port 当作网卡名
环境信息
- 客户端项目:
ldoubil/astral
- 平台: Windows
- 目标节点:
faketcp://<server_ip>:11013
- 服务端 EasyTier 已正常监听 faketcp(同时也监听 tcp/udp)
问题现象
客户端连接 faketcp 时反复报错:
连接到节点错误。目标: faketcp://<server_ip>:11013, IP版本: V4, 错误: Err(TunnelError(IOError(Custom { kind: NotFound, error: "Network interface '<local_ip>:<ephemeral_port>' not found" })))
预期行为
- Windows 下 faketcp 应该正常使用 WinDivert 驱动工作。
- 如果 WinDivert 初始化失败,fallback 逻辑也不应把
ip:port 当作网卡名传入。
- 错误信息应明确指向驱动/权限/依赖问题,而不是网卡不存在。
实际行为
- 连接流程出现 WinDivert 初始化失败后 fallback。
- fallback 传入了
local_addr.to_string()(例如 <local_ip>:<ephemeral_port>)给 PnetTun::new(interface_name, ...)。
PnetTun 内部按“网卡名”查找接口,最终报 Network interface '<local_ip>:<ephemeral_port>' not found。
疑似问题点
- Windows 分支 fallback 逻辑(把
local_addr.to_string() 当作 interface_name)
文件: rust/easytier/src/tunnel/fake_tcp/netfilter/mod.rs
Ok(Arc::new(pnet::PnetTun::new(
local_addr.to_string().as_str(),
pnet::create_packet_filter(None, local_addr),
)?))
尝试faketcp协议但是无法运行,于是让codex检查了一下bug,请看如下:
Bug: Windows 下 faketcp 连接失败,回退逻辑把
ip:port当作网卡名环境信息
ldoubil/astralfaketcp://<server_ip>:11013问题现象
客户端连接 faketcp 时反复报错:
预期行为
ip:port当作网卡名传入。实际行为
local_addr.to_string()(例如<local_ip>:<ephemeral_port>)给PnetTun::new(interface_name, ...)。PnetTun内部按“网卡名”查找接口,最终报Network interface '<local_ip>:<ephemeral_port>' not found。疑似问题点
local_addr.to_string()当作interface_name)文件:
rust/easytier/src/tunnel/fake_tcp/netfilter/mod.rs