linux 禁 ip 分片,Linux iptables 设置允许(禁止)IP范围

假设有一个情况,我们要将某一个网段内的IP“一段IP”封锁起来,如192.168.0.2-192.168.0.61,请问该如何来设定这个规则?因为这个网段并没有符合任何一个CIDR网段,因此我们不能使用如“-s 192.168.0.0/28”的网段来匹配这个范围,难道真的要一行一行写吗?其实不用,早期的做法是将192.168.0.0/24切成多个小网段,再去匹配哪一个小网段与被封锁的区段比较接近,然后再将遗漏的部分补足。上边例子中的IP段中IP的数量为59个,其中最接近的方法是我们将192.168.0.0/24切成四个段,每个网段所含的IP数量为64个。

我们可以写规则如下:

iptables -A INPUT -p all -s 192.168.0.0/26 -j DROP

不过这样会有几个IP会遭到我们的错杀,可以更改写法如下:

iptables -A INPUT -p all -s 192.168.0.1 -j ACCEPTiptables -A INPUT -p all -s 192.168.0.2 -j ACCEPTiptables -A INPUT -p all -s 192.168.0.61 -j ACCEPTiptables -A INPUT -p all -s 192.168.0.62 -j ACCEPTiptables -A INPUT -p all -s 192.168.0.0/26 -j DROP

通过网段划分,我们可以将原本需要写50行的规则以短短的5行来取代,但计算过程真的很麻烦;不过有了ipt_iprange.ko模块,我们可以将上边的规则改写为:

iptables -A INPUT -m iprange --src-range 192.168.0.2-192.168.0.61 -j DROP

iprange模块提供了两个匹配参数:

--src-range: 匹配来源地址的范围,例如,iptables -A INPUT -m iprange --src-range 192.168.0.2-192.168.0.61 -j DROP

--dst-range: 匹配目的地址的范围,例如,iptables -A OUTPUT -m iprange --dst-range 192.168.0.2-192.168.0.61 -j DROP

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值