GNU/Linux >> Tutoriels Linux >  >> Cent OS

Script Shell pour trouver l'état et la vitesse de la liaison de l'interface réseau (CentOS/RHEL)

Cet article fournit un exemple de script détectant quelles interfaces sont configurées sur le système, et dans celles-ci, lesquelles ont leurs liens et à quelle vitesse elles fonctionnent. Notez que la vitesse signalée dans les machines virtuelles peut ne pas être correcte. Un adaptateur réseau virtualisé doit prétendre avoir une "vitesse" parce que le système d'exploitation l'attend, mais comme il est virtuel, il fonctionnera aussi vite que l'hôte de virtualisation et le réseau physique le permettent, quelle que soit la vitesse signalée par la carte réseau virtuelle.

La "vitesse" signalée n'est qu'un nombre pour rendre les outils (par exemple ethtool sous Linux) capables de signaler quelque chose ; cela ne limite pas la vitesse réelle de transfert de données. Ignorez la vitesse signalée par la carte réseau virtuelle sur la machine virtuelle et traitez la vitesse comme dépendant de l'hôte de virtualisation et du réseau physique.

Le scénario

1. Le script déterminera quelles interfaces réseau sont opérationnelles et leur vitesse.
2. Il signale les interfaces virtuelles mais ne détecte aucune vitesse pour celles-ci.
3. Le script signalera également les interfaces de liaison.

– Copiez le script ci-dessous sur votre serveur :

# vim detect-speed.sh
#!/bin/bash

for net_dev in `find /sys/class/net/ -type l`; do
        # only need filename without path
        net=`basename $net_dev`
        speed=`ethtool $net | grep Speed | cut -d ':' -f 2 | tr -d " "`
        link=`ethtool $net | grep "Link detected" | cut -d ':' -f 2 | tr -d " "`
        # print result
        if [[ "$link" != "yes" ]]; then
                echo "interface $net has no link detected"
        else
                if [[ "$speed" == "" ]]; then
                        echo "interface $net has link detected but no speed (virtual ?)"
                else
                        echo "interface $net has link detected with speed $speed"
                fi
        fi
done

– Assurez-vous de fournir également une autorisation exécutable au script :

# chmod +x detect-speed.sh

Exemple de sortie

Vous trouverez ci-dessous un exemple de sortie du script. Votre sortie peut varier en fonction du nombre d'interfaces réseau et de leurs vitesses de liaison.

# ./detect-speed.sh
interface vif3.0 has link detected but no speed (virtual ?)
interface vif10.0 has link detected but no speed (virtual ?)
interface 0aacd800 has link detected but no speed (virtual ?)
interface p2p1.2 has link detected with speed 1000Mb/s
interface bond0 has link detected with speed 1000Mb/s
interface p2p1 has link detected with speed 1000Mb/s
interface p4p1 has link detected with speed 1000Mb/s
interface lo has link detected but no speed (virtual ?)
interface em1 has link detected with speed 1000Mb/s


Cent OS
  1. Comment désactiver NetworkManager sur CentOS / RHEL 7

  2. CentOS / RHEL 7 :Comment configurer la liaison réseau ou l'association de cartes réseau

  3. Comment configurer l'association réseau dans CentOS/RHEL 7

  4. Comment configurer l'association d'interfaces réseau dans CentOS/RHEL 7 et 8

  5. Comment créer une interface de pont à l'aide de nmcli dans CentOS/RHEL 7 et 8

Comment configurer une interface réseau virtuelle sur RHEL 8 / CentOS 8

Comment configurer la liaison d'interface réseau sur RHEL 8 / CentOS 8 Linux

Configurer la liaison NIC (carte d'interface réseau) dans CentOS 7/RHEL 7

Comment changer le nom de l'interface réseau en eth0 sur CentOS 8 / RHEL 8

Comment créer et exécuter un script Shell dans CentOS 8

3 façons de créer un pont réseau dans RHEL/CentOS 8