在 Linux 中,使用路由来黑洞 IP 是否比丢弃在 iptables 中的性能更好?

sco*_*ott 6 security linux route iptables

在 DDOS 攻击期间,如果我们发现要阻止的 IP,使用空路由是否会比使用 iptables 获得更好的性能?

空路由我们会做这样的事情:

ip route add blackhole <ip or range>
Run Code Online (Sandbox Code Playgroud)

在 iptables 中:

/sbin/iptables -A INPUT -s <ip or range> -j DR
Run Code Online (Sandbox Code Playgroud)

没有区别吗?我怀疑route会工作得更好,但不确定。

Oli*_*pro 5

假设您基于地址而不是目的地进行阻塞,那么在 raw/PREROUTING 中执行 DROP 会很好,因为您基本上可以在做出任何路由决定之前丢弃数据包。

但是请记住,iptables 规则本质上是一个链表,为了在阻止多个地址时获得最佳性能,您应该使用 ipset。

另一方面,如果按目的地阻塞,路由表阻塞与 iptables 阻塞之间可能几乎没有区别,除非源 IP 被欺骗,在这种情况下,黑洞条目可能会消耗路由缓存资源;在这种情况下,raw/PREROUTING 仍然是可取的。


Hex*_*Hex 0

iptables 是阻止 ddos​​ 攻击的标准工具。我碰巧有一个巨大的 iptables 列表,受到了非常严重的 ddos​​ 攻击,而且它运行得很好。我更喜欢 iptables。