【Widnows】Hyper-V随机端口绑定导致冲突解决方案

发布时间 2023-05-25 16:02:51作者: 双份浓缩馥芮白

✨Windows TCP 动态端口范围

在 Windows 操作系统中,TCP 动态端口范围是指用于临时分配给应用程序的端口号范围。当应用程序需要与其他计算机建立 TCP 连接时,操作系统会自动分配一个未使用的动态端口号给该应用程序使用。

在 Windows 中,默认的 TCP 动态端口范围是从 49152 到 65535(即 2^15 至 2^16-1)。这个范围通常被称为“私有或短暂端口范围”(Private or Ephemeral Port Range)。这些端口号用于临时连接,并在连接终止后立即释放。


使用如下命令行查看当前的动态端口范围设置

netsh int ipv4 show dynamicport tcp
netsh int ipv6 show dynamicport tcp

如果需要更改动态端口范围,可以使用以下命令(以更改 IPv4 动态端口范围为例)

netsh int ipv4 set dynamicport tcp start=NewStartPortNumber num=NumberOfPorts

✨Hyper-V随机端口绑定

如果安装了 Hyper-V,那么 Hyper-V 会为容器宿主网络服务(Windows Container Host Networking Service)随机保留一些端口号使用。

正常情况下,Hyper-V 虽然会在「TCP 动态端口范围」中随机挑一些端口号保留(占用),但通常不会影响使用。

但某些情况下「TCP 动态端口范围」的启始端口会变为1024

也不知道为什么会出现这种情况这很Windows

image-20230525155115458

这会导致很多常用端口被占用(例如7890、8080、8888等)

甚至导致JetBrains系列软件无法启动

image-20230525155323619


✨解决方案

重新修改「TCP 动态端口范围」为 49152 到 65535

netsh int ipv4 set dynamicport tcp start=49152 num=16384
netsh int ipv6 set dynamicport tcp start=49152 num=16384

然后重启,问题解决。


✨参考及引用

https://zhuanlan.zhihu.com/p/474392069


⭐转载请注明出处

本文作者:双份浓缩馥芮白

原文链接:https://www.cnblogs.com/Flat-White/p/17431595.html

版权所有,如需转载请注明出处。