我们希望将在 Windows 2008 服务器中的 IIS 上运行的网站的 IP 地址列表列入白名单。由于这个 IP 地址列表是动态的,我们希望将其存储在一个文本文件中,该文件将使用 Web 服务进行更新。你是怎么做的,我们必须避免任何类型的手动干预,例如打开 GUI 或重新启动服务器。我们知道如何在 Linux 上通过 IP 表或通过为 Apache 或 Nginx 动态生成规则来实现这一点。
有人可以帮助我们解决这个问题。
我们希望将在 Windows 2008 服务器中的 IIS 上运行的网站的 IP 地址列表列入白名单。由于这个 IP 地址列表是动态的,我们希望将其存储在一个文本文件中,该文件将使用 Web 服务进行更新。你是怎么做的,我们必须避免任何类型的手动干预,例如打开 GUI 或重新启动服务器。我们知道如何在 Linux 上通过 IP 表或通过为 Apache 或 Nginx 动态生成规则来实现这一点。
有人可以帮助我们解决这个问题。
您可以使用 PowerShell 和计划任务来完成此操作。可以使用New-NetFirewallRule Cmdlet 创建新的防火墙规则。您的规则可能如下所示:
您必须将允许的 IP 地址放在一个数组中(请参阅变量 $IPs)才能使其正常工作。当然,这部分脚本取决于您的文本文件的布局。如果您的文件如下所示:
然后以下代码片段应该可以工作:
要更新规则,您可以使用 Remove-NetFirewallRule Cmdlet 删除并使用 IP 地址的网络集重新创建它,使用显示名称作为标识符。
或者,您可以使用Set-NetFirewallRule Cmdlet 使用相同的参数集修改现有规则。