14.9.07

Problemes de xarxa al actualitzar a 6.06

En actualitzar un Ubuntu 5.10 a la versió 6.06 tot semblava funcionar correctament, però després de parar i engegar el servidor, aquest no tenia xarxa i no trobava els interfaces que fins ara tenia: eth0 i eth1 (una 3COM integrada i una Intel PCI). Els missatges d'error al fer un restart del daemon o intentar un ifup eren algo així:

SIOCSIFADDR: No such device
eth0: ERROR while getting interface flags: No such device

Després de trencar-me una mica les banyes vaig veure (ifconfig -a) que les targetes estaven configurades com a eth2 i eth3, però cada cop que reiniciava canviaven el seu nom. Com que a /etc/iftab hi havien les MACs de eth0 i eth1 i a /etc/network/interfaces hi havia la configuració de xarxa amb IP estàtica per a eth0 no hi havia manera de fer funcionar la xarxa.

El problema és que el daemon udev assigna dinàmicament un nom a les targetes de xarxa (i altres perifèrics) i aquest no és sempre el mateix a cada reinici.

La solució:

He trobat la solució a Rename Network Interface using Udev, però adaptant-ho a un Ubuntu 6.06 LTS he fet el següent:
  1. Crear un nou fitxer /etc/udev/rules.d/10-netinterfaces.rules
  2. Fixant un adreça MAC amb un nom d'interface:

    KERNEL==”eth*”, SYSFS{address}==”00:12:34:fe:dc:ba”, NAME=”eth0″
    KERNEL==”eth*”, SYSFS{address}==”00:56:78:98:76:54″, NAME=”eth1″
  3. Edito el fitxer /etc/network/interfaces i m'asseguro que els nom dels interfaces són els que toquen.
  4. Per si de cas, elimino el fitxer /etc/iftab amb un mv iftab iftab.old.
  5. Reinicio els servidor.
Si tot i així tenim algun problema hi ha algunes idees que ens poden ajudar:
  • Connectar i desconnectar el cable de xarxa i mirar els logs i ens dirà si la interfície està activa: tail /var/log/syslog
  • Mirar les MAC i les interfícies amb ifconfig -a
  • Fer un restart dels daemons networking i udev i mirar els logs ens pot donar pistes.