下面的链接是解释跨链数据包流的图像nftables
我了解一切,除了一件事,该图像没有说明在哪个阶段完成routing decision
?
根据图像,应该在两个地方完成:
- 在
prerouting
钩子之后但在input
引擎盖forward
之前 output
当数据包离开本地主机进程时挂钩之前
上面的第一点是有道理的,因为后面有 2 个可能的钩子prerouting
,但是对于第 2 点,不清楚要执行什么路由决策,因为来自本地进程的唯一流选项是钩子,output
因此不应该有任何路由决策,而是图片说有一个。
这让我相信只有一个路由决策,即上面的第 1 点。
为什么图像指定和hookrouting decision
之间的节点?local process
output
SNAT
是在钩子中完成的postrouting
,根据文档“在路由之后,就在它们离开本地系统之前查看所有数据包”,
但问题是哪个路由?因为根据图像有 2 个路由决策。
顺便说一句。什么是“路由决策”(图像中的节点)我不认为那是NAT
因为NAT
是在prerouting
和postrouting
挂钩中完成的。