我的配置:
- 客户操作系统-CentOS7
- 主机操作系统 - Windows 7
- 接口 - 3 (
enp0s3
,enp0s8
,enp0s9
) - 在 Virtual Box 中安装
enp0s8
wlan0
是通往(互联网)的桥梁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
显示Metric
为101
(如您在上面的输出中看到的那样)。我试过了sudo ifconfig enp0s8 metric 10
,但没有用。ping 8.8.8.8
失败了。如果我down
,,enp0s3
pingenp0s9
成功。有办法吗?
答案1
不要为不连接到互联网的接口设置默认网关。
删除为这些接口定义的默认网关。也就是说,GATEWAY=
从ifcfg-enp0s3
和ifcfg-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,此设置是永久的