当前位置: 首页 > news >正文

Linux系统配置网络优先级

注:Linux中默认网关的优先级是由 “metric(度量值)” 决定,metric 数值越小,优先级越高


方法一、使用 nmcli 设置连接的 route-metric


  1. 适用于 NetworkManager 管理的网络连接(常见于桌面和 server GUI 环境)
# 设置以太网优先级为100
nmcli connection modify <eth-conn-name> ipv4.route-metric 100# 设置 WiFi 优先级为200
nmcli connection modify <wifi-conn-name> ipv4.route-metric 200# 重新激活连接使设置生效
nmcli connection down <conn-name> && nmcli connection up <conn-name>
  1. 可用以下命令查看当前所有连接名
nmcli connection show# 示例输出:# NAME                UUID                                  TYPE      DEVICE
# MY_WIFI             a8eb3f9e-a1db-43a2-8571-6c7a8b4e1099  wifi      wlan0
# Wired connection 1  97eed963-5df8-3420-b992-9306744748bb  ethernet  eth0
# Wired connection 2  c3e841a6-03ca-38d6-b1d9-528fb5d0366f  ethernet  --
  1. 验证网络优先级是否生效
# 查看路由表中 default 条目的 metric 值ip route | grep default# 输出示例:(metric 值越小优先级越高,及第一条 default 路由优先级最高)# default via 192.168.1.1 dev eth0 proto dhcp metric 100# default via 192.168.1.1 dev wlan0 proto dhcp metric 200

方法二、Netplan 配置(Ubuntu 18.04+ 推荐)


  1. 打开并编辑网络配置文件,如果没有则手动创建
sudo vim /etc/netplan/01-netcfg.yaml
  1. 配置文件中添加以下内容(注意缩进格式保持一致)
network:version: 2renderer: networkd  # 使用 systemd-networkd 管理网络ethernets:eth0:dhcp4: truedhcp4-overrides:use-routes: false  # 禁止自动添加默认路由routes:- to: defaultvia: 192.168.1.1         # 这里填你的以太网网关IP,若DHCP自动分配网关,需先确认metric: 100wifis:wlan0:dhcp4: trueoptional: true  # 无线设备设为可选,避免系统启动等待 WiFi 联网access-points:"你的WiFiSSID":password: "你的WiFi密码"dhcp4-overrides:use-routes: falseroutes:- to: defaultvia: 192.168.1.1         # 替换成你的WiFi网关IP,可能和eth0不同,确认后填写metric: 200              # 次优先级,eth0 断开时才启用# 配置说明:# use-routes: false 是为了避免 DHCP 自动添加默认路由# routes 中明确指定默认路由 (to: default)# metric 控制优先级:数值越小优先级越高
  1. 执行以下命令,保存并应用 Netplan 配置
sudo netplan apply# 可能会出现如下警告(不影响):# WARNING:root:Cannot call Open vSwitch: ovsdb-server.service is not running.# WARNING: systemd-networkd is not running, output will be incomplete.# Failed to reload network settings: No such file or directory# WARNING:root:Falling back to a hard restart of systemd-networkd.service# Netplan 检查 Open vSwitch(OVS),发现服务没在运行,如果没有使用 OVS 网络(多数不会用到)可以忽略该警告

相关文章:

  • NodeJS全栈开发面试题讲解——P6安全与鉴权
  • Android studio进阶开发(七)---做一个完整的登录系统(前后端连接)
  • 论文阅读笔记——Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset
  • vscode实用配置
  • 基于SpringBoot+Redis实现RabbitMQ幂等性设计,解决MQ重复消费问题
  • 获取 HTTP 请求从发送到接收响应所花费的总时间
  • GpuGeek如何成为AI基础设施市场的中坚力量
  • uni-app学习笔记二十一--pages.json中tabBar设置底部菜单项和图标
  • 组件化:软件工程化的基础
  • 工作流引擎-11-开源 BPM 项目 jbpm
  • Spring Boot对一些技术框架进行了统一版本号管理
  • 【AI面试秘籍】| 第25期:RAG的关键痛点及解决方案深度解析
  • 「数据采集与网络爬虫(使用Python工具)」【数据分析全栈攻略:爬虫+处理+可视化+报告】
  • 【前端】Vue中使用CKeditor作为富文本编辑器
  • [网页五子棋][对战模块]处理连接成功,通知玩家就绪,逻辑问题(线程安全,先手判定错误)
  • [Windows]在Win上安装bash和zsh - 一个脚本搞定
  • openssl 怎么生成吊销列表
  • Docker容器创建Redis主从集群
  • 如何排查Redis单个Key命中率骤降?
  • 【Linux系统编程】Ext系列文件系统
  • 趴比库的网站是谁建设的/关键词抓取工具都有哪些
  • 企业网站建设哪家好/nba最新交易动态
  • python下载安装教程/优化网站的意思
  • 用javascript做的网站/网络营销策划方案3000字
  • 网站制作网免费/网站排名优化软件有哪些
  • 深圳网站建设服务有限公司/百度站长平台官网