Geralmente, isso é feito pelo endereço MAC, não pelo endereço PCI.
-
Se o RHEL 5.8 suportar o arquivo /etc/udev/rules.d/70-persistent-net.rules, você poderá criar um.
Basta copiar um de outro computador e editá-lo para que o nome correto do dispositivo seja atribuído com base no endereço MAC.
Tudo o que você realmente precisa nesse arquivo é de 3 linhas como esta: (ignore qualquer quebra de linha, isso é tudo uma linha)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:23:cd:b0:23:b9", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
Altere os endereços ATTR {} e NAME="eth [012]" para adequar suas NICs e seus requisitos.
Não tenho certeza se o RHEL 5.4 ou 5.8 o possui, mas talvez valha a pena verificar se você tem um script chamado / lib / udev / write_net_rules - se tiver, basta executá-lo, ele irá gerar o 70 -persistent-net.rules, então apenas edite o NAME para cada NIC.
Você pode obter os endereços MAC com
ifconfig | grep 'eth.*HWaddr'
e, em seguida, copiá-los e colá-los no arquivo 70-persistent-net.rules.Quando isso for feito, você poderá reinicializar ou desativar todas as suas interfaces, descarregar seus módulos de driver de kernel, recarregar os módulos (as interfaces agora terão seus nomes de dispositivos atribuídos) e, em seguida, restaurar suas interfaces.
-
Antes do udev e do arquivo 70-persistent-net.rules, eu costumava usar um programa chamado
ifrename
do pacote wireless-tools (ele funciona em qualquer NIC, não apenas em wireless). Ele usa um arquivo / etc / iftab para renomear as interfaces de rede pelo endereço MAC. Isso funcionou principalmente, mas foi menos confiável do que o método do udev.Não tenho ideia se está empacotado para RHEL ou não, mas você pode encontrá-lo em link
-
Eu não usei este método para uma NIC, mas também é possível usar o udev para nomear persistentemente dispositivos baseados em endereço PCI. Primeiro, exclua o /etc/udev/rules/70-persistent-net.rules se ele existir. Em seguida, crie um novo arquivo em / etc / udev / rules - talvez chame-o 70-persistent-net-by-pci.rules
Adicione linhas como as seguintes:
ACTION=="add", SUBSYSTEM=="net", BUS=="pci", KERNELS=="0000:03:03.0", NAME="eth0" ACTION=="add", SUBSYSTEM=="net", BUS=="pci", KERNELS=="0000:03:03.1", NAME="eth1" ACTION=="add", SUBSYSTEM=="net", BUS=="pci", KERNELS=="0000:05:03.0", NAME="eth2"
Em alguns Linuxes mais novos (por exemplo, Ubuntu 13.04 ou posterior), é necessário remover o qualificador de BUS, de modo que as regras devem se parecer com:
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:03:03.0", NAME="eth0"
Em seguida, reinicie ou descarregue & recarregue os módulos do driver conforme descrito acima.
Você pode encontrar mais detalhes no link - mas a página é bastante antigo e refere-se ao comando obsoleto
udevinfo
. Useudevadm info
em vez disso