在一个单独的文件中,我正在创建一个要阻止的 IP 地址列表。该文件每天都会添加或删除 IP。我想将此 IP 文件“引用”到 /etc/sysconfig/iptables,但我不确定这是否可能。如果是,请描述如何做到这一点(即:ExternalList=/var/tmp/myblacklist.txt)???
如果这种类型的引用在 IPTABLES 中是不可能的,那么将 myblacklist.txt 中的条目添加到 iptables 并从 iptables 中删除不再出现在 myblacklist.txt 文件中的条目的好脚本是什么?
老实说,我正在寻找一个可能利用 sed 的简单 bash 脚本。否则,我想我会倾向于将我想要允许/阻止的所有 IP 放入 MySQL 表中,并设置一个脚本来每天编译一个新的 iptable。这种方式可以在 sql DB 中完成 mods,而 iptables 将只打印 DB 中的任何内容。但在我选择该选项之前,我可以使用一些简单的 bash 脚本吗?
您应该为此使用 ipset 模块进行调查:
http://ipset.netfilter.org/
只需将所有 IP 地址添加到一个集合中,然后设置一个 iptables 规则来丢弃/拒绝针对该集合的数据包。
也易于管理,因为您可以轻松地添加、删除和清空集合,并且通常在需要时“即时”修改它。