Redhat el6 configuration système

De TechWik
Aller à : navigation, rechercher

Interfaces réseau

Trouver les interfaces réseau et adresses PCI:

 # lspci -D |grep -i ethernet 
 0000:02:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
 0000:02:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)

Trouver la correspondance PCI / adresse MAC pour une interface ethernet, et infos driver:

 # ethtool -i eth0 
   driver: bnx2
   version: 2.2.3
   firmware-version: bc 4.6.4 NCSI 1.0.3
   bus-info: 0000:02:00.0
 # ethtool -P eth0
   Permanent address: 00:25:b3:e1:d6:9a
 # udevadm info -a -p /sys/class/net/eth0
   looking at device '/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/net/eth0':
   KERNEL=="eth0"
   SUBSYSTEM=="net"
   DRIVER==""
   ATTR{addr_assign_type}=="0"
   ATTR{features}=="0x1949b3"
   ... etc ... 
   ATTR{address}=="00:25:b3:e1:d6:9a"
   ATTR{broadcast}=="ff:ff:ff:ff:ff:ff"

NB: Sur machine virtuelle KVM/qemu, avec interface de type virtio, ethtool ne donne pas l'adresse PCI, et la MAC-address est à 0, udevadm est alors utile...

Maitrise du nommage et de la position des interfaces.

Par défaut /lib/udev/write_net_rules est utilisé pour générer /etc/udev/rules.d/70-persistent-net.rules. On y trouve l'association entre le nom de l'interface et l'adresse mac. Exemple:

 # PCI device 0x14e4:0x1639 (bnx2)
 SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:b3:e1:d6:9a", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

La réécriture du fichier peut être provoquée manuellement (cf article ) par :

 # udevadm trigger --subsystem-match=net

On peut modifier cet ordre en forçant le contenu de ce fichier pour imposer un emplacement arbitraire aux interfaces (voire un nommage différent de eth0-n). Dans ce cas, il faut s'assurer que le /lib/udev/write_net_rules par defaut ne viendra pas écraser les modifs (en remplacant ce fichier par exemple).

On peut aussi modifier l'ordonnancement (et le nommage des interfaces) en utilisant directement l'adresse PCI dans un fichier sous udev/rules.d (cf https://access.redhat.com/solutions/112643 ). Avec le contenu par exemple:

 #00:03.0 Ethernet controller: Red Hat, Inc Virtio network device
 ACTION=="add", SUBSYSTEM=="net", BUS=="pci", KERNELS=="0000:00:03.0", NAME:="eth0"

Voir aussi l'article https://access.redhat.com/solutions/159723 pour utiliser le nommage selon la fonction "biosdevname".