RHEL: Criando nomes estáveis para interfaces de rede

6

Temos uma caixa RHEL 5.5 com 8 interfaces. E a nomenclatura da interface eth é flip flopping. Às vezes, eth0 aparece na porta física 7 e, às vezes, em outra porta física.

Queremos que a nomenclatura seja conforme a seqüência do PCI BUS. Eu fiz a pesquisa e descobri que

cat /sys/devices/pci0000\:00/0000\:00\:1e.0/0000\:07\:07.0/net\:eth0/address\

Esses locais têm o endereço mac dos dispositivos eth . Então, se eu obtiver "endereço" em seqüência a partir dos locais do barramento PCI e colocá-los em ifconfig-eth0 to ifconfig-eth7 na ordem da localização do barramento PCI, minha nomenclatura eth será estável.

Eu tentei:

find /sys/devices/ -name "address"

mas isso não traz nenhum resultado. Eu não sei porque…

Alguma ajuda aqui?

    
por user1263746 11.05.2013 / 14:34

3 respostas

3

Já tentou incluir os endereços MAC nos diferentes arquivos ifcfg-ethX para os vários dispositivos ethernet? Além disso, você pode controlar qual dispositivo obtém, com o qual o ethX pode lidar com o arquivo 60-net.rules do udev.

Por exemplo

# /etc/sysconfig/network-scripts/ifcfg-eth0

# Intel Corporation 82573E Gigabit Ethernet Controller (Copper)
DEVICE=eth0
BOOTPROTO=static
DHCPCLASS=
HWADDR=00:30:48:56:A6:2E
IPADDR=10.10.10.15
NETMASK=255.255.255.192
ONBOOT=yes

Em seguida, no arquivo /etc/udev/rules.d/60-net.rules :

KERNEL=="eth*", SYSFS{address}=="00:30:48:56:A6:2E", NAME="eth0"

Acredito que essas informações sejam usadas para manter os dispositivos configurados de forma consistente, da inicialização à inicialização.

Configurando mais de um dispositivo ethX

Para lidar com mais dispositivos, basta configurar cada dispositivo correspondente ao arquivo /etc/sysconfig/network-scripts/ifcfg-ethX e adicionar outra linha ao arquivo 60-net.rules .

KERNEL=="eth*", SYSFS{address}=="00:30:48:56:A6:2E", NAME="eth0"
KERNEL=="eth*", SYSFS{address}=="00:30:48:56:A6:2F", NAME="eth1"

O exemplo acima é como você faz isso no CentOS 5.X. O arquivo muda no CentOS 6.x para 70-persistent-net.rules , e o formato é um pouco diferente também:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:dd", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

Referências

por 11.05.2013 / 16:21
2

Até onde eu sei, você precisa de um lançamento relativamente novo. O RHEL 6 parece para suportar isso ( Nomenclatura de dispositivo de rede consistente ) embora ele precise ser especificamente ativado na maioria dos sistemas. Fedora 15+ também faz isso e, pelo Fedora 17, parece ser o modo padrão.

Eu não sei exatamente quando essa alteração foi completamente adotada e, mais importante para essa questão, se há alguma maneira de retroceder isso para a série RHEL 5. Este é um começo, pelo menos.

    
por 11.05.2013 / 16:03
1

Você deve obter o endereço de hardware por:

ifconfig -a | grep HWaddr

Ou talvez:

tail -v /sys/devices/*/*/net/eth*/address
# or
tail -v /sys/devices/*/*/*/net/eth*/address

find deveria ter correspondido.

Verifique também:

cat /etc/udev/rules.d/70-persistent-net.rules

Se comentários abaixo .

    
por 11.05.2013 / 16:03