自动IP地址禁用
  现在你应该看到了IP集合的强大了。维护IP黑名单是一件繁琐和费时的工作。实际上,有很多免费或者收费的服务可以来帮你完成这个。一个额外的好处是,让我们看看如何自动将IP黑名单加到IP集中。
  首先让我们从iblocklist.com得到免费的黑名单,这个网站有不同的免费和收费的名单。免费的版本是P2P格式。
  接下来我要使用一个名为iblocklist2ipset的开源Python工具来将P2P格式的黑名单转化成IP集。
  首先,你需要安装了pip(参考这个指导来安装pip)。
  使用的下面命令安装iblocklist2ipset。
  $ sudo pip install iblocklist2ipset
  在一些发行版如Fedora,你可能需要运行:
  $ sudo python-pip install iblocklist2ipset
  现在到iblocklist.com,抓取任何一个P2P列表的URL(比如”level1″列表)。

  粘帖URL到下面的命令中。
  $ iblocklist2ipset generate
  --ipset banthis "http://list.iblocklist.com/?list=ydxerpxkpcfqjaybcssw&fileformat=p2p&archiveformat=gz"
  > banthis.txt
  上面的命令运行之后,你会得到一个名为banthis.txt的文件。如果查看它的内容,你会看到像这些:
  create banthis hash:net family inet hashsize 131072 maxelem 237302
  add banthis 1.2.4.0/24
  add banthis 1.2.8.0/24
  add banthis 1.9.75.8/32
  add banthis 1.9.96.105/32
  add banthis 1.9.102.251/32
  add banthis 1.9.189.65/32
  add banthis 1.16.0.0/14
  你可以用下面的ipset命令来加载这个文件:
  $ sudo ipset restore -f banthis.txt
  现在可以查看自动创建的IP集:
  $ sudo ipset list banthis
  在写这篇文章时候,“level1”类表包含了237,000个屏蔽的IP列表。你可以看到很多IP地址已经加入到IP集中了。
  后,创建一条iptables命令来屏蔽这些坏蛋!
  总结
  这篇文章中,我描述了你该如何用强大的ipset来屏蔽不想要的IP地址。同时结合了第三方工具iblocklist2ipset,这样你可以流畅地维护你的IP屏蔽列表了。那些对ipset的性能提升好奇的人,下图显示了iptables在使用和不使用ipset的基准测试结果(注意时间坐标轴)。

  告诉我你多么喜欢这个。