本章为大家简单整理一下有关Windows server Active Directory和Active Directory域服务(AD DS)组件的端口要求。生产环境中我们在做网络调整、防火墙或者开关端口白名单等操作的时候,很多时候都会遇到同步异常等问题,具体是哪些策略影响端口通信引起的我们很难及时排查,本章将为大家简单整理一下,希望大家可以少走弯路,提高排错效率。注:可写域控制器和只读域控制器(RODC)都具有相同的端口要求。

一、默认动态端口范围:

在由基于Windows Server 2003的域控制器组成的域中,默认的动态端口范围为1025至5000。Windows Server 2008 R2和Windows Server 2008符合互联网号码分配机构(IANA)的建议,增加了动态端口连接范围。新的默认开始端口是49152,并且新的默认端口是65535.因此,您必须增加防火墙中的远程过程调用(RPC)端口范围。如果您的混合域环境包含Windows Server 2008 R2和Windows Server 2008服务器以及Windows Server 2003,请允许通过端口1025至5000以及49152至65535的流量。

当您在下表中的协议和端口列中看到"TCP Dynamic"时,它指的是端口1025到5000(Windows Server 2003的默认端口范围)以及端口49152到65535,这是从Windows Server 2008开始的默认端口范围。

您可以使用以下的netsh命令运行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> set dynamic <tcp | udp> start = 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。

二、将RPC限制到特定的端口:

如上一节"默认动态端口范围"中所述,RPC流量在动态端口范围内使用。如何将RPC流量限制到特定端口,请参考如下内容:

默认情况下,Active Directory复制远程过程调用(RPC)通过使用端口135通过RPC端点映射程序(RPCSS)在可用端口上动态发生。管理员可以覆盖此功能并指定所有Active Directory RPC通过的端口。此过程锁定端口。

通过使用"更多信息"一节中提到的注册表项指定要使用的端口时,端点映射器将Active Directory服务器端复制流量和客户端RPC流量发送到这些端口。此配置是可能的,因为Active Directory支持的所有RPC接口都在其所监听的所有端口上运行。

注意本小结不介绍如何为防火墙配置AD复制。必须打开其他端口才能通过防火墙进行复制。例如,可能需要为Kerberos协议打开端口。

更多信息:重要说明此部分,方法或任务包含说明如何修改注册表的步骤。但是,如果您不正确地修改注册表,则可能会出现严重问题。因此,请确保您认真执行这些步骤。为了增加保护,请在修改注册表之前备份注册表。然后,如果发生问题,您可以还原注册表。

当您连接到RPC端点时,客户端上的RPC运行时会联系服务器上熟知端口(135)上的RPC端点映射程序(RPCSS),并获取要连接的端口以支持所需的RPC接口。这假定客户端不知道完整的绑定。所有AD RPC服务都是这种情况。

该服务在启动时注册一个或多个端点,并可选择动态分配的端口或特定的端口。

如果将活动目录和Netlogon配置为在"端口x"处运行(如以下条目中所示),则除标准动态端口外,这将成为端点映射器注册的端口。

使用注册表编辑器修改要使用受限制端口的每个域控制器上的以下值。成员服务器不被视为登录服务器,因此NTDS的静态端口分配对它们没有影响。

成员服务器确实有Netlogon RPC接口,但它很少使用。一些示例可能是远程配置检索,如"nltest /server:member.contoso.com /sc_query:contoso.com"。

注册表键值1:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters

Registry value: TCP/IP Port

Value type: REG_DWORD

Value data: (available port)

注册表键值2:

You need to restart the computer for the new setting to become effective.

Registry key 2

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters

Registry value: DCTcpipPort

Value type: REG_DWORD

Value data: (available port)

如上两注册表键值修改后,都需要重新启动Netlogon服务才能使新设置生效。

注意当您使用DCTcpipPort注册表项,并将其设置为与"TCP / IP端口"注册表项相同的端口时,您会收到NTDS \ Parameters下的Netlogon错误事件5809。这表示配置的端口正在使用中,您应该选择不同的端口。

当您拥有唯一的端口时,您将收到相同的事件,并且您在域控制器上重新启动Netlogon服务。这是通过设计来实现的,并且是由于RPC运行时管理其服务器端口的方式而发生的。该端口将在重新启动后使用,并且该事件可以被忽略。

如果使用任何中间网络设备或软件来过滤域控制器之间的数据包,管理员应确认通过指定端口的通信已启用。

通常,您还必须手动设置文件复制服务(FRS)RPC端口,因为AD和FRS复制使用相同的域控制器进行复制。文件复制服务(FRS)RPC端口应使用不同的端口。

不要以为客户端只使用Netlogon RPC服务,因此只需要设置DCTcpipPort。客户还使用其他RPC服务,例如SamRPC,LSARPC以及目录复制服务(DRS)接口。因此,您应始终配置两个注册表设置并在防火墙上打开两个端口。

注意:指定端口后,可能会遇到以下已知问题:

  • 在基于Windows Server 2008 R2的域环境中为NTDS和Netlogon设置特定静态端口之后的长登录时间
  • 在基于Windows的域环境中为NTDS设置静态端口后,AD复制失败并出现RPC问题
  • 在Windows Server 2012 R2或Windows Server 2008 R2中将客户端RPC限制为直流通信后登录失败

三、与域控制器的通信端口汇总:

下表列出了从Windows Server 2003开始的所有版本的Windows Sever中建立DC到DC通信的端口要求。(在只读域控制器(RODC)和可写DC之间进行通信需要额外的端口。)

协议和端口

AD和AD DS用法

端口类型

TCP和UDP 389

目录,复制,用户和计算机认证,组策略,信任

LDAP

TCP 636

目录,复制,用户和计算机认证,组策略,信任

LDAP SSL

TCP 3268

目录,复制,用户和计算机认证,组策略,信任

LDAP GC

TCP 3269

目录,复制,用户和计算机认证,组策略,信任

LDAP GC SSL

TCP和UDP 88

用户和计算机身份验证,林级信任

Kerberos

TCP和UDP 53

用户和计算机认证,名称解析,信任

DNS

TCP和UDP 445

复制,用户和计算机身份验证,组策略,信任

SMB,CIFS,SMB2,DFSN,LSARPC,NbtSS,NetLogonR,SamR,SrvSvc

TCP 25

复制

SMTP

TCP 135

复制

RPC,EPM

TCP Dynamic

复制,用户和计算机身份验证,组策略,信任

RPC,DCOM,EPM,DRSUAPI,NetLogonR,SamR,FRS

TCP 5722

文件复制

RPC,DFSR(SYSVOL)

UDP 123

Windows时间,信任

Windows Time

TCP和UDP 464

复制,用户和计算机认证,信任

Kerberos更改/设置密码

UDP Dynamic

组策略

DCOM,RPC,EPM

UDP 138

DFS,组策略

DFSN,NetLogon,NetBIOS数据报服务

TCP 9389

AD DS Web服务

SOAP

UDP 67和UDP 2535

DHCP

(DHCP不是核心的AD DS服务,但它经常出现在许多AD DS部署中。)

DHCP,MADCAP

UDP 137

用户和计算机认证,

NetLogon,NetBIOS名称解析

TCP 139

用户和计算机身份验证,复制

DFSN,NetBIOS会话服务,NetLogon

Windows Server 2016-Active Directory域服务端口汇总的更多相关文章

  1. Prepare and Deploy Windows Server 2016 Active Directory Federation Services

    https://docs.microsoft.com/en-us/windows/security/identity-protection/hello-for-business/hello-key-t ...

  2. Windows Server 2016 Active Directory 图文搭建指南

    1. 首先打开Manage --> Add Roles and Features 2. 点击Next 3. 不做修改,点击Next 4. 不做修改,点击Next 5. 选择Active Dire ...

  3. Windows Server 2016-WinSer2016 Active Directory新增功能

    Windows Server 2016 Active Directory 域服务 (AD DS)新增很多功能用来提升Active Directory域及组织环境安全等,并帮助他们面向云的部署或混合部署 ...

  4. Active Directory 域服务 (AD DS) 虚拟化

    TechNet 库 Windows Server Windows Server 2012 R2 和 Windows Server 2012 服务器角色和技术 Active Directory Acti ...

  5. 介绍 Active Directory 域服务 (AD DS) 虚拟化

    TechNet 库 Windows Server Windows Server 2012 R2 和 Windows Server 2012 服务器角色和技术 Active Directory Acti ...

  6. [Azure附录]1.在Windows Server 2012中安装Active Directory域服务

    <Windows Azure Platform 系列文章目录> 1.登陆Windows Server 2012,打开服务器管理器,选择"添加角色和功能" 2.在&quo ...

  7. Windows Server 2012中安装Active Directory域服务

    1.登陆Windows Server 2012,打开服务器管理器,选择"添加角色和功能" 2.在"开始之前"页面,直接点击"下一步" 3.选 ...

  8. cmd 执行Dcpromo错误:在该 SKU 上不支持 Active Directory 域服务安装向导,Windows Server 2008 R2 Enterprise 配置AD(Active Directory)域控制器

    今天,要安装AD域控制器,运行dcpromo结果提示:在该 SKU 上不支持 Active Directory 域服务安装向导. 以前弄的时候直接就通过了,这次咋回事?终于搞了大半天搞定了. 主要原因 ...

  9. 安装 Windows Server 2012 Active Directory 只读域控制器 (RODC)(级别 200)

    安装 Windows Server 2012 Active Directory 只读域控制器 (RODC)(级别 200) 适用对象:Windows Server 2012 本主题介绍如何创建分步的 ...

随机推荐

  1. spring-boot (四) springboot+mybatis多数据源最简解决方案

    学习文章来自:http://www.ityouknow.com/spring-boot.html 配置文件 pom包就不贴了比较简单该依赖的就依赖,主要是数据库这边的配置: mybatis.confi ...

  2. MySQL中支持emoji表情的存储

    由于需要实现emoji表情评论的功能,所以数据库需要支持emoji表情的存储,根据查询的资料最终实现了该功能,现将实现的过程以及过程遇到的一些问题记录下来,供大家参考和交流. mysql的utf8编码 ...

  3. SQLite占用资源少原因

    本篇承接上篇SQLite详解的下篇,介绍SQLIte为什么占用资源少的原因?本文主要参考https://blog.csdn.net/hanyingzhong/article/details/46400 ...

  4. NLP入门(四)命名实体识别(NER)

      本文将会简单介绍自然语言处理(NLP)中的命名实体识别(NER).   命名实体识别(Named Entity Recognition,简称NER)是信息提取.问答系统.句法分析.机器翻译等应用领 ...

  5. Transact-SQL解析和基本的实用语句

    SQL语言 DDL(数据定义语句) DML(数据操作语句) DCL(数据控制语句) DDL 数据定义 操作对象 操作方式 创建 删除 修改 模式 CREATE SCHEMA DROP SCHEMA 表 ...

  6. [Linux] Nginx 提供静态内容和优化积压队列

    1.try_files指令可用于检查指定的文件或目录是否存在; NGINX会进行内部重定向,如果没有,则返回指定的状态代码.例如,要检查对应于请求URI的文件是否存在,请使用try_files指令和$ ...

  7. spring boot 打jar包,获取resource路径下的文件

    前言:最近在spring boot项目静态类中获取resource路径下文件,在idea中启动都可以获取,但是打包后变成了jar包 就无法获取到. 我想到了两种方法,一种是根据http访问静态资源比如 ...

  8. wp rest api 授权方法步骤(使用JWT Authentication插件)

    环境:wordpress 4.7 以上,WP自带的 rest api v2 目标:使用javascript与wp rest api交互,其中编辑.新增.删除等需要Oauth认证授权 方法: 步骤一:  ...

  9. 为啥JQuery被淘汰了?

    摘要: 技术进步永不止步. 原文:jQuery的没落和技术发展的一般规律 作者:凌霄光 Fundebug经授权转载,版权归原作者所有. jQuery的成就 jQuery是一个伟大的库, 它解决了dom ...

  10. Linq 操作DataTable

    class ClientStruct { public string ID = "ID"; public string Name = "Name"; publi ...