重叠前缀的原始静态度量

重叠前缀的原始静态度量

有人可以澄清一下在以下情况下 Centos 8 如何设置路由度量吗?

系统上有两个 VLAN,每个 VLAN 都有一个在 /etc/sysconfig/network-scripts/route-vlanXX 中定义的匹配路由前缀。ip route show 给出以下内容:

[user@hostname ~]$ ip r show to match 192.168.56.252
default via 10.210.104.1 dev net proto dhcp metric 350 
192.168.56.0/24 via 192.168.1.1 dev vlan23 proto static metric 416 
192.168.56.0/24 via 192.168.1.33 dev vlan24 proto static metric 417 

416 和 417 这两个值是如何得出的?它不是我明确设置的。 proto static metric似乎与设置有明显不同metric。除了一个是自动生成的,另一个是明确设置的之外,还有其他区别吗?

答案1

在 CentOS8 中,NetworkManager 或多或少是强制性的,是接口的实际管理器,将配置转换为其自己的本机配置。

或多或少可以解决您的问题的文档就在那里(来自 RHEL8 的文档,今天仍然是 CentOS8 的上游):

20.8. NetworkManager 如何管理多个默认网关

虽然本文档仅描述了多个网关(即多个默认路由,又称 0.0.0.0/0 路由),但 NetworkManager 内部会为其配置的每个接口分配一个度量。然后,此度量将应用于具有此接口的路由。

理由是你不能在同一个路由表中添加(通常主要的) 两条相同的路由,如果度量之类的东西无法区分它们(即使内核添加的自动 LAN 路由可以像这样存在,它们也不会起作用)。这可以防止手动配置两次到 192.168.56.0/24 的路由时出现错误。度量必须不同(否则必须使用策略路由和多个路由表)。

因此,当未明确设置时,NetworManager 会对接口使用的指标做出一些选择和假设。虽然此指标是 NM 内部针对每个接口的,但实际上没有界面仅限公制路线指标(和地址用于proto kernel路线的指标)。

  • 未明确配置度量。VLAN 接口的基本度量值为 400

    如果您设置的默认网关没有度量值,NetworkManager 会根据接口类型自动设置度量值。

    连接类型 默认指标值
    [...] [...]
    虚拟局域网 400

    为此,NetworkManager 将此网络类型的默认值分配给激活的第一个连接

  • 之前已有一个 400 指标的接口。请选择下一个:401

    并按激活顺序为每个相同类型的连接设置一个递增的值。例如,如果存在两个具有默认网关的以太网连接,NetworkManager 会在到您首先激活的连接的默认网关的路由上设置 100 的度量。对于第二个连接,NetworkManager 设置 101。

  • 冲洗,重复。直到达到 vlan23 和 vlan24 的指标 416 和 417

仅根据其度量标准,我可以得出结论,界面net是一个团队界面。


因此最后,此设置/etc/sysconfig/network-scripts/route-vlan23

192.168.56.0/24 via 192.168.1.1 dev vlan23

不能简单地理解为类似于:

ip route add $(cat /etc/sysconfig/network-scripts/route-vlan23)

它不会获得任何指标,但会通过 NetworkManager 为接口添加先前确定的指标。

否则,以相同方式手动添加的第二条没有度量的路由将会失败:

ip route add $(cat /etc/sysconfig/network-scripts/route-vlan23)
ip route add $(cat /etc/sysconfig/network-scripts/route-vlan24)
RTNETLINK answers: File exists

至于它是或其等效符号proto中定义的 0 到 255 之间的任何值。内核设置的 LAN 路由使用。工具在设置值时通常会选择 (显然 DHCP 会选择)。/etc/iproute2/rt_protosproto kernelstaticdhcp

我可以想象,路由守护进程会更容易地跟踪哪些动态路由由其自身处理(以及相关协议)并且不会触及static路由。

例如:

ip route show proto ospf

相关内容