Aller au contenu

Forcer la vitesse des liens réseau sous Linux

cover

Aujourd'hui, j'ai été confronté à un problème assez ennuyeux. J'ai un serveur avec une carte réseau de 1Gbps connectée à un switch de 1Gbps. J'ai essayé de sauvegarder mes données comme d'habitude mais le transfert était plus lent que d'habitude. En utilisant ethtool, j'ai vu que la vitesse du lien n'était que de 100Mbps !

Tout d'abord, je dois récupérer le nom de l'interface réseau. Je pensais que c'était eth0 mais c'était enp2s0. Merci à Fedora pour cette nouvelle convention de nommage !

En utilisant la commande ip, je peux donc obtenir la liste de toutes les interfaces réseau et leur statut actuel.

ip link show

Output :

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 12:34:56:78:9a:bc brd ff:ff:ff:ff:ff:ff

L'interface enp2s0 est celle que je recherche. Je peux maintenant utiliser ethtool pour obtenir la vitesse actuelle du lien.

ethtool enp2s0

Output :

Settings for enp2s0:
    Supported ports: [ TP    MII ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Supported pause frame use: Symmetric Receive-only
    Supports auto-negotiation: Yes
    Supported FEC modes: Not reported
    Advertised link modes:  100baseT/Full
    Advertised pause frame use: Symmetric Receive-only
    Advertised auto-negotiation: Yes
    Advertised FEC modes: Not reported
    Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                         100baseT/Half 100baseT/Full
                                         1000baseT/Half 1000baseT/Full
    Link partner advertised pause frame use: Symmetric Receive-only
    Link partner advertised auto-negotiation: Yes
    Link partner advertised FEC modes: Not reported
    Speed: 100Mb/s
    Duplex: Full
    Auto-negotiation: on
    master-slave cfg: preferred slave
    master-slave status: slave
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: external
    MDI-X: Unknown
    Supports Wake-on: pumbg
    Wake-on: g
    Link detected: yes

La ligne Speed est celle que je recherche. Elle indique 1000b/s, ce qui n'est pas ce que j'attends. Auto-negotiation est on donc la carte réseau devrait être capable de négocier la vitesse du lien avec le switch.

Ma carte supporte 1000baseT/Full comme le montre la ligne Supported link modes. Le switch supporte également 1000baseT/Full comme le montre la ligne Link partner advertised link modes. Alors pourquoi la vitesse du lien n'est-elle que de 100Mbps ?

Forcer la vitesse du lien

Je peux forcer la vitesse du lien en utilisant la commande ethtool.

ethtool -s enp2s0 speed 1000

Vérifions à nouveau la vitesse du lien.

ethtool enp2s0

Output :

Settings for enp2s0:
    Supported ports: [ TP    MII ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Supported pause frame use: Symmetric Receive-only
    Supports auto-negotiation: Yes
    Supported FEC modes: Not reported
    Advertised link modes:  1000baseT/Full
    Advertised pause frame use: Symmetric Receive-only
    Advertised auto-negotiation: Yes
    Advertised FEC modes: Not reported
    Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                         100baseT/Half 100baseT/Full
                                         1000baseT/Half 1000baseT/Full
    Link partner advertised pause frame use: Symmetric Receive-only
    Link partner advertised auto-negotiation: Yes
    Link partner advertised FEC modes: Not reported
    Speed: 1000Mb/s
    Duplex: Full
    Auto-negotiation: on
    master-slave cfg: preferred slave
    master-slave status: slave
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: external
    MDI-X: Unknown
    Supports Wake-on: pumbg
    Wake-on: g
    Link detected: yes

La ligne Speed indique maintenant 1000Mb/s, ce qui correspond à ce que j'attendais.

Conclusion

Je ne sais pas vraiment pourquoi la vitesse du lien n'était que de 100Mbps. Peut-être y avait-il un problème avec le switch ou le câble. Je ferai des recherches plus tard. Pour l'instant, je suis content de ma vitesse de liaison de 1Gbps.