我在单独的文件中创建了要阻止的 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 中完成修改,而 iptables 只会打印 DB 中的所有内容。但在我选择该选项之前,我可以使用一些简单的 bash 脚本吗?
答案1
您应该研究使用 ipset 模块来实现这一点:
只需将所有 IP 地址添加到一个集合中,然后设置一个针对该集合丢弃/拒绝数据包的 iptables 规则。
也易于管理,因为您可以轻松添加、删除和清空该集合,并且通常可以根据需要“动态”对其进行修改。