Forçando o HWADDR a se corrigir no script de rede ifcfg-eth0 na inicialização do CentOS 7

Forçando o HWADDR a se corrigir no script de rede ifcfg-eth0 na inicialização do CentOS 7

Pergunta:

Eu gostaria de encontrar uma maneira de fazer com que a linha HWADDR no script ifcfg-eth0 verifique/atualize-se na inicialização, caso ela mude quando ocorrer um clone ou cópia da VM. Tem algum jeito de fazer isso? No CentOS 6, remover a linha HWADDR do script ifcfg-eth0 tornou-o muito mais dinâmico, mas ainda não encontrei uma maneira de evitar que ifcfg-eth0 volte para ifcfg-eno1677776 sem a linha HWADDR no CentOS 7. Obrigado em adianta pela ajuda!


Fundo:

Estou executando uma máquina virtual CentOS 7.2.1511 via VMware Workstation. Por padrão, o CentOS 7 se livrou doeth0convenção de nomenclatura de seus scripts de rede e agora está configurado para usar scripts de rede nomeadosifcfg-eno1677776ou algo semelhante. Eu tenho um software quefortementedepende doeth0esquema de nomenclatura. Então eu reconfigurei meuifcfg-eno1677776roteiro de:

  1. Renomeando /etc/sysconfig/network-scripts/ifcfg-eno1677776para/etc/sysconfig/network-scripts/ifcfg-eth0
  2. Modificandoifcfg-eth0ser (obteve 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. Adicionadonet.ifnames=0até o final doGRUB_CMDLINE_LINUXlinha no /etc/sysconfig/grubarquivo.

  4. Reinicie e execute ifconfig (e comemore!):

    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 inicializo, essa interface eth0 permanece. No entanto, esta VM será distribuída entre os membros da equipe e eventualmente entregue aos clientes. É aqui que surge o problema. O VMware é ótimo porque você pode clonar um instantâneo de uma VM para distribuição, mas isso altera o endereço MAC da VM.


EDITAR:

Você deve executar grub2-mkconfig -o /boot/grub2/grub.cfgapós fazer a alteração @larsks recomendada abaixo para que funcione. Funcionou para mim!

Responder1

A solução mais fácil é provavelmente desabilitar o comportamento de "nomeação previsível de dispositivos" definindo as seguintes opções na linha de comando do kernel:

biosdevname=0 net.ifnames=0

Com isso instalado, a primeira interface Ethernet em seu sistema será nomeada eth0, a segunda será eth1, etc.aqui.

Com isso instalado, basta remover a HWADDRlinha do seu arquivo de configuração e tudo deverá funcionar conforme o esperado.

informação relacionada