-
Notifications
You must be signed in to change notification settings - Fork 51
Windows 下 faketcp 连接失败,回退逻辑可能有问题 #207
Copy link
Copy link
Open
Description
尝试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),
)?))Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels