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

Ubuntu 20.04中如何永久禁用指定网络接口?

Ubuntu 20.04中如何永久禁用指定网络接口?

我完全理解你在Ubuntu 20.04里试图永久禁用特定网卡却碰壁的烦恼——之前你尝试的两种方法没生效,大概率是配置细节没做到位,或者没有正确应用配置。下面给你几个不需要修改驱动的靠谱方案,一步步来就能解决问题:

方法一:通过Netplan规范配置 推荐(Ubuntu 20.04默认方案)

Ubuntu 20.04默认用Netplan管理网络,之前你可能只是加了optional: true但没配合其他禁用参数,导致没效果。按以下步骤操作:

  1. 先确认你的目标网卡ID或MAC地址,执行命令:
    ip link show
    
    记下网卡名(比如eth0)或者MAC地址(格式类似aa:bb:cc:dd:ee:ff),用MAC地址更稳妥,避免网卡名因系统更新变化。
  2. 编辑Netplan配置文件(通常位于/etc/netplan/目录下,比如00-installer-config.yaml,文件名可能略有不同):
    sudo nano /etc/netplan/00-installer-config.yaml
    
  3. 按YAML格式要求(缩进必须是空格,不能用Tab),修改对应网卡的配置:
    network:
      version: 2
      ethernets:
        eth0:
          match:
            macaddress: aa:bb:cc:dd:ee:ff  # 替换成你的网卡MAC
          dhcp4: no
          dhcp6: no
          addresses: []  # 不配置任何静态IP
          optional: true
    
  4. 生成并应用配置:
    sudo netplan generate
    sudo netplan apply
    
    重启系统后,这个网卡就不会自动启用了。

方法二:用Systemd服务开机自动禁用

如果Netplan的方案没达到预期,这个兜底方法很有效:

  1. 创建一个Systemd服务文件:
    sudo nano /etc/systemd/system/disable-eth0.service
    
  2. 写入以下内容(替换eth0为你的网卡名):
    [Unit]
    Description=Disable eth0 network interface
    Before=network.target
    
    [Service]
    Type=oneshot
    ExecStart=/sbin/ip link set eth0 down
    RemainAfterExit=yes
    
    [Install]
    WantedBy=multi-user.target
    
  3. 启用并启动服务:
    sudo systemctl enable disable-eth0.service
    sudo systemctl start disable-eth0.service
    
    重启后,系统会在网络服务启动前自动禁用目标网卡。

方法三:通过udev规则底层禁用

这个方法会在网卡被系统识别时直接禁用,适合需要更彻底禁用的场景:

  1. 创建udev规则文件:
    sudo nano /etc/udev/rules.d/99-disable-eth0.rules
    
  2. 写入规则(替换MAC地址为你的网卡MAC):
    SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="aa:bb:cc:dd:ee:ff", RUN+="/sbin/ip link set %k down"
    
  3. 保存文件后重启系统,目标网卡一被识别就会被自动禁用。

以上三种方法都不需要修改网卡驱动,你可以从Netplan方法开始尝试,毕竟这是Ubuntu官方推荐的网络配置方式,最符合系统规范。

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

火山引擎 最新活动