Linux系统中网线与USB网络共享冲突

博客地址:https://www.cnblogs.com/zylyehuo/

问题描述

网络管理器配置了"互斥连接"
有些配置会写成: 插入 USB 网络后,关闭 eth0
有线和usb共享网路,使用同一个网络协议,修改一个的时候会同时把另一个改了
系统把它们当成了同一个网络配置文件在管理。

给两张网卡创建两个独立配置

bash 复制代码
nmcli device status
nmcli connection show

看到类似:

bash 复制代码
DEVICE    TYPE      STATE        CONNECTION
eth0      ethernet  connected    Wired connection 1
usb0      ethernet  connected    Wired connection 1

绑定到具体网卡名
假设

bash 复制代码
有线网卡:eth0
USB共享:usb0

给有线网口创建固定 IP 配置

bash 复制代码
sudo nmcli connection modify eth0-static \
  ipv4.method manual \
  ipv4.addresses 172.16.2.80/24 \
  ipv4.gateway 172.16.2.1 \
  ipv4.never-default no \
  ipv4.ignore-auto-routes no \
  ipv4.route-metric 500 \
  connection.autoconnect yes

eth0 只负责 172.16.2.x 局域网,不抢默认网关,不负责上网

给 USB 共享网络创建单独配置

bash 复制代码
sudo nmcli connection add type ethernet ifname usb0 con-name usb-tether
bash 复制代码
sudo nmcli connection modify usb-tether \
  ipv4.method auto \
  ipv4.never-default no \
  ipv4.ignore-auto-routes no \
  ipv4.route-metric 50 \
  connection.autoconnect yes

重启两个连接

bash 复制代码
sudo nmcli connection down eth0-static
sudo nmcli connection down usb-tether
bash 复制代码
sudo nmcli connection up eth0-static
sudo nmcli connection up usb-tether

调整路由优先级 metric

希望 USB 共享网络负责上网

bash 复制代码
sudo nmcli connection modify usb-tether ipv4.route-metric 100
sudo nmcli connection modify ST1030 ipv4.route-metric 500

看系统准备从哪张网卡访问 8.8.8.8

bash 复制代码
ip route get 8.8.8.8
bash 复制代码
nvidia@EAORA04:~$ ip route get 8.8.8.8
8.8.8.8 via 10.163.44.252 dev usb0 src 10.163.44.216 uid 1000 
    cache 
相关推荐
薛定谔的悦9 分钟前
储能 EMS 的功率策略:从一块电表到一次逆流的 200 毫秒
大数据·linux·能源·储能·bms
新时代牛马3 小时前
Linux 内核入门地图:架构、源码目录与五大子系统
linux·运维·架构
Julien20044 小时前
控制 SELinux 文件上下文
linux·运维·服务器
sulikey4 小时前
Linux Core Dump 完全指南:从原理到实战的崩溃调试手册。什么是core dump?程序报错core dumped怎么办?
linux·服务器·操作系统·调试·coredump
MayZork7 小时前
Windows 与 Linux 下 vcpkg 的安装部署指南
linux·运维·windows
zbyyd7 小时前
Linux 进程间通信学习笔记
linux·笔记·学习
w2005122410 小时前
Pod管理
linux·服务器·云原生·容器·k8s·podman
chen<>12 小时前
C++ 六种 memory_order:从原子性到线程间可见性.md
java·linux·开发语言·c++
一直C12 小时前
Linux系统编程|进程间通信IPC全套详解(1)(管道、信号)
linux·c语言·开发语言·网络·青少年编程·visual studio code
库玛西12 小时前
Linux网络编程:HTTP/HTTPS协议核心技术全解析
linux·运维·服务器·网络·c++·http·https