什么时候通过iptables传输数据包时执行路由查询?

iptables通常用图表来说明 图

路由查找(路由表)执行时我无法理解:

  1. 里面的“路由决策”灰色框? 如果是这样,是否意味着一个数据包被路由两次?
  2. 之后“nat POSTROUTING”并没有显示在图片中? 这是我目前的假设,但我无法在互联网上find任何确认。 有没有可用的参考?

与该图混淆的是,并不是所有的“路由决策”都是相同的。 “nat PREROUTING”之后的是一个简单的本地/远程select; 如果数据包的目的地是本地的,则它是左边的,如果它是远程的,则是正确的。 IP路由表查找,确定数据包的下一跳,是“mangle POSTROUTING”之前的决定。 我真的不确定“本地进程”之后的是什么; 甚至环回stream量都通过netfilter。 也许是非IPstream量(根本不通过iptables),但这是一个疯狂的猜测。