Abilitare e configurare scheda rete CentOS

Se con:

# ifconfig

su una CentOS 6.2 appena installata, appare solo l’interfaccia di loopback, occorre configurare la scheda di rete.

Ho lanciato:

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

il contenuto del file era:

DEVICE="eth0" HWADDR="aa:bb:cc:dd:ee:ff" NM_CONTROLLED="yes" ONBOOT="no"

ho modificato il file aggiungendo:

BOOTPROTO="dhcp"

e ho modificato la riga ONBOOT=”no” in:

ONBOOT="yes"

Se al posto del dhcp si usa un indirizzo statico, usare:

BOOTPROTO="none" NETMASK="255.255.255.0" IPADDR="192.168.0.18" GATEWAY="192.168.0.1"

Infine ho riavviato l’interfaccia con:

# ifdown eth0 # ifup eth0

SIOCSIFNETMASK No such device

Mentre avviavo una Debian, ho visto dei messaggi che mi hanno insospettito:

SIOCSIFNETMASK: No such device SIOCSGIFADDR: No such device eth0: ERROR while getting interface flags: no such device eth1: ERROR while getting interface flags: no such device 

Facendo:

$ ifconfig

veniva visualizzata solo l’interfaccia loopback, mentre con:

$ ifconfig -a 

non c’erano più la eth0 e la eth1, ma la eth2 e eth3 (Figura 1):

Andando a vedere il log: /var/log/messages ho notato:

kernel: [..] udev: renamed network interface eth0 to eth2 kernel: [..] udev: renamed network interface eth1 to eth3 

Successivamente ho controllato il file:

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

e ho visto le seguenti righe:

# PCI device 0x8086:0x1076 (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*:*:*:*:*:*c", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x8086:0x1076 (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*:*:*:*:*:*d", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" 
# PCI device 0x8086:0x1076 (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*:*:*:*:*:*6", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"
# PCI device 0x8086:0x1076 (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*:*:*:*:*:*7", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"

A questo punto sono andato a controllare (sempre da ifconfig -a, vedi Figura 1) i MAC delle schede, ho commentato le prime due righe (con MAC diverso) e ho modificato le ultime due mettendo “eth0” e “eth1” al posto di “eth2” e “eth3” (Figura 2):

# PCI device 0x8086:0x1076 (e1000) #SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*:*:*:*:*:*c", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x8086:0x1076 (e1000) #SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*:*:*:*:*:*d", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# PCI device 0x8086:0x1076 (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*:*:*:*:*:*6", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x8086:0x1076 (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*:*:*:*:*:*7", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" 

Dopo aver fatto ciò, ho riavviato ed è tornato tutto come prima.