Eth0 和 Wifi 都需要相同的网关、相同的 IP

Eth0 和 Wifi 都需要相同的网关、相同的 IP

我家里有一台笔记本电脑,想用作服务器(Ubuntu 20.04.3 LTS)。

  • eth0我希望两者的 IP 保持不变wlan0(原因:无论笔记本电脑如何连接到互联网,我在路由器上设置的端口转发都能保持功能)

  • 当我断开电缆时,我将启用 wifi,反之亦然,当连接电缆时,我将禁用 wifi 以防止 IP 冲突。(使用nmcli radio wifi on/off

这是我的配置:
/etc/netplan/00-installer-config.yaml:

network:
  ethernets:
    eth0:
      optional: true
      dhcp4: no
      addresses:
        - 192.168.0.189/24
#      gateway4: 192.168.0.1
      nameservers:
        addresses:
          - 194.168.4.100
          - 194.168.8.100
    wlan0:
      dhcp4: no
      addresses:
        - 192.168.0.189/24
      gateway4: 192.168.0.1
      nameservers:
        addresses:
          - 194.168.4.100
          - 194.168.8.100
  version: 2

通过这种设置,我遇到了以下问题:

  • 当我连接网线并禁用 wifi 时,数据包将不知道如何到达互联网,因为 eth0 没有与之关联的网关(因为如您所见,它被注释掉了)。

  • 如果我尝试反转设置(取消注释 eth0 上的网关并将其注释掉以表示 wifi),当我启用 wifi 并拔下电缆时,数据包将再次不知道如何到达互联网。

  • 如果在两个接口上取消注释gateway4并执行sudo netplan apply,我会收到以下错误:

** (g​​enerate:2959): 警告 **: 22:54:14.848: 验证默认路由一致性时遇到问题。请设置多个路由表并改用routing-policy。错误:IPv4 的默认路由声明冲突(表:main,度量:default),首先在 wlan0 中声明,但也在 eth0 中声明

那么我该怎么做才能让它发挥作用呢?

编辑: 因此,尽管存在错误,但实际上第三个选项似乎可以正常工作。即使两个接口同时连接,它实际上也可以工作(这是一个好处!)。但我仍然不明白错误消息和/或是否有人会因为某种原因认为这是一个糟糕的设置。

相关内容