![如何动态确定用于动态范围的 IP 掩码?](https://linux22.com/image/987925/%E5%A6%82%E4%BD%95%E5%8A%A8%E6%80%81%E7%A1%AE%E5%AE%9A%E7%94%A8%E4%BA%8E%E5%8A%A8%E6%80%81%E8%8C%83%E5%9B%B4%E7%9A%84%20IP%20%E6%8E%A9%E7%A0%81%EF%BC%9F.png)
我有一个要阻止的 IP 地址范围列表,这些范围210.80.32.0
如下210.80.63.255
我如何动态确定正确的 210.80.32.0/NUMBER 来捕获整个范围?
sudo ufw deny 210.80.32.0/???
我每月从文本文件中读取一次这些 IP 范围,以将其添加到我的防火墙规则中,我每月拆除防火墙一次并重建它以捕获这些范围中的任何变化。目前,我只是在规则中执行 lowerrange/20。
所以我需要通过分割字符串来获取两个网络值。然后进行计算以确定有多少个..并为每个网络添加一条规则?
答案1
您正在使用CDIR 表示法这里。您可能想阅读有关 CDIR 符号和子网掩码的更多信息。
在您的示例中,您可以将两个网络分成:
- 210.80.32.0/24
- 210.80.33.0/24
这意味着:
- 255.255.255.0
或者:
- 210.80.32.0-254
- 210.80.33.0-254
您现在应该能够执行以下操作:
sudo ufw deny 210.80.32.0/24 && sudo ufw deny 210.80.33.0/24
其他示例
您可以阻止 210.80.0.0/16,这将阻止 210.80.0-254.0.254,但这将阻止原始帖子中未指定的范围内的 IP。