使用 netsh 过滤器阻止 ip 地址

使用 netsh 过滤器阻止 ip 地址

我正在尝试通过执行以下操作来阻止我的机器上的 IP 地址cmd

netsh ipsec add policy name=IPSystem
netsh ipsec static add filter filterlist=BlackList srcaddr=74.356.69.108 dstaddr=me&&

但看起来 IP 地址并没有被阻止,我做错了什么?

我正在使用 Windows 8.1

答案1

netsh ipsec和上下文netsh firewall是为了向后兼容 Windows 2000/XP/2003 而提供的。两者都适合使用旧版本的 Windows 进行远程工作,以及为混合环境配置策略。现在所有这些版本的 Windows 都已停用,这两个上下文都已弃用。

对于所有这些功能当前的Windows 版本,使用netsh advfirewall语境反而。

(甚至之前,你也会使用netsh firewall而不是netsh ipsec来阻止 IP 地址。其次,netsh ipsec没有命令add(包括add policy),只有static add filter|filter(action|list)|policy|ruledynamic add (q|m)mpolicy|rule。)

用于阻止单个 IP(198.51.100.108来自RFC 5737 TEST-NET-2):

netsh advfirewall firewall add rule name="IP Block" ^
   dir=in interface=any action=block remoteip=198.51.100.108/32

您现在可以查看您的规则netsh advfirewall firewall show rule name="IP Block"

Rule Name:                            IP Block
----------------------------------------------------------------------
Enabled:                              Yes
Direction:                            In
Profiles:                             Domain,Private,Public
Grouping:
LocalIP:                              Any
RemoteIP:                             198.51.100.108/32
Protocol:                             Any
Edge traversal:                       No
Action:                               Block
Ok.

并使用匹配 delete rule条件将其删除;在这种情况下nameremoteip就足够了:

netsh advfirewall firewall delete rule name="IP Block" remoteip=198.51.100.108/32`

有关详细信息,请参阅NetshAdvFirewall防火墙命令或者 netsh advfirewall ?

相关内容