如何设置 RA 消息收到的 IPv6 路由的默认度量

如何设置 RA 消息收到的 IPv6 路由的默认度量

我有两个 ipv6 接口(eth1 和 eth2),它们通过 DHCP(使用 dhclient)接收 IP,但路由是通过来自这些接口所连接的交换机的 RA 消息接收的。由于 RA 消息不提供路由度量(并且不应该从交换机端设置度量),因此它们都在内核中分配了默认度量(1024)。在“ip -6 路线显示”的结果中,路线如下所示:

default via fe80::fe33:4201:546:66e0 dev eth2 proto ra metric 1024 expires 56sec hoplimit 64 pref medium
default via fe80::fe33:4201:546:66e0 dev eth1 proto ra metric 1024 expires 56sec hoplimit 64 pref medium

因此,我需要通过为 eth1 设置默认指标来使 eth1 具有比 eht2 更高的优先级,问题是如何在设备内部执行此操作?

我尝试了几种方法,但由于限制,所有这些方法都不能用于我的情况:

  1. netlink解决方案只能删除和添加新路由,但需要内核通过RA添加

  2. 由于我使用旧内核(4.9.248-1.21pre),因此我无法使用 net.ipv6.conf.eth0.net.ipv6.conf.eth0.ra_defrtr_metric 来配置默认指标。

  3. 无法使用另一个 DHCP 客户端(例如 DHCPCD),因为我需要通过 RA 接收路由。所以排除所有其他考虑禁用RA的方式

  4. 我无法在 /etc/network/interfaces 中设置指标,因为接口是手动的并且会被忽略

    auto ethx

    iface ethx inet manual

相关内容