两个默认路由:以太网 + wifi——错误?后果?

两个默认路由:以太网 + wifi——错误?后果?

在我的 netplan 配置中我有两个接口:

network:
  version: 2
  renderer: networkd
  ethernets:
    ethusb1:
      dhcp4: yes
      dhcp6: yes
  wifis:
    wlp3s0:
      dhcp4: yes
      dhcp6: yes
      access-points:
        "x":
         password: "x"

两个接口都处于活动状态,因为我对它们都做出了响应

 ping -I ethusb1 ubuntu.com
 ping -I wlp3s0  ubuntu.com 

好的。我的问题是:路由表显示默认通过两个接口路由。怎么会这样?我怎么知道系统默认使用哪条路由?

default via 192.168.1.254 dev ethusb1 proto dhcp src 192.168.1.71 metric 100 
default via 192.168.1.254 dev wlp3s0 proto dhcp src 192.168.1.120 metric 600 
192.168.1.0/24 dev ethusb1 proto kernel scope link src 192.168.1.71 
192.168.1.0/24 dev wlp3s0 proto kernel scope link src 192.168.1.120 
192.168.1.254 dev ethusb1 proto dhcp scope link src 192.168.1.71 metric 100 
192.168.1.254 dev wlp3s0 proto dhcp scope link src 192.168.1.120 metric 600 

答案1

如果您在卡的指标条目中输入不同的数字,则网络连接将默认为具有较低数字的连接。

例如,如果您在有线网络连接中设置指标 100,在无线连接中设置指标 600,则系统将默认使用有线连接。

这是手动设置指标的示例 netplan.yaml。

network:
  version: 2
  ethernets:
    ethusb1:
      dhcp4: yes
      dhcp4-overrides:
        route-metric: 100
    wlp3s0:
      dhcp4: yes
      dhcp4-overrides:
        route-metric: 600

答案2

正如 Pilot6 指出的那样,系统对路由的偏好由路由的 决定metric。在问题给出的输出中,metric以太网设备的 低于 wifi 设备,因此系统将优先选择它。

以太网的较低指标似乎是默认的 netplan 行为,因此我不确定 Thomas Alchinger 的解决方案是否必要。

俚语netplan:如果可用,则优先使用以太网,否则使用 wifi,但使用相同的静态 IP 地址提供使用静态 IP 的 netplan 配置。我已在 19.10 系统上对此进行了测试,并且它按发布的方式运行(当然,使用实际 IP)。

相关内容