要通过防火墙建立域信任关系或安全通道,必须打开下列端口。请注意,在防火墙的两端可能有同时充当客户端和服务器角色的主机。因此,可能需要镜像端口规则。
 

Windows NT

客户端端口 服务器端口 服务
1024-65535/TCP 135/TCP RPC *
137/UDP 137/UDP NetBIOS 名称
138/UDP 138/UDP NetBIOS Netlogon 和浏览
1024-65535/TCP 139/TCP NetBIOS 会话
1024-65535/TCP 42/TCP WINS 复制
 

Windows Server 2003 和 Windows 2000 Server

对于混合模式域(具有 Windows NT 域控制器或旧客户端,或者在位于不同林中的两个基于 Windows Server 2003 或基于 Windows 2000 Server 的域控制器之间存在信任关系),除了下列端口之外,可能还需要为 Windows NT 打开上述所有端口:
客户端端口 服务器端口 服务
1024-65535/TCP 135/TCP RPC *
1024-65535/TCP/UDP 389/TCP/UDP LDAP
1024-65535/TCP 636/TCP LDAP SSL
1024-65535/TCP 3268/TCP LDAP GC
1024-65535/TCP 3269/TCP LDAP GC SSL
53,1024-65535/TCP/UDP 53/TCP/UDP DNS
1024-65535/TCP/UDP 88/TCP/UDP Kerberos
1024-65535/TCP 445/TCP SMB
要使 Active Directory 通过防火墙正常工作,必须允许 Internet 控制消息协议 (ICMP) 通过防火墙从客户端到达域控制器,以便客户端可以接收组策略信息。ICMP 用于确定链接是慢速链接还是快速链接。ICMP 是 Active Directory 用于组策略检测和最大传送单位 (MTU) 检测的合法协议。

如果要最大限度地减小 ICMP 流量,可以使用下面的示例防火墙规则:
<any> ICMP -> DC IP addr = allow

与 TCP 协议层和 UDP 协议层不同,ICMP 没有端口号。这是因为 ICMP 直接由 IP 层主持。

注意:对于超出本表列出的范围的 RPC 通信,有特定的要求。 有关如何为防火墙配置 RPC 通信的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
154596 ([url]http://support.microsoft.com/kb/154596/[/url]) 如何配置与防火墙一起使用的 RPC 动态端口分配
默认情况下,当 Windows Server 2003 服务器和 Windows 2000 Server DNS 服务器查询其他 DNS 服务器时,它们使用临时客户端端口。不过,可以使用特定的注册表设置来修改这一行为,下面的 Microsoft 知识库文章中描述了该注册表设置:
260186 ([url]http://support.microsoft.com/kb/260186/[/url]) SendPort DNS 注册表项没有按预期运行

有关 Active Directory 和防火墙配置的更多信息,请参阅下面的 Microsoft 白皮书:
[url]http://www.microsoft.com/downloads/details.aspx?FamilyID=c2ef3846-43f0-4caf-9767-a9166368434e&displaylang=en[/url] ([url]http://www.microsoft.com/downloads/details.aspx?FamilyID=c2ef3846-43f0-4caf-9767-a9166368434e&displaylang=en[/url])
或者,您也可以通过点对点隧道协议 (PPTP) 强制隧道建立信任关系,这将限制防火墙需要打开的端口数量。对于 PPTP,必须启用下列端口:

客户端端口 服务器端口 协议
1024-65535/TCP 1723/TCP PPTP

此外,还需要启用 IP PROTOCOL 47 (GRE)。

注意:当您为受信任域中的用户添加对信任域上的资源的权限时,Windows 2000 和 Windows NT 4.0 的行为之间有一些差异。如果计算机无法显示远程域的用户列表:
Windows NT 4.0 会尝试联系远程用户的域的 PDC 来解析手动键入的名称 (UDP 138)。如果该通信失败,基于 Windows NT 4.0 的计算机会联系它自己的 PDC,然后请求对名称进行解析。
Windows 2000 和 Windows Server 2003 也会尝试联系远程用户的 PDC 以通过 UDP 138 进行解析,但不会回来使用它们自己的 PDC。请确保将被授权访问资源的所有基于 Windows 2000 的成员服务器和基于 Windows Server 2003 的成员服务器都具有到远程 PDC 的 UDP 138 连接。