使用 nftables 屏蔽大量 IP

💡 原文中文,约3100字,阅读约需8分钟。
📝

内容提要

本文介绍了作者使用nftables屏蔽恶意IP地址的经历,通过调整规则定义成功实现了IP屏蔽功能。

🎯

关键要点

  • 作者最初使用iptables屏蔽恶意IP地址,但由于性能问题,决定尝试nftables。
  • iptables的O(n)时间复杂度在处理大量规则时导致性能下降,影响下载速度。
  • 使用iptables的补丁来跳过已建立的连接以提高下载速度。
  • nftables支持超时的动态集合,适合临时屏蔽恶意IP。
  • 作者通过nftables创建了支持IPv4和IPv6的规则,能够自动解除屏蔽。
  • 被屏蔽的IP数量稳定在26k到28k之间,性能良好,softirq占用低于10%。
  • nftables的手册页难懂,但多看几遍后能更好理解。
  • 作者编写了一个Python脚本来统计被屏蔽IP的流量。
  • 最后,作者对运营商的不负责任行为表示谴责,认为其将压力转嫁给无辜群众。
🏷️

标签

➡️

继续阅读