自 Windows Vista 和 Windows Server 2008 以来,TCP/IP 的默认动态端口范围已更改

适用于: Windows 10, version 2004, all editionsWindows Server, version 2004, all editionsWindows 10, version 1909, all editions

未安装任何 service pack 的 Windows Vista 支持在2010年4月13日结束。 若要继续接收 Windows 安全更新,请确保你运行的是 Windows Vista Service Pack 2 (SP2)。 有关更多信息,请访问以下 Microsoft 网站: 

简介


为了遵守 Internet 分配的号码授权机构(IANA)建议,Microsoft 已增加了 Windows Vista 和 Windows Server 2008 中传出连接的动态客户端端口范围。 新的默认起始端口为49152,新的默认结束端口为65535。 这是从使用默认端口范围1025到5000的较早版本的 Windows 的配置的更改。

更多信息


你可以使用以下netsh命令在运行 windows Vista 或 windows Server 2008 的计算机上查看动态端口范围:
  • netsh int ipv4 show dynamicport tcp
  • netsh int ipv4 show dynamicport udp
  • netsh int ipv6 show dynamicport tcp
  • netsh int ipv6 show dynamicport udp
注意 将为每个传输(TCP 或 UDP)单独设置范围。 端口范围现在是真正的区域,其中包含一个起点和一个终结点。 如果在内部网络上使用防火墙,则部署运行 Windows Server 2008 的服务器的 Microsoft 客户可能会遇到问题,这些问题会影响服务器之间的 RPC 通信。 在这些情况下,我们建议你重新配置防火墙,以允许动态端口范围49152到65535中的服务器之间的流量。 此范围除了由服务和应用程序使用的已知端口之外。 或者,可以在每台服务器上修改服务器使用的端口范围。 可使用netsh命令调整此范围,如下所示:
netsh int <ipv4 | ipv6> 设置动态 <tcp | udp> 开始 =number num =range
此命令设置 TCP 的动态端口范围。 起始端口为 "数字",端口总数为 "范围"。 下面是示例命令:
  • netsh int ipv4 set dynamicport tcp start = 10000 num = 1000
  • netsh int ipv4 set dynamicport udp start = 10000 num = 1000
  • netsh int ipv6 set dynamicport tcp start = 10000 num = 1000
  • netsh int ipv6 set dynamicport udp start = 10000 num = 1000
这些示例命令将动态端口范围设置为从端口10000开始,到端口10999(1000端口)结束。 可以设置的最小端口范围为255。 可以设置的最小起始端口为1025。 最大结束端口(基于配置的范围)不能超过65535。 若要复制 Windows Server 2003 的默认行为,请使用1025作为起始端口,然后使用3976作为 TCP 和 UDP 的范围。 这将生成1025的起始端口和结束端口5000。注意 在基于 Windows Server 2008 的计算机上安装 Microsoft Exchange Server 2007 时,默认端口范围是1025到60000。有关端口使用情况以及如何在 Exchange Server 2007 中静态映射端口的详细信息,请转到 Microsoft 知识库中的以下文章:
270836 Exchange Server 静态端口映射
有关 Microsoft Exchange 2007 中的安全的详细信息,请转到以下 Microsoft TechNet 网站:

参考


有关 IANA 端口分配标准的详细信息,请转到以下 IANA 网站:Microsoft 提供了第三方联系信息,以便于你寻求技术支持。 该联系信息如有更改,恕不另行通知。 Microsoft 不保证此第三方联系信息的准确性。