Ubuntu 18.04工控机双网卡上网冲突?一个metric参数搞定有线无线优先级

发布时间:2026/5/30 9:19:29

Ubuntu 18.04工控机双网卡上网冲突?一个metric参数搞定有线无线优先级 Ubuntu 18.04工控机双网卡优先级配置实战指南在工业自动化现场一台稳定运行的Ubuntu 18.04工控机往往需要同时处理两种网络流量通过有线网卡连接的工业设备局域网和通过无线网卡接入的互联网。当这两种网络同时在线时不少工程师都遇到过这样的困扰——明明无线网络显示已连接但apt update却总是超时或者浏览器无法访问外网而PLC通讯却异常顺畅。这背后隐藏着一个关键的网络配置参数metric值。1. 工控网络拓扑的典型困境现代工业控制系统中网络架构越来越复杂。以某汽车生产线为例其工控机需要通过千兆有线网口如eno1连接PLC控制器192.168.1.0/24通过第二个有线网口如eno2接入MES系统10.10.1.0/24同时使用无线网卡wlp3s0连接办公网络172.16.0.0/16访问互联网当所有网卡同时激活时Ubuntu的内核路由表可能呈现这样的混乱状态$ route -n 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 100 0 0 eno1 0.0.0.0 10.10.1.1 0.0.0.0 UG 101 0 0 eno2 0.0.0.0 172.16.0.1 0.0.0.0 UG 600 0 0 wlp3s0关键现象当metric值相近时如eno1100, eno2101系统会随机选择默认路由导致网络访问不稳定。2. Metric参数的核心原理Metric值本质上是Linux内核为每条路由分配的成本权重决定因素包括链路类型有线通常优于无线连接速度千兆以太网优于百兆历史可靠性丢包率低的路径更受青睐管理员预设手动配置具有最高优先级在工控场景中我们需要特别关注工业协议敏感性PROFINET、EtherCAT等实时协议对网络抖动极其敏感安全隔离需求生产网与办公网需要逻辑隔离故障切换机制当主用网络中断时备用路由应自动接管3. 临时调试方案命令行实战对于现场快速诊断ifmetric工具是最佳选择。以下是分步操作指南# 安装必要工具 sudo apt install ifmetric # 查看当前网卡metric值 ip route show | grep default # 临时提升无线网卡优先级值越小优先级越高 sudo ifmetric wlp3s0 50 # 验证路由表变化 route -n典型调试场景示例# 场景1优先使用无线网络访问互联网 sudo ifmetric wlp3s0 50 # 无线设为最高优先级 sudo ifmetric eno1 100 # 生产网次之 sudo ifmetric eno2 200 # MES网络最低 # 场景2恢复有线网络优先 sudo ifmetric eno1 50 # 生产网最高 sudo ifmetric wlp3s0 300 # 无线仅作备用注意这种方法重启后失效适合临时测试不同metric组合效果。4. 永久配置方案Netplan详解对于生产环境推荐使用Netplan进行持久化配置。以下是标准操作流程4.1 配置文件位置ls /etc/netplan/ # 通常为50-cloud-init.yaml或01-netcfg.yaml4.2 典型配置模板network: version: 2 renderer: networkd ethernets: eno1: dhcp4: no addresses: [192.168.1.100/24] routes: - to: 192.168.1.0/24 via: 192.168.1.1 metric: 100 nameservers: addresses: [8.8.8.8, 192.168.1.1] eno2: dhcp4: yes dhcp4-overrides: route-metric: 200 wifis: wlp3s0: dhcp4: yes access-points: Office_WiFi: password: s3cr3tpss dhcp4-overrides: route-metric: 300关键参数说明参数作用推荐值route-metric默认路由优先级有线50-100无线300dhcp4-overrides覆盖DHCP分配的metric必须设置以避免冲突nameservers指定DNS服务器生产网建议使用本地DNS4.3 配置验证命令# 测试配置语法 sudo netplan try --timeout 30 # 应用配置 sudo netplan apply # 查看生效路由 ip route show table all5. 高级调试技巧当基础配置不生效时可能需要排查以下问题5.1 网卡命名规则现代Linux系统使用可预测的网络接口名称常见前缀en以太网如eno1、ens33wl无线LAN如wlp2s0ww无线WAN如wwp0s20u4查看所有网卡ip link show5.2 路由策略数据库对于复杂网络拓扑可能需要配置多路由表# 创建自定义路由表 echo 200 production /etc/iproute2/rt_tables # 添加策略路由 ip rule add from 192.168.1.100 lookup production ip route add default via 192.168.1.1 dev eno1 table production5.3 网络管理器冲突如果同时使用networkd和NetworkManager可能产生冲突# 禁用NetworkManager sudo systemctl stop NetworkManager sudo systemctl disable NetworkManager6. 工控场景最佳实践根据三年工业现场部署经验推荐以下配置原则生产网络优先工业设备通讯的metric值应设为最低如50无线网络隔离将WiFi metric设为较高值如300避免干扰实时通讯DNS分离为生产网配置专用DNS避免域名解析冲突心跳检测使用cron定时ping关键网关自动切换路由示例监控脚本#!/bin/bash GATEWAY192.168.1.1 TIMEOUT2 COUNT3 if ! ping -c $COUNT -W $TIMEOUT $GATEWAY /dev/null; then logger Production network down, switching to backup sudo ifmetric eno2 50 fi在一条食品包装产线的实际部署中通过合理设置metric值网络故障率从每周3-4次降至半年内零故障。关键是把PLC通讯网卡的metric设为50MES系统设为100而WiFi设为400确保工业流量永远优先。

相关新闻