如何在 Windows 高级防火墙中阻止传入 IP 范围

如何在 Windows 高级防火墙中阻止传入 IP 范围

我想阻止来自13.54.XX在“范围”>“输入此 IP 地址范围”输入框下(从 和 至),我是否应该写:

13.54.0.013.54.255.255

或者我是否必须创建单独的规则:

13.54.0.0 to 13.54.0.255
13.54.1.0 to 13.54.1.255
13.54.2.0 to 13.54.2.255
13.54.3.0 to 13.54.3.255 

答案1

首先计算子网 CIDR 符号。在13.54.0.0 至 13.54.255.255IPv4 范围,前两个八位字节是常量(网络前缀),其余最后两个八位字节是变量(主机寻址)。因此前缀的位长为 (32-16)=16。CIDR 表示法为13.54.0.0/16

有三种方法可以阻止该 IP 范围。

  1. 使用防火墙控制面板:: 使用Win+打开 Windows 防火墙控制面板R并输入工作流管理系统. 点击入站规则 > 新规则 > 自定义 > 所有程序 > 协议类型:任意 > 添加远程 IP 地址(见下文) > 勾选阻止连接 > 配置文件:全选 > 名称。

防火墙_新_规则

添加远程 IP 地址:点击“此 IP 地址”远程 IP 部分中的单选按钮。类型13.54.0.0/16以下'此 IP 地址或子网'然后确定。现在您的入站规则已准备就绪。

添加 IP 地址

  1. 使用管理员命令提示符::输入此命令netsh advfirewall firewall add rule name="New_Rule" Dir=In Action=Block RemoteIP=13.54.0.0/16

添加规则

  1. 使用管理员 Powershell::输入此命令New-NetFirewallRule -Direction Inbound -DisplayName "New_Rule" -Name "New_Rule" -RemoteAddress 13.54.0.0/16 -Action Block

Powershell_Add_rule

进一步阅读:

答案2

如果不属于某个子网掩码,PowerShell 还支持范围和列表。

New-NetFirewallRule -Name "Block Rule (in)" `
                -Description "Bad IP'S" `
                -DisplayName "Block Rule (in)" `
                -Enabled True `
                -Profile Any `
                -Direction Inbound `
                -Action Block `
                -RemoteAddress ("13.54.0.0-13.54.0.255",
                                    "13.54.1.0-13.54.1.255",
                                    "13.54.2.0-13.54.2.255",
                                    "13.54.3.0-13.54.3.255" )

答案3

使用子网掩码创建单个防火墙规则

您可以创建单个防火墙规则来13.54.0.0 to 13.54.255.255使用/16掩码阻止 IP 范围,如下所示:

13.54.0.0/16

之后的部分/子网掩码指定应检查指定地址的多少位来确定连接的 IP 地址是否与规则匹配。

就你的情况来说,这很容易解决。你只想根据前两个八位字节匹配地址(13.54。IP 地址的 xx) 表示一个八位字节。一个八位字节包含 8 位,因此两个八位字节等于 16 位或一个掩码/16

了解更多在维基百科上关于使用位掩码来指示 IP 的哪些部分是匹配的。

答案4

范围 > 远程 IP 地址 > 此 IP 范围 > 从:13.54.0.0 > 到:13.54.0.255

然后按照同一规则添加其余部分。

这在 Windows 防火墙中可以工作,但是添加每个防火墙需要很长时间。绝对不高效。在这种情况下,Twisty 的 CIDR 解决方案是最好的。

相关内容