郦湘云 发表于 2025-6-1 20:25:24

使用nmcli 和 route 命令行连接wifi, 调整路由权重

当系统中存在多个网口, 如果希望将指定网口设置成默认的gateway, 可以通过设置网口的 metric 实现. 这在调试内网机器, 临时用自己手机做热点让机器获得公网访问能力时特别有用.
调整路由权重 Mertic

查看路由表route -n, -n表示不将IP解析为域名
milton@b85m2:~$ route -n
Kernel IP routing table
Destination   Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.9.1   0.0.0.0         UG    100    0      0 enp2s0
0.0.0.0         192.168.43.1    0.0.0.0         UG    600    0      0 wlx00265a071123
169.254.0.0   0.0.0.0         255.255.0.0   U   1000   0      0 docker0
172.17.0.0      0.0.0.0         255.255.0.0   U   0      0      0 docker0
192.168.9.0   0.0.0.0         255.255.255.0   U   100    0      0 enp2s0
192.168.43.0    0.0.0.0         255.255.255.0   U   600    0      0 wlx00265a071123然后比如要调整 43.1 为权重更高的默认网关, 则使用下面的命令, metric 值越小权重越高
sudo ip route replace default via 192.168.43.1 metric 1
# 或者
sudo ip route replace 0.0.0.0/0 via 192.168.43.1 metric 1查看修改后的结果, 这样除了下面指定的子网, 其它的网段都会默认走 43.1
milton@b85m2:~$ route -n
Kernel IP routing table
Destination   Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.43.1    0.0.0.0         UG    1      0      0 wlx00265a071123
0.0.0.0         192.168.9.1   0.0.0.0         UG    100    0      0 enp2s0
0.0.0.0         192.168.43.1    0.0.0.0         UG    600    0      0 wlx00265a071123
169.254.0.0   0.0.0.0         255.255.0.0   U   1000   0      0 docker0
172.17.0.0      0.0.0.0         255.255.0.0   U   0      0      0 docker0
192.168.9.0   0.0.0.0         255.255.255.0   U   100    0      0 enp2s0
192.168.43.0    0.0.0.0         255.255.255.0   U   600    0      0 wlx00265a071123使用 nmcli 调整权重

使用 nmcli 调整可以在重启后继续生效. 先查看 connection
nmcli connection针对connection调整权重
nmcli connection modify "Mate 20" ipv4.route-metric 10重启connection应用权重
nmcli connection down "Mate 20"
nmcli connection up "Mate 20"使用 nmcli 命令行操作连接WIFI

查看设备列表
$ nmcli d
DEVICE             TYPE      STATE         CONNECTION
...
wlan0            wifi      disconnected   --如果WIFI没开启要先开启
$ nmcli r wifi on查看检测到的WIFI网络
$ nmcli d wifi list
*SSID         MODE   CHANRATE       SIGNALBARSSECURITY
   ...
   my_wifi      Infra5   54 Mbit/s89      ▂▄▆█WPA2连接到指定的WIFI网络
$ nmcli d wifi connect my_wifi password <password>
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 使用nmcli 和 route 命令行连接wifi, 调整路由权重