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

如何使用Ansible修改网络接口名称?含当前操作方案说明

如何用Ansible修改CentOS/RHEL系统的网络接口名称为eth0

下面是一套完整的Ansible实现方案,涵盖网卡配置文件修改、Grub参数调整,确保重启后网卡名称永久生效:

1. 复制并修改网卡配置文件

首先复制当前默认网卡的配置文件为ifcfg-eth0,再替换文件内的设备名称:

- name: 复制默认网卡配置文件为ifcfg-eth0
  copy:
    remote_src: True
    src: '/etc/sysconfig/network-scripts/ifcfg-{{ ansible_default_ipv4.interface }}'
    dest: /etc/sysconfig/network-scripts/ifcfg-eth0

- name: 替换配置文件内的设备名称为eth0
  replace:
    path: '/etc/sysconfig/network-scripts/ifcfg-eth0'
    regexp: "{{ ansible_default_ipv4.interface }}"
    replace: "eth0"

注:用copy而非直接mv是为了保留原配置文件做备份,避免操作失误导致网络中断。

2. 修改Grub配置以禁用可预测网卡名称

要让网卡名称永久改为eth0,必须修改Grub内核启动参数,添加net.ifnames=0和biosdevname=0来关闭系统的可预测命名规则:

主任务配置

- name: 更新Grub配置文件中的内核启动参数
  lineinfile:
    dest: "{{ grub_input_config }}"
    regexp: "GRUB_CMDLINE_LINUX"
    line: 'GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 biosdevname=0"'
  notify: 生成新的Grub配置

Handler定义(用于生成新的Grub配置)

---
- name: 生成新的Grub配置
  command: "{{ grub_mkconfig_cmd }} -o {{ grub_output_config }}"

默认变量设置

把Grub相关路径定义为变量,方便适配不同系统版本:

grub_mkconfig_cmd: grub2-mkconfig
grub_output_config: /boot/grub2/grub.cfg
grub_input_config: /etc/default/grub

完成以上配置后,执行Ansible playbook,重启服务器后网卡名称就会永久变为eth0了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:58:25