首先,我们要了解一下ipset是什么?
ipset是iptables的扩展,允许你创建匹配整个地址sets(地址集合)的规则。而不像普通的iptables链是线性的存储和过滤,ip集合存储在带索引的数据结构中,这种集合比较大也可以进行高效的查找。在许多的linux发布中ipset是一个简单的安装包,可以通过linux发行版提供的yum进行安装。
使用
创建ip黑名单集合
ipset create banip hash:ip
这条命令创建名为banip的集合,以哈希方式存储,存储内容为ip地址。
添加iptables规则
iptables -I INPUT -m set --match-set banip src -j DROP
如果源地址(src)属于 banip 这个集合,就进行 DROP 操作。这条命令中,banip 为访问黑名单,如果要把某个集合作为白名单,在set之后添加一个 ‘!’ 符号就可以了。
添加黑名单ip
ipset add banip 123.123.123.123
这样ip为123.123.123.123的源就访问不了我们的网站了。
删除黑名单ip
ipset del banip 123.123.123.123
执行之后,此ip又可以正常访问网站了。
当然,ipset可做的可不止这些,有兴趣可以深入了解一下。
网友评论