我有一个运行 Ubuntu 22.04.3 LTS 的 Ubuntu 服务器。
它有两个以太网端口,enp3s0
并且enxf8e43b557271
.
enxf8e43b557271
速度要快得多,所以我想默认使用它,但是,如果它由于某种原因而下降,我想回退到enp3s0
.
我知道做到这一点的方法是使用路由度量。
我有一个 netplan 配置文件/etc/netplan/00-installer-config.yaml
:
# This is the network config written by 'subiquity'
network:
ethernets:
enp3s0:
addresses:
- 192.168.0.142/24
nameservers:
addresses: [1.1.1.1]
routes:
- to: default
via: 192.168.0.1
metric: 200
enxf8e43b557271:
addresses:
- 192.168.0.4/24
nameservers:
addresses: [8.8.8.8]
routes:
- to: default
via: 192.168.0.1
metric: 0
version: 2
我设置了enp3s0
一个更高的指标,所以我希望它的优先级较低。
然而,当我运行时,route -n
它似乎不起作用:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 enxf8e43b557271
10.40.27.0 0.0.0.0 255.255.255.0 U 0 0 0 wg0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 enp3s0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 enxf8e43b557271
并且enp3s0
仍然具有度量为 0 的默认路由。
当我下载一个大的测试文件时,我发现它使用较慢的连接(通过在我的交换机上进行监控):
如果我物理拔掉enp3s0
以太网电缆,它将回退并使用enxf8e43b557271
- 我只是希望回退是相反的!
我尝试将配置分成两部分:
ls -l /etc/netplan/
-rw------- 1 root root 491 Dec 28 14:46 00-installer-config.yaml
-rw------- 1 root root 208 Dec 28 14:47 99-enxf8e43b557271-config.yaml
00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
enp3s0:
addresses:
- 192.168.0.142/24
nameservers:
addresses: [1.1.1.1]
routes:
- to: default
via: 192.168.0.1
metric: 200
version: 2
99-enxf8e43b557271-config.yaml
network:
ethernets:
enxf8e43b557271:
addresses:
- 192.168.0.4/24
nameservers:
addresses: [8.8.8.8]
routes:
- to: default
via: 192.168.0.1
metric: 0
将网卡绑定可能是更好的选择,将它们设置为主动备份,这意味着您可以拥有一个主网卡,如果出现故障,它将自动切换到辅助网卡。另外,您只需设置 1 个 IP 地址,因为它也会将 IP 故障转移到辅助 NIC,这样您的服务器就不会脱机或无法访问。
基于Netplan | 阅读文档,您可以执行以下操作(假设您的接口被命名为
eth0
和eth1
):您可以根据配置需要更改名称/名称服务器和路由