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