Auteur : Didier Misson
• 21 juin 2007

Que faire quand la porte d’un Catalyst (Switch Cisco) montre un taux d’erreur anormal ?
C’est souvent un problème classique : une différence de configuration du mode duplex, entre la porte du switch et l’interface Ethernet du serveur.

Comment modifier la configuration hardware d’une interface Ethernet sur un serveur Debian ?

Il ne s’agit pas ici de la configuration IP de l’interface (adresse, masque, gateway, DHCP ou IP fixe), mais de la configuration hardware (vitesse et mode half ou full duplex).
Par défaut, Debian, comme la plupart des distributions Linux, configure les interfaces réseaux en mode autoconfiguration. Il est parfois nécessaire de fixer cette configuration.

Pas mal d’articles ont déjà été écrit sur ce sujet. Quelques recherches sur Internet m’ont permit de trouver ces 2 articles :

Pour changer la configuration hardware d’une porte Ethernet, vous avez besoin de l’utilitaire ethtool, s’il n’est pas encore installé :

$ su - Password: apt-get install ethtool

Ethtool vous permet de vérifier la configuration actuelle de l’interface :

root@servermrtg2:/etc/network# ethtool eth0 Settings for eth0:         Supported ports: [ TP MII ]         Supported link modes:   10baseT/Half 10baseT/Full                                 100baseT/Half 100baseT/Full         Supports auto-negotiation: Yes         Advertised link modes:  10baseT/Half 10baseT/Full                                 100baseT/Half 100baseT/Full         Advertised auto-negotiation: Yes         Speed: 100Mb/s         Duplex: Half         Port: MII         PHYAD: 1         Transceiver: internal         Auto-negotiation: on         Supports Wake-on: g         Wake-on: g         Current message level: 0x00000007 (7)         Link detected: yes

Dans le cas présent, le mode auto-configuration ne me convient pas.
Avoir les 2 interfaces de chaque côté du câble (Serveur et Catalyst) qui auto-négocient, cela peut donner de droles de résultats.

Je veux forcer l’interface en 100 Mbps et en Full Duplex.

D’abord, supprimer l’auto-négotiation

ethtool -s eth0 autoneg off

Forcer l’interface Ethernet en 100 Mbps et en Full duplex :

ethtool -s eth0 speed 100 duplex full

Vérification :

root@servermrtg2:/etc/network# ethtool eth0 Settings for eth0:         Supported ports: [ TP MII ]         Supported link modes:   10baseT/Half 10baseT/Full                                 100baseT/Half 100baseT/Full         Supports auto-negotiation: Yes         Advertised link modes:  10baseT/Half 10baseT/Full                                 100baseT/Half 100baseT/Full         Advertised auto-negotiation: No         Speed: 100Mb/s         Duplex: Full         Port: MII         PHYAD: 1         Transceiver: internal         Auto-negotiation: off         Supports Wake-on: g         Wake-on: g         Current message level: 0x00000007 (7)         Link detected: yes

Un autre utilitaire vous montrant la configuration hardware de l’interface est mii-tool :

mii-tool eth0: 100 Mbit, full duplex, link ok

Ok, c’est très bien… mais au prochain reboot, ce sera perdu ! :-(
Il faut en fait refaire cette commande à chaque réinitialisation de l’interface.

Le mieux est de l’inclure dans le fichier de configuration :

vi /etc/network/interfaces

ajouter une ligne “pre-up” qui lancera la commande ethtool chaque fois que l’interface sera initialisée et AVANT (pre) la demande DHCP.

# This entry was created during the Debian installation auto eth0 iface eth0 inet dhcp pre-up ethtool -s eth0 speed 100 duplex full autoneg off

“:wq” pour sauver en VI

Et un essais pour être sûr que tout ira bien au prochain reboot :

# /etc/init.d/networking restart

Vérifier si on est toujours en 100 Mbps full duplex :

# mii-tool eth0: 100 Mbit, full duplex, link ok

Voilà, tout est ok. :-)

Catégorie: Linux | Tags : ,
Vous pouvez suivre toutes les réponses à à ce billet via le flux RSS 2.0. Les commentaires et la notification par ping sont désactivés.

Les commentaires sont désactivés.