Windows Server 2008 R2 防火墙 - 接口特定规则

Windows Server 2008 R2 防火墙 - 接口特定规则

我正在尝试定义每个接口规则,就像在 Server 2003 中一样。

我们将用新的 2008 R2 服务器替换旧的 2003 服务器。该服务器运行 IIS 和 SQL Server。它是托管公司的专用服务器。我们使用办公室的 OpenVPN 连接来访问 SQL 服务器、RDesktop、FTP 和其他管理服务。只有 http 和 ssh 在公共接口上监听。

在运行 2003 的旧服务器上,我能够为 http 和 ssh 定义全局规则,并仅在 vpn 接口上允许其他服务。我找不到在 2008 R2 上执行相同操作的方法。

我知道有网络位置感知服务,防火墙规则是根据当前网络位置应用的。但我不明白这在服务器上的用途。

我发现的唯一接近的解决方案是在防火墙规则上设置范围并将远程 IP 地址限制为办公室的私有子网。但端口仍将在公共接口上进行监听。

那么,如何将防火墙规则限制于来自 vpn 接口的连接?


备注这一页 指出将规则范围限定到接口不再存在:

在早期版本的 Windows 中,许多此类命令都接受名为 interface 的参数。Windows Vista 或更高版本的 Windows 中的防火墙上下文不支持此参数。

我不敢相信他们竟然决定删除每个防火墙都具有的核心防火墙功能。一定有办法将规则限制到接口上。

有任何想法吗 ?


我仍然无法找到解决问题的适当方法。因此,目前我的解决方法是:

  • 管理服务监听 VPN IP 地址
  • 防火墙规则将范围限制为 VPN 的本地 IP 地址
  • 公共服务监听所有接口,防火墙规则不受范围限制

这不是最佳选择,如果我更改 VPN 的 IP 地址,我也需要编辑防火墙规则。如果规则绑定到接口,就不会出现这种情况。

答案1

我知道这是一个旧的/死的线程,但是当我在 Google 上搜索此问题时,它首先出现在结果列表中,因此我为未来的访问者发布了这个答案:

请参阅此线程以了解如何在每个接口上禁用/启用 Windows 7 和 Windows Server 2008 防火墙:

如何在 Windows 7 中禁用单个接口上的防火墙?

答案2

花了我几个小时,但我找到了一种在 Windows 2008 R2 上执行此操作的方法(有点复杂,但可以自动化):

  1. 运行 ipconfig /all 并获取您需要的接口 ID,它应该看起来像:

隧道适配器 isatap。{46BE0BE9-4808-4CF4-8C3B-DC543261F096}

  1. 这是需要更改的注册表项:HKLM\System\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy\域名简介\禁用接口

您可以将“DomainProfile”与您想要编辑的配置文件交换。

在值中你应该设置你想要禁用的接口id,用逗号分隔:

{46BE0BE9-4808-4CF4-8C3B-DC543261F096},{91...}

相关内容