Linux下使用ipset封大量IP

如果网站遭受大量ip攻击,显然使用iptables一个一个屏蔽不现实了,只好借助ipset进行批量封禁IP。

1、介绍:

    ipset是iptables的扩展,它允许你创建 匹配整个地址集合的规则。而不像普通的iptables链只能单IP匹配, ip集合存储在带索引的数据结构中,这种结构即时集合比较大也可以进行高效的查找,除了一些常用的情况,比如阻止一些危险主机访问本机,从而减少系统资源占用或网络拥塞,IPsets也具备一些新防火墙设计方法,并简化了配置

2、安装:

 yum install ipset

3、创建一个ipset

 ipset默认可以存储65536个元素,使用maxelem指定数量
 ipset create blacklist hash:net hashsize 4096 maxelem 1000000 #黑名单 
 ipset create whitelist hash:net hashsize 4096 maxelem 1000000 #白名单
 ipset  create  blacklist  hash:ip  hashsize  4096  maxelem  1000000 #黑名单 
 ipset  create  whitelist  hash:ip  hashsize  4096  maxelem  1000000 #白名单

    PS:hash:net指定了可以往集合里添加IP段或IP地址,hash:ip指定了可以往集合里添加IP地址。

4、在ipSet添加、删除IP

 ipset add blacklist 10.10.10.xx //添加IP
 ipset del blacklist 10.10.10.xx  //删除IP

5、创建防火墙规则,在iptables添加一条记录:

-A INPUT -m set --match-set blacklist src -j DROP

6、将ipset规则保存到文件中

ipset save blacklist -f blacklist.txt
ipset save whitelist -f whitelist.txt

7、删除ipset

ipset destroy blacklist
ipset destroy whitelist

8、导入ipset规则

ipset restore -f blacklist.txt
ipset restore -f whitelist.txt
**************************************************************************************
当你的才华还撑不起你的野心的时候,你就应该静下心来学习;当你的能力还驾驭不了你的目标时,就应该沉下心来,历练;梦想,不是浮躁,而是沉淀和积累,只有拼出来的美丽,没有等出来的辉煌,机会永远是留给最渴望的那个人,学会与内心深处的你对话,问问自己,想 要怎样的人生,静心学习,耐心沉淀,送给自己,共勉。
**************************************************************************************
原文地址:https://www.cnblogs.com/macoffee/p/13692067.html