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 :
- http://wiki.zed-network.fr/mediawiki/index.php/Reseau_debian
- http://forum.debian-fr.org/viewtopic.php?t=8236&sid=e0078faaa4375d19addc24b199fc430f
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.





