WSL 绑定所有端口,失去网络访问权限:无法连接

ade*_*ebm 4 networking windows wireless-networking windows-10 windows-subsystem-for-linux

我在 Windows 10 机器(build 1803)上使用 WSL 进行一些节点开发。不可避免地,在启动 WSL 的几个小时内,系统上的所有端口都会被绑定。此时,没有新的网络连接打开,我实际上失去了网络访问权限,直到我重新启动。

netstat -qn |findstr BOUND
Run Code Online (Sandbox Code Playgroud)

这会显示所有 TCP 端口绑定到最大值,例如:

 TCP    0.0.0.0:60755          0.0.0.0:0              BOUND
Run Code Online (Sandbox Code Playgroud)

我已经尝试使用 ipconfig 来重置 Windows 端适配器,杀死所有 WSL 进程,以及其他一些事情,但没有任何东西可以解除端口的绑定。我希望能够使用我的计算机而不必每隔几个小时重新启动一次。

我能够找到一个信息有限的 未解决问题:https : //github.com/Microsoft/WSL/issues/2523,但没有解决方案或变通方法。

任何重置 WSL 或打开端口的方法都将不胜感激!

小智 5

临时的解决办法:使用任务管理器“结束进程树”的adbwslhost.exewslbridge.exe。然而,这会杀死 WSL 和任何在 WSL 上运行的东西。

永久修复:看起来这是一个已知的 WSL 错误,在 GitHub此处此处描述,Microsoft 在 Build 18890 中修复了它。但是,截至 2019 年 5 月,Build 18890 远远领先于 Windows 的稳定版本,因此您需要注册 Windows Insider Program 以获取它。