如何在 CentOS 中永久更改接口指标

如何在 CentOS 中永久更改接口指标

我的配置:

  1. 客户操作系统-CentOS7
  2. 主机操作系统 - Windows 7
  3. 接口 - 3 ( enp0s3, enp0s8, enp0s9)
  4. 在 Virtual Box 中安装
  5. enp0s8wlan0是通往(互联网)的桥梁
  6. enp0s3并且enp0s9仅限主机

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.10.10.1 0.0.0.0 UG 100 0 0 enp0s3 0.0.0.0 192.168.3.1 0.0.0.0 UG 101 0 0 enp0s9 0.0.0.0 192.168.0.1 0.0.0.0 UG 102 0 0 enp0s8 10.10.10.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s3 192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s8 192.168.3.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s9

我添加METRIC=10/etc/sysconfig/network-scripts/ifcfg-enp0s8,然后重新启动。但仍然route -n显示Metric101(如您在上面的输出中看到的那样)。我试过了sudo ifconfig enp0s8 metric 10,但没有用。ping 8.8.8.8失败了。如果我down,,enp0s3pingenp0s9成功。有办法吗?

答案1

不要为不连接到互联网的接口设置默认网关。

删除为这些接口定义的默认网关。也就是说,GATEWAY=ifcfg-enp0s3ifcfg-enp0s9文件中删除该行。

您根本无需担心路线度量。

答案2

NetworkManager ifcfg-rh 插件用于 Fedora 和 Red Hat Enterprise Linux 发行版(和 CentOS)从传统的 /etc/sysconfig/network-scripts/ifcfg-* 文件读取/写入配置。

ifcfg-rh 插件变量 IPV4_ROUTE_METRIC 是 NetworkManager 特定扩展,传统 initscripts 无法理解。为此,NetworkManager 必须处于活动状态,这是 CentOS7 中的默认行为。

将 IPV4_ROUTE_METRIC=10 添加到 /etc/sysconfig/network-scripts/ifcfg-enp0s8。数字越小,优先级越高。如果为一个接口添加此参数,则还应为所有剩余接口添加具有不同优先级数字的 IPV4_ROUTE_METRIC,以保持对路由优先级的控制。

重新启动所有接口:
ifdown ifcfg-enp0s3;ifdown ifcfg-enp0s8;ifdown ifcfg-enp0s9;ifup ifcfg-enp0s3;ifup ifcfg-enp0s8;ifup ifcfg-enp0s9

通知 NetworkManager 配置更改的其他方法:
nmcli con reload

使用命令检查路由优先级:
ip route show

答案3

在 /etc/sysconfig/network-scripts/ifcfg-enp0s8 中添加 METRIC=10

对于 centos 7,此设置是永久的

相关内容