You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Debian使用preseed安装时如何将网络接口命名为eth0而非ens192

解决方案
  • 首先补充内核启动参数,同时禁用一致网络命名和biosdevname规则,且需要同时对安装程序内核、目标系统内核都添加参数:
    把你原有d-i debian-installer/add-kernel-opts行替换为以下两行:
    d-i debian-installer/add-kernel-opts string net.ifnames=0 biosdevname=0
    d-i grub-installer/grub_cmdline_linux string net.ifnames=0 biosdevname=0
    
    原有配置仅给安装过程的内核加了参数,没有写入目标系统的GRUB配置,导致安装完成后系统启动时还是会启用新的命名规则。
  • 清理重复的接口选择配置,删除d-i netcfg/choose_interface select auto行,仅保留d-i netcfg/choose_interface select eth0,避免安装程序优先识别到ens192接口后绑定配置。
  • 可选:添加late_command清除udev持久化网络规则,避免遗留的规则强制绑定接口名为ens192:
    d-i preseed/late_command string rm -f /target/etc/udev/rules.d/70-persistent-net.rules
    

完整修改后的网络相关preseed示例

# 内核参数禁用新式接口命名
d-i debian-installer/add-kernel-opts string net.ifnames=0 biosdevname=0
d-i grub-installer/grub_cmdline_linux string net.ifnames=0 biosdevname=0
# 网络配置
d-i netcfg/choose_interface select eth0
d-i netcfg/disable_autoconfig boolean true
d-i netcfg/dhcp_failed note
d-i netcfg/dhcp_options select Configure network manually
d-i netcfg/get_ipaddress string 192.168.0.50
d-i netcfg/get_netmask string 255.255.255.0
d-i netcfg/get_nameservers string 8.8.8.8
d-i netcfg/confirm_static boolean true
d-i netcfg/get_hostname string debian-template
# 清理udev接口命名规则
d-i preseed/late_command string rm -f /target/etc/udev/rules.d/70-persistent-net.rules

修改后重新部署即可,部署完成后查看/proc/cmdline可以确认内核参数已生效,接口默认会命名为eth0,/etc/network/interfaces中的配置会正常生效。


内容的提问来源于stack exchange,提问作者Moarz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 17:00:01