syn sent
状态和 ChatGPT
沟通后,它建议我将 mihomo
配置中的 stack
由 system
切换到 gvisor
,修改此配置后,WSL2 网络故障恢复正常。
ChatGPT
告诉我, stack: system
模式下,mihomo 依赖操作系统内核维护 TCP 连接上下文,所以请求来自 WSL2 (经过 Windows 的 NAT )时,在某些情况下,系统内核会丢弃回包,导致 WSL2 无法通过代理上网。
而 gVisor
是用户态协议栈,自己维护连接状态、重发机制、窗口大小、NAT 表等,所以它能正常处理来自 WSL2 的请求。
我的疑问:WSL2 的 NAT 状态是由宿主机 Windows
维护的,对于 mihomo
来说,无论是 WSL2 还是宿主机的请求,来源地址都是宿主机的 IP , 为什么 mihomo
会出现无法正常处理 WSL2 回包的情况?
恳请对这一现象了解的 V 友能够解答一二。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.