我有一台 SQL Server 机器和一台监控机器,我需要监控主机上的监控软件能够读取 SQL Server 主机上的 WMI 数据。(监控软件是 RedGate SQL 监视器)。两台机器都运行Windows Server 2008 R2。
我尝试了多种防火墙规则组合,尝试让两者连接,并成功打开了所需的几个端口(例如用于远程注册表的 139 和 445)。但我无法打开端口 135,因此监视器无法连接到 WMI。我最近的尝试是这样的:
我已进入本地计算机策略(这些机器位于同一个专用网络上,但不属于任何域),并启用了远程管理例外(根据这篇 TechNet 文章)。这为 svchost.exe 创建了一个适用于私有和公共配置文件的防火墙规则,该规则仅允许从监控机器的私有 IP 到端口 135 的流量。(Windows 防火墙以标准方式设置,默认情况下阻止传入并允许出站。)没有启用其他适用于 135 的规则(无论是单独还是在范围内)。但是,当我尝试连接监视器时,它显示错误,当我进入 SQL 机器的 Windows 防火墙日志时,我可以清楚地看到从监视器 IP 到 SQL IP 的端口 135 被阻止。
#Fields: date time action protocol src-ip dst-ip src-port dst-port size tcpflags tcpsyn tcpack tcpwin icmptype icmpcode info path
2015-04-07 10:22:43 DROP TCP <monitor_ip> <database_ip> 58866 135 52 S 1072620108 0 8192 - - - RECEIVE
我是一名 DBA,所以这不完全是我的专长。我和两个系统管理员已经为此绞尽脑汁一个星期了。请帮忙!
答案1
所以,最后唯一有效的办法就是关闭 Windows 防火墙私有配置文件。
在执行此操作之前,我们修改了设置(包括禁用 NetBIOS),这样就不会有流量被丢弃(在该配置文件中),因此关闭配置文件与打开配置文件几乎是一样的。我们在前后也进行了几天的监控以确保这一点。
(我们尝试默认允许入站,但它仍然阻止了 135,所以我们只是禁用了整个配置文件。)