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 自行决定一个合适的区间)