我想在到达 POSTROUTING 链后丢弃发往 ip_address 的某些数据包。但是,对于 iptables,“nat”表不能用于过滤,因此以下方法不起作用:
iptables -t nat -A POSTROUTING -d ip_address -j DROP
那么有什么办法可以做到这一点吗?如果 iptables 无法做到这一点,还有其他选择吗?请指教。谢谢。
答案1
路由在后路由链执行之前立即完成(因此得名)。
我认为,您想要完成的任何任务的方法都不是正确的方法,因为这是不可能的。但是,任何合理的过滤谓词通常都会在后路由之前存在。您应该能够将相同的过滤条件应用到转发或输出规则上,否则会导致您想要过滤的后路由发生变化。
请参阅此图表了解数据包如何流经 iptables:
这个出色的图表有时仍被保留,并且来自http://xkr47.outerspace.dyndns.org/netfilter/packet_flow/。