window会占用一些常用端口
- 问题背景
这个问题的背景分为两部分:
Windows 中有一个「TCP 动态端口范围」,处在这个范围内的端口,有时候会被一些服务占用。在 Windows Vista(或 Windows Server 2008)之前,动态端口范围是 1025 到 5000;在 Windows Vista(或 Windows Server 2008)之后,新的默认起始端口为 49152,新的默认结束端口为 65535。
如果安装了 Hyper-V,那么 Hyper-V 会为容器宿主网络服务(Windows Container Host Networking Service)随机保留一些端口号使用。
正常情况下,Hyper-V 虽然会在「TCP 动态端口范围」中随机挑一些端口号保留(占用),不过保留的端口号普遍比较大,就算保留几百、几千个也影响不大。但是,Windows 自动更新有时会出错,导致这个范围的起始端口被重置为 1024……这可就麻烦了,一些常用端口动不动就因为被保留而无法使用了。
参考示例:
Windows PowerShell
版权所有(C) Microsoft Corporation。保留所有权利。
安装最新的 PowerShell,了解新功能和改进!https://aka.ms/PSWindows
PS C:\Users\hongcheng> netsh int ipv4 set dynamic tcp start=49152 num=16384
确定。
PS C:\Users\hongcheng> netsh int ipv6 set dynamic tcp start=49152 num=16384
确定。
PS C:\Users\hongcheng> netsh int ipv4 show dynamicport tcp
协议 tcp 动态端口范围
---------------------------------
启动端口 : 49152
端口数 : 16384
PS C:\Users\hongcheng>