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

Ubuntu 24.04下如何彻底移除指定网络接口(涉及Netplan与Cloud-init问题)

Ubuntu 24.04下如何彻底移除指定网络接口(涉及Netplan与Cloud-init问题)

看起来你遇到了Ubuntu 24.04里网络接口顽固残留的头疼问题——明明删了Netplan配置、卸了cloud-init,重启后那个enP26388s1还是冒出来,甚至直接删除接口还提示不支持。我来帮你一步步解决这个事儿:

第一步:先搞清楚这个接口的“真实身份”

首先得确认这个enP26388s1到底是物理网卡的别名、虚拟接口,还是系统识别出的重复命名。咱们跑两个命令看看:

  • 查看接口详细信息:ip link show enP26388s1,注意看输出里的link/ether MAC地址,和eth0对比是不是完全一致;
  • 扫描硬件网卡:sudo lshw -C network,看看有没有两个同名或同MAC的网卡条目,确认它是不是同一个物理设备的重复识别。

如果是同一个物理网卡的不同命名,那问题大概率出在网卡命名规则或者udev配置上;如果是虚拟接口,那可能是cloud-init或者其他服务残留的配置。

第二步:彻底清理Cloud-init的残留

虽然你已经卸载了cloud-init,但它可能留下了不少配置文件,这些文件重启后可能会重新生成接口配置。咱们把残留彻底清掉:

  1. 彻底卸载cloud-init(连配置文件一起删):
    sudo apt purge cloud-init && sudo apt autoremove --purge
    
  2. 删除cloud-init的残留目录:
    sudo rm -rf /etc/cloud /var/lib/cloud
    

第三步:确保Netplan里完全没有这个接口的配置

检查/etc/netplan目录下的所有yaml文件(不止50-cloud-init.yaml),确保没有任何关于enP26388s1的配置条目。确认后,重新生成并应用Netplan配置:

sudo netplan generate && sudo netplan apply

第四步:修正Udev网卡命名规则

Ubuntu现在用udev来管理网卡命名,有时候会出现同一个物理网卡被识别出多个名字的情况。咱们可以通过两种方式处理:

方式一:删除重复的udev规则

查看是否存在网卡持久化规则文件:/etc/udev/rules.d/70-persistent-net.rules,如果里面有enP26388s1的条目,直接删掉对应的行,保存后重启机器。

方式二:强制使用传统网卡命名(可选)

如果不想用复杂的网卡命名,咱们可以强制系统回到eth0这种传统命名方式,这样就能避免重复命名的问题:

  1. 编辑/etc/default/grub文件,找到GRUB_CMDLINE_LINUX这一行,添加net.ifnames=0 biosdevname=0,修改后看起来像这样:
    GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
    
  2. 更新grub配置:
    sudo update-grub
    
  3. 重启机器,此时网卡会统一用eth0这种命名,enP26388s1就不会再出现了。

第五步:禁用接口自动启用(兜底方案)

如果以上步骤都没解决,咱们可以设置开机自动禁用这个接口:

  1. 创建一个systemd服务文件/etc/systemd/system/disable-enP26388s1.service,内容如下:
    [Unit]
    Description=Disable enP26388s1 interface
    After=network.target
    
    [Service]
    Type=oneshot
    ExecStart=/usr/sbin/ip link set enP26388s1 down
    RemainAfterExit=yes
    
    [Install]
    WantedBy=multi-user.target
    
  2. 启用这个服务:
    sudo systemctl enable disable-enP26388s1.service
    

这样每次开机后,系统都会自动把这个接口禁用掉。

最后重启机器,再用ip link show检查,那个烦人的enP26388s1应该就彻底消失或者被禁用了。

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

火山引擎 最新活动