我可以使用以下命令允许 ip 范围:
iptables -A INPUT -s 46.43.64.0/24 -j ACCEPT
但这个范围还有另一个从 IP46.43.64.0
到 IP 的范围46.43.127.255
,如下所示:http://www.nirsoft.net/countryip/ps.html
那么我怎样才能在一个命令中允许所有这些 16384 IP 呢?
答案1
计算网络掩码,或使用这样的工具在线IP CIDR计算器如果您没有时间进行数学计算,那么您也没有记住16384
地址相当于/18
网络。
向此工具提供主机数量 ( 16384
) 和网络 IP 地址 ( 46.43.64.0
),您将获得掩码:255.255.192.0
或46.43.64.0/18
网络 CIDR 表示法。
现在,更改您的iptables
规则以反映这个更大的网络:
iptables -A INPUT -s 46.43.64.0/18 -j ACCEPT
在您的规则中使用此 CIDR 表示法,您可以根据需要允许更广泛的网络,而不是列出/24
集成此更广泛掩码的所有网络。
另一种方法是根据 制定规则src-range
。
iptables -A INPUT -m iprange --src-range 46.43.64.0-46.43.127.255 -j ACCEPT
我不知道这种方法会如何影响过滤性能,所以我会选择第一个选项