使用ipset工具对iptables设置黑/白名单

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

1、ipset安装

2、创建ipset

其他的存储类型:
hash:ip 表示存储IP段或IP地址
hash:ip,port 表示存储的是ip地址和端口,如果没有注明协议,默认就是TCP协议,例如:

ipset默认可以存储65536个元素,可以通过maxelem 修改可以存储的最大元素数量:

查看已经创建的ipset:

3、将指定IP加入名单

将指定IP段加入名单

4、从名单中去除一个IP

5、创建iptables规则

(1)使ipset列表中的ip的nat流量均被转发到1080端口

(2)使ipset列表中的ip的本机发出的流量均被转发到1080端口

6、将ipset规则保存到文件

7、从文件中导入ipset规则

8、删除ipset规则列表

9、其他

ipset 支持 timeout 参数,这就意味着,如果一个集合是作为黑名单使用,通过 timeout 参数,就可以到期自动从黑名单里删除内容。

ipset的一个优势是集合可以动态的修改,即使ipset的iptables规则目前已经启动,新加入ipset的ip也生效。

参考

https://www.cnblogs.com/vijayfly/p/7205559.html
http://blog.chinaunix.net/uid-25518484-id-5697721.html

————————————————————

原创文章,转载请注明: 转载自孙希栋的博客

本文链接地址: 《使用ipset工具对iptables设置黑/白名单》

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Scroll Up