Ubuntu Server Netplan - IPv4 的默认路由声明存在冲突 - 每个端口上有 4 个不同的 /24

Ubuntu Server Netplan - IPv4 的默认路由声明存在冲突 - 每个端口上有 4 个不同的 /24

我有一台服务器,它有 2 个 4 端口网卡,但只使用其中一个。每个端口都连接到 L2 交换机,并配置为不同的 VLAN,具有来自不同 /24 子网的 1 个可用 IP - 每个子网都有不同的默认网关。只有 1 个端口正常工作 - eno4。其余端口可以 ping 通,但每隔一次就会丢失。我在应用 netplan 时收到此错误:

验证默认路由一致性时遇到问题。请设置多个路由表并改用routing-policy。错误:IPv4 的默认路由声明冲突(表:main,度量:default),首先在 eno2 中声明,但也在 eno4 中声明

netplan 本身:

network:
  ethernets:
    eno1:
      addresses: ['aa.bb.cc.dd/24', 'a:b:c:x:e:f:g:1/64']
      gateway4: aa.bb.cc.1
      gateway6: a:b:c:x:e:f:g:0001
      nameservers:
          addresses: [1.1.1.1, 1.0.0.1, 8.8.8.8, 8.8.4.4, 2606:4700:4700::1111, 2606:4700:4700::1001, 2001:4860:4860::8888, 2001:4860:4860::8844]
      accept-ra: no
    eno2:
      addresses: ['ee.ff.gg.hh/24', 'a:b:c:y:e:f:g:2/64']
      gateway4: ee.ff.gg.1
      gateway6: a:b:c:y:e:f:g:0001
      nameservers:
          addresses: [1.1.1.1, 1.0.0.1, 8.8.8.8, 8.8.4.4, 2606:4700:4700::1111, 2606:4700:4700::1001, 2001:4860:4860::8888, 2001:4860:4860::8844]
      accept-ra: no
    eno3:
      addresses: ['ii.jj.kk.ll/24', 'a:b:c:z:e:f:g:3/64']
      gateway4: ii.jj.kk.1
      gateway6: a:b:c:z:e:f:g:0001
      nameservers:
          addresses: [1.1.1.1, 1.0.0.1, 8.8.8.8, 8.8.4.4, 2606:4700:4700::1111, 2606:4700:4700::1001, 2001:4860:4860::8888, 2001:4860:4860::8844]
      accept-ra: no
    eno4:
      addresses: ['mm.nn.oo.pp/24', 'a:b:c:v:e:f:g:4/64']
      gateway4: mm.nn.oo.1
      gateway6: a:b:c:v:e:f:g:0001
      nameservers:
          addresses: [1.1.1.1, 1.0.0.1, 8.8.8.8, 8.8.4.4, 2606:4700:4700::1111, 2606:4700:4700::1001, 2001:4860:4860::8888, 2001:4860:4860::8844]
      accept-ra: no
#    ens1f0:
#      dhcp4: true
#    ens1f1:
#      dhcp4: true
#    ens1f2:
#      dhcp4: true
#    ens1f3:
#      dhcp4: true
  version: 2

我在这里遗漏了什么以及如何正确路由?

答案1

通常只能有一个可用的默认路由。当没有明显更好的路由时,数据包会转到默认路由。如果您有多个默认路由,它们可能会以循环方式处理,这可以解释为什么会出现数据包丢失——一些数据包会发送到不同的地方。

对此有多种可能的解决方案:

  • 使用路由守护进程来管理 netplan 之外的动态路由
  • 为特定网络分配静态路由,为其他所有网络分配一个默认路由。
  • 设置路由表和优先级,以便所选的“默认路由”取决于传入的主机端 IP 地址,以便对来自特定 IP 的数据包的响应从同一接口发出。同样,您需要对其进行优先级排序,以便通配符传出连接为源地址选择主 IP。

可能需要做多项这样的事才能让它发挥作用。

相关内容