GNU/Linux >> Linux Esercitazione >  >> Cent OS

Script di shell per trovare lo stato e la velocità del collegamento dell'interfaccia di rete (CentOS/RHEL)

Questo post fornisce uno script di esempio che rileva quali interfacce sono configurate sul sistema e in esse quali hanno i collegamenti attivi e a quale velocità stanno operando. Si noti che la velocità segnalata all'interno delle macchine virtuali potrebbe non essere corretta. Una scheda di rete virtualizzata deve fingere di avere una "velocità" perché il sistema operativo se la aspetta, ma poiché è virtuale, funzionerà alla velocità consentita dall'host di virtualizzazione e dalla rete fisica, indipendentemente dalla velocità riportata dalla scheda di rete virtuale.

La “velocità” riportata è solo un numero per rendere gli strumenti (es. ethtool su Linux) in grado di segnalare qualcosa; non limita la velocità effettiva di trasferimento dei dati. Ignora la velocità segnalata dalla scheda di rete virtuale sulla macchina virtuale e considera la velocità come dipendente dall'host di virtualizzazione e dalla rete fisica.

Il copione

1. Lo script determinerà quali interfacce di rete sono attive e la loro velocità.
2. Riporterà le interfacce virtuali ma non rileverà alcuna velocità per esse.
3. Lo script riporterà anche le interfacce di legame.

– Copia lo script seguente sul tuo server:

# 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

– Assicurati di fornire anche l'autorizzazione eseguibile allo script:

# chmod +x detect-speed.sh

Campione di output

Di seguito è riportato un esempio di output dello script. L'output potrebbe differire in base al numero di interfacce di rete e alla loro velocità di collegamento.

# ./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. Come disabilitare NetworkManager su CentOS / RHEL 7

  2. CentOS / RHEL 7:come configurare Network Bonding o NIC teaming

  3. Come configurare il team di rete in CentOS/RHEL 7

  4. Come configurare il teaming dell'interfaccia di rete in CentOS/RHEL 7 e 8

  5. Come rimuovere la stampante di rete in CentOS/RHEL

Come configurare un'interfaccia di rete virtuale su RHEL 8 / CentOS 8

Come configurare il collegamento dell'interfaccia di rete su RHEL 8 / CentOS 8 Linux

Configura il collegamento NIC (scheda di interfaccia di rete) in CentOS 7 / RHEL 7

Come modificare il nome dell'interfaccia di rete in eth0 su CentOS 8 / RHEL 8

Come creare ed eseguire uno script di shell in CentOS 8

3 modi per creare un bridge di rete in RHEL/CentOS 8