Eu investiguei mais e encontrei mais detalhes.
A razão para este comportamento desfavorável foram as condições de corrida entre o kernel e o software udev (os desenvolvedores declararam em um relatório de bug).
Portanto, os desenvolvedores do udev decidiram remover a nomenclatura confiável de NICs como ethX e forçar uma nomenclatura menos previsível.
Eles removeram o código que permitia ao administrador usar uma ordem confiável das interfaces ethX e também adicionaram código que se recusa a usar qualquer nome ethX que já tenha sido usado pelo kernel como o nome da NIC interna.
Portanto, parece que você não pode receber pedidos confiáveis se quiser usar os nomes eth0, eth1 e similares.
Alguns sugerem usar nomes como netX em vez disso.
Também pode funcionar se você configurar ethX com X maior que o número real de interface.
Eu era o autor original que achava ter encontrado a solução, quando na verdade era apenas temporário. Depois de alguns testes, achei os dispositivos ethernet nomeados aleatoriamente e não da maneira que eu defini em 60-net.rules.
Eu tinha postado a resposta original anonimamente e depois decidi me inscrever para poder participar mais. Então eu sinto muito. A resposta postada abaixo NÃO resolve o problema originalmente respondido. Faz isso por algumas botas, mas não funciona de forma confiável.
Eu tive sucesso com o CD-Minimal do CentOS 7 e a seguinte estratégia:
Eu fiz muitas coisas que não ajudaram, então tive que mudar algumas delas de volta.
Eu reinstalei o biosdevname (ele foi removido).
Eu editei / etc / default / grub e adicionei biosdevname = 0 AND ifnames = 0 para o CMDLINE.
Eu refiz a configuração do grub com: grub2-mkconfig -o /boot/grub2/grub.cfg
Também importei os dois arquivos a seguir de uma instalação do CentOS 6.5:
/lib/udev/rules.d/75-persistent-net-generator.rules
/ lib / udev / write_net_rules
(mas estes podem não ter qualquer efeito)
Então eu criei um arquivo chamado 60-net.rules em /etc/udev/rules.d/ com uma linha para cada NIC que eu tenho:
SUBSYSTEM == "net", ACTION == "add", MOTORISTAS ==, ATTR {endereço} == "aa: bb: cc: dd: ee: ff" "*?", ATTR {dev_id} =="0x0", ATTR {type} == "1", NAME="eth1"
(Claro que o MAC ADDRESS 'aa: bb: ...' tem que ser o correto).
Depois disso eu iniciei e funcionou.