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

2

Pergunta :

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

Plano de fundo :

Estou executando uma máquina virtual do CentOS 7.2.1511 via VMware Workstation. Por padrão, o CentOS 7 livrou-se da convenção de nomenclatura eth0 de seus scripts de rede e agora está configurada para usar scripts de rede chamados ifcfg-eno1677776 ou algo similar. Eu tenho um software que strongmente confia no esquema de nomenclatura eth0 . Então, eu reconfigurei meu script ifcfg-eno1677776 por:

  1. Renomeando /etc/sysconfig/network-scripts/ifcfg-eno1677776 para /etc/sysconfig/network-scripts/ifcfg-eth0
  2. Modificando ifcfg-eth0 para ser (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. Adicionou net.ifnames = 0 ao final da linha GRUB_CMDLINE_LINUX no arquivo /etc/sysconfig/grub .

  4. Reinicialize 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 eu inicializo, esta interface eth0 permanece. No entanto, essa VM deve ser distribuída entre os membros da equipe e, por fim, entregue aos clientes. É aqui que surge o problema. O VMware é ótimo, pois 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.cfg depois de fazer a alteração @ larsks recomendada abaixo para que ela funcione. Trabalhei para mim!

    
por msteppe91 02.11.2016 / 12:21

1 resposta

3

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

biosdevname=0 net.ifnames=0

Com isto, a primeira interface ethernet do seu sistema será chamada eth0 , a segunda será eth1 , etc. Isto está documentado aqui .

Com isso, basta remover a linha HWADDR do seu arquivo de configuração e tudo deve funcionar conforme o esperado.

    
por 04.11.2016 / 14:31