ifmetric
例如,我可以使用 更改我的网络路由指标ifmetric enp0s3 1
。
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 1 0 0 enp0s3
0.0.0.0 192.168.237.1 0.0.0.0 UG 100 0 0 enp0s8
但是,当我重新启动时,enp0s3 的指标将恢复为 101。如何使此更改永久生效或在启动时自动设置?
答案1
如果您使用 NetworkManager,更改默认路由度量的正确方法是修改与接口 enp0s3 关联的连接,如下所示:
nmcli connection modify <connection-name> ipv4.route-metric 1
然后重新激活连接:
nmcli connection up <connection-name>
<connection-name>
您可以在 的输出中找到 的值nmcli connection
。
答案2
在 Debian 及其衍生版本中,正确的方法是将文件写入/etc/NetworkManager/dispatcher.d(随便你怎么称呼它),内容如下:
#!/bin/sh
# Change the metric of the default route only on interface enp0s3
IF=$1
STATUS=$2
MY_METRIC=1
if [ "$IF" = "enp0s3" ]
then
case "$STATUS" in
up)
ip route del default dev $IF
ip route add default via $DHCP4_ROUTERS dev $IF metric $MY_METRIC
;;
*)
;;
esac
fi
这样,您的自定义设置就不会在每次更新时被覆盖。为了检查这一点,停止网络管理器,杀死dhclient 和刷新接口的IP地址,然后重新启动网络管理器。
你可以找到文档这里。
编辑:
根据 FvD 要求:
systemctl stop network-manager
pkill dhclient
ip addr flush dev eth0
systemctl start network-manager
如果有问题的接口是以太网0,否则进行相应更改。
答案3
对于Ubuntu
ip route replace default via 192.168.1.1 metric 1
对我来说,自从我输入它以来,它不需要任何更多的步骤,并且直到现在它仍然是 metic 1。
对于 Centos
正确的方法是将上述条目添加到“/etc/sysconfig/network-scripts/route-eth(x)“除了所以ip route replace
只添加default via 192.168.1.1 metric 1
答案4
您应该能够使其永久化,/etc/dhcpd.conf
您可以在其中设置这样的接口指标。
interface enp0s3;
metric 1;