路由表配置为“iptables”的“ip Route”部分?

路由表配置为“iptables”的“ip Route”部分?

这个问题很常见,已经有很多答案了,但我还是不明白。路由配置是否是 iptables 流程的一部分?下图的“路由决策”是不是配置了“iproute”的路由表?

在此输入图像描述

答案1

我并不声称了解 Linux 内核网络和 Netfilter 的源代码,但我是这样理解的。

路由配置是否是 iptables 流程的一部分? 简短的回答是肯定的。请参阅下文以获得更长的答案。

下图的“路由决策”是不是配置了“iproute”的路由表? 简短的回答是肯定的。请参阅下文以获得更长的答案。

我认为“iptables”是一个配置 Netfilter 及其挂钩的命令,因此我将讨论 Netfilter 而不是 iptables。

使用“ip route add”配置的路由进入内核网络路由表,并且图中的“路由决策”使用内核网络路由表。如果您查看下图关联,您将找到您发布的图表的更详细版本。正如您的图中所示,“路由决策”出现在流程中,因此似乎是 Netfilter 流程​​的一部分。然而,如果您想了解技术,您可能会注意到,根据图例中的颜色编码,“路由决策”实际上是“其他网络”的一部分,而不是 NF (Netfilter) 的一部分。我会让你决定是否仍然认为它是“流程”的一部分。

请注意,内核网络路由表中还有更多内容,而不仅仅是“ip route add”添加的内容,例如配置接口时自动创建的本地路由。 Aip route show table all可能会向您展示其中一些附加路线。

我相信“路由决策”与您从命令中获得的路由答案有关ip route get。假设您为命令的参数使用适当的值(基于您在 NF 流中的位置,因为某些网络值可能已更改(例如,DNAT 条目更改了目标地址))。

   ip route get ROUTE_GET_FLAGS ADDRESS [ from ADDRESS iif STRING  ] [ oif
           STRING ] [ mark MARK ] [ tos TOS ] [ vrf NAME ] [ ipproto PRO‐
           TOCOL ] [ sport NUMBER ] [ dport NUMBER ]

请注意,网络命名空间可以影响使用哪些内核网络表以及遍历哪些 Netfilter 规则。

相关内容