当数据包流经 iptables 时,何时进行路由查找?

当数据包流经 iptables 时,何时进行路由查找?

Iptables 通常用图来表示 图表

我不明白何时执行路由查找(路由表):

  1. 在“路由决策”灰色框内?如果是,是否意味着数据包被路由两次?
  2. 在“nat POSTROUTING”之后,图片中没有显示?这是我目前的假设,但我在互联网上找不到任何确认信息。有可用的参考资料吗?

答案1

该图的混淆之处在于并非所有“路由决策”都是平等的。在“nat PREROUTING”之后的路由决策是简单的本地/远程选择;如果数据包的目的地是本地的,则向左走,如果是远程的,则向右走。IP 路由表查找用于确定数据包的下一跳,这是在“mangle POSTROUTING”之前做出的决策。老实说,我不确定“本地进程”之后的路由决策是什么;即使环回流量也要经过 netfilter。也许它是针对非 IP 流量(根本不经过 iptables),但这只是猜测。

相关内容