You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Ubuntu 22.04中仅修改指定USB以太网接口的静态IP且不影响互联网连接

如何在Ubuntu 22.04中仅修改指定USB以太网接口的静态IP且不影响互联网连接

嗨,我来帮你搞定这个问题!你的核心需求很明确:只调整那个USB转以太网接口(enx00e04c680202)的静态IP,同时保证无线网卡(wlp0s20f3)的互联网连接不受影响。我们先分析下原脚本出问题的原因,再给你两种实用的解决方案:

原脚本的问题根源

你用的脚本直接覆盖了系统默认的Netplan配置文件,还把网络渲染器从NetworkManager改成了networkd,而且只配置了目标接口——这就导致原来由NetworkManager管理的其他接口(比如你的无线网卡)的配置被清空了,自然连不上网了。


方案一:临时修改(立即生效,重启后恢复)

如果你只是需要频繁临时切换IP,这种方式最快捷,而且完全不会碰系统配置文件,也不会影响其他接口:

之前你用ip addr add添加新IP而不是替换旧IP,所以旧地址还会显示在接口上。正确的操作可以用两种方式:

方式A:替换旧IP(一步到位)

直接用replace命令自动覆盖同子网的旧IP:

sudo ip addr replace 192.168.200.99/24 dev enx00e04c680202

执行完后用ifconfigip addr show enx00e04c680202检查,旧IP会被替换成新的。

方式B:先删旧IP再加新IP

如果replace命令没生效,可以手动删除旧IP再添加新的:

  1. 先查看当前接口的IP条目(确认旧IP):
    ip addr show enx00e04c680202
    
  2. 删除旧IP:
    sudo ip addr del 192.168.200.100/24 dev enx00e04c680202
    
  3. 添加新IP:
    sudo ip addr add 192.168.200.99/24 dev enx00e04c680202
    
  4. (可选)重启接口确保生效:
    sudo ip link set enx00e04c680202 down && sudo ip link set enx00e04c680202 up
    

方案二:永久修改(重启后依然生效,不影响其他接口)

如果需要修改后的IP在系统重启后依然保留,我们可以单独为目标接口创建一个Netplan配置文件,完全不干扰原来的NetworkManager配置:

  1. 先恢复原来的网络配置(确保互联网连接正常):
    sudo cp /etc/netplan/01-network-manager-all.yaml.bak /etc/netplan/01-network-manager-all.yaml
    
  2. 创建一个单独的Netplan配置文件(比如02-usb-ethernet-static.yaml),专门管理目标接口:
    sudo tee /etc/netplan/02-usb-ethernet-static.yaml > /dev/null <<EOF
    network:
      version: 2
      ethernets:
        enx00e04c680202:
          renderer: networkd  # 用networkd单独管理这个接口,不影响NetworkManager的其他设备
          addresses: [192.168.200.99/24]
          # 注意:这个接口只连接本地设备,不需要设置网关(gateway4),避免和无线网卡的网关冲突
          # 如果本地设备需要DNS解析,可按需添加DNS配置,比如dns-servers: [8.8.8.8]
    EOF
    
  3. 应用新配置:
    sudo netplan apply
    

这样设置后,你的无线网卡依然由NetworkManager管理,保持互联网连接;目标USB以太网接口则由networkd单独管理,静态IP永久生效,两者互不干扰。


备注:内容来源于stack exchange,提问作者Alex

火山引擎 最新活动