mar*_*hon 11 networking ubuntu routing network-interface
我可以改变我的网络路由的指标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
Run Code Online (Sandbox Code Playgroud)
但是,当我重新启动时,enp0s3 的指标恢复为 101。如何使此更改永久化或在启动时自动设置?
小智 22
如果您使用的是 NetworkManager,则更改默认路由的度量的正确方法是以这种方式修改与接口 enp0s3 关联的连接:
nmcli connection modify <connection-name> ipv4.route-metric 1
Run Code Online (Sandbox Code Playgroud)
然后重新激活连接:
nmcli connection up <connection-name>
Run Code Online (Sandbox Code Playgroud)
您可以<connection-name>
在 的输出中找到 的值nmcli connection
。
Mar*_*iae 11
在 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
Run Code Online (Sandbox Code Playgroud)
这样,您的自定义不会在每次更新时被覆盖。为了检查这一点,停止网络管理器,杀死dhclient 并刷新接口的 IP 地址,然后重新启动网络管理器。
您可以在此处找到文档。
编辑:
根据 FvD 要求:
systemctl stop network-manager
pkill dhclient
ip addr flush dev eth0
systemctl start network-manager
Run Code Online (Sandbox Code Playgroud)
如果有问题的接口是eth0,否则相应更改。
最简单且正确的方法是编辑/etc/network/interfaces
.
(如果该文件不存在,您可以创建它。)
这是一个简单的例子/etc/network/interfaces
:
auto lo eth0
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet dhcp
metric 700
Run Code Online (Sandbox Code Playgroud)
重新启动网络以service networking restart
使更改生效。
参考:第 5.7.2节。Debian手册的ifmetric包
以下将 eth0 接口设置为优先于 wlan0 接口。
安装 ifmetric 包。
在“/etc/network/interfaces”中的“iface eth0 inet dhcp”行下方添加一个带有“metric 0”的选项行。
在“/etc/network/interfaces”中的“iface wlan0 inet dhcp”行下方添加一个带有“metric 1”的选项行。
额外说明:
auto <interface1> <interface2>
在系统启动时启动接口。allow-hotplug <interface>
在热插拔事件上启动界面。小智 5
对于Ubuntu
ip route replace default via 192.168.1.1 metric 1
Run Code Online (Sandbox Code Playgroud)
对我来说,自从我输入它以来,它不需要任何更多的步骤,并且直到现在它仍然是 metic 1。
对于 Centos
正确的方法是将上述条目添加到“ /etc/sysconfig/network-scripts/route-eth(x) ”中,除了ip route replace
so add onlydefault via 192.168.1.1 metric 1
归档时间: |
|
查看次数: |
41295 次 |
最近记录: |