您能帮助我理解使用命令: ip路由显示表rt_eno2显示的“本地表”(相对于“主路由表”)的实际用法吗?
我对基本路由的理解是,对于给定的目标,内核将根据目标IP地址(无论数据包源是本地的还是非本地的,通过Ipv4_forward)找到最佳的接口来输出数据包。
无论是连接的接口还是静态的路由(特定的还是默认的),这个过程都是全局的,而不是每个接口。
(作为一个CCIE,我认为它应该像一个思科路由器,除了vrf)
我看不出有什么实际情况需要使用这个子路由表,而不是使用主路由表。我想到的唯一情况是,如果我们在同一个子网中有两个Linux接口,并且在每个本地表中配置了不同的默认网关。然后,您将喜欢使用一个或另一个网关将您的数据包发送到,并将需要强制目的地到一个或另一个接口。但是我也理解在同一个子网中有两个接口会导致内核内部的混乱。(例如,对于Eno1=192.168.0.1和eno2=192.168.0.2,我应该在哪个接口上发送一个带有目的地192.168.0.3的数据包?)
总之,我经常使用Linux,我只使用主表,我想了解Linux中这个“每个接口”/本地路由表选项的实际用例。
发布于 2019-07-16 19:12:38
本地表包含以本地主机为目的地的路由。例如,当目标是::1或127.0.0.1时,使用本地表。本地表还包含主机IP地址的条目,这将防止具有我们自己IP地址的目的地的数据包在线路上发出。默认情况下,使用ip route命令不会显示这些路由,但是可以在ip route show table local中看到。本地路由表不是“每个接口”路由表。
多个路由表(可以不仅仅是主表和本地表)通常可以对不仅仅是目标地址(如源地址、ToS等)作出路由决定。参见man ip-rule或搜索"Linux路由“。
https://unix.stackexchange.com/questions/530504
复制相似问题