Forzar a HWADDR a corregirse en el script de red ifcfg-eth0 en el arranque de CentOS 7

Forzar a HWADDR a corregirse en el script de red ifcfg-eth0 en el arranque de CentOS 7

Pregunta:

Me gustaría encontrar una manera de que la línea HWADDR en el script ifcfg-eth0 se verifique/actualice durante el arranque en caso de que cambie cuando se produzca un clon o una copia de la VM. ¿Hay una manera de hacerlo? En CentOS 6, eliminar la línea HWADDR del script ifcfg-eth0 lo hizo mucho más dinámico, pero todavía tengo que encontrar una manera de evitar que ifcfg-eth0 vuelva a cambiar a ifcfg-eno1677776 sin la línea HWADDR en CentOS 7. Gracias. ¡Adelanto por la ayuda!


Fondo:

Estoy ejecutando una máquina virtual CentOS 7.2.1511 a través de VMware Workstation. Por defecto, CentOS 7 se deshizo deleth0convención de nomenclatura de sus scripts de red y ahora está configurado para utilizar scripts de red denominadosifcfg-eno1677776o algo similar. tengo un software quefuertementese basa en eleth0esquema de nomenclatura. Así que he reconfigurado miifcfg-eno1677776guión de:

  1. Cambiar el nombre /etc/sysconfig/network-scripts/ifcfg-eno1677776a/etc/sysconfig/network-scripts/ifcfg-eth0
  2. Modificandoifcfg-eth0ser (obtuve HWADDR de /sys/class/net/eno1677776/address):

    BOOTPROTO=dhcp NAME=eth0 DEVICE=eth0 ONBOOT=yes NM_CONTROLLED=no HWADDR=00:0c:29:d6:d2:65

  3. Agregadonet.ifnombres=0hasta el final delGRUB_CMDLINE_LINUXlínea en el /etc/sysconfig/grubarchivo.

  4. Reinicie y ejecute ifconfig (¡y celebre!):

    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.176.15.148 netmask 255.255.252.0 broadcast 10.176.15.255 inet6 fe80::20c:29ff:fed6:d265 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:d6:d2:65 txqueuelen 1000 (Ethernet) RX packets 2141073 bytes 749959853 (715.2 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 65237 bytes 35352127 (33.7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Cada vez que inicio, esta interfaz eth0 permanece. Sin embargo, esta máquina virtual se distribuirá entre los miembros del equipo y, finalmente, se entregará a los clientes. Aquí es donde surge el problema. VMware es excelente porque puede clonar una instantánea de una VM para distribuirla, pero esto cambia la dirección MAC de la VM.


EDITAR:

Debes ejecutarlo grub2-mkconfig -o /boot/grub2/grub.cfgdespués de realizar el cambio que @larsks recomienda a continuación para que funcione. ¡Trabajó para mi!

Respuesta1

La solución más sencilla probablemente sea desactivar el comportamiento de "nombramiento de dispositivos predecible" configurando las siguientes opciones en la línea de comando del kernel:

biosdevname=0 net.ifnames=0

Una vez implementado esto, la primera interfaz Ethernet de su sistema se llamará eth0, la segunda eth1, etc. Esto está documentadoaquí.

Una vez implementado esto, simplemente elimine la HWADDRlínea de su archivo de configuración y todo debería funcionar como espera.

información relacionada