在紧急情况下插入多个 iptables 规则

在紧急情况下插入多个 iptables 规则

我有大约 1,500 条 iptables 规则,需要在服务器受到攻击时应用。根据我的情况,稍后应该可以轻松删除/添加。有什么建议吗?例如,如果我可以在 1 行中导入这些规则,然后稍后注释/取消注释该行,那就可以了。放轻松。我其实是个程序员 :)

答案1

  1. 1500 条类似规则是个非常糟糕的主意,因为性能会显著下降。最好看看匹配ipset(它使用哈希表,所以速度非常快)。
  2. 不要使用ufw
  3. 跑过iptables-save > current-ruleset.ipv4
  4. 编辑此文件并以新名称保存(anti-ddos-ruleset.ipv4
  5. 用命令检查规则的正确性iptables-restore -t anti-ddos-ruleset.ipv4。如果存在错误,请修复。
  6. 现在您可以使用 来自动加载规则iptables-restore anti-ddos-ruleset.ipv4
  7. 您可以使用命令确认后应用新规则iptables-apply -t 60 anti-ddos-ruleset.ipv4。如果您不确认新规则集,它将回滚到以前的版本。

答案2

我同意 Anton 的建议,使用 ipset。你可以像这样创建一个

ipset create foo hash:net

然后添加所有条目

ipset add foo 192.168.0.0/24

当需要时,你只需让传入的数据包与你的设置匹配并丢弃它们

iptables -A INPUT -m set --set foo src -j DROP

注意:所有常用命令ipset save均按ipset restore预期工作。

相关内容