Hyber-V 是 win 中的一项虚拟化技术,它会随机的保留一些端口用于通信,这些端口的占有不会在例如 netstat -ano 等命令工具下显示。

在每次启动时,会随机的指定一些端口范围保留,并在这些端口中使用一部分用于自身的通信,这就造成了端口占用无法复现的问题(重启之后端口占用的问题消失了)。

查看 Hyber-V 目前占有的端口范围:

netsh int ipv6 show dynamicport tcp

设置一个持久有效的端口保留范围:

netsh int ip set dynamicport tcp start=64000 num=1535

(start 和 num 自行决定一个合适的区间)