GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Shell-Skript zum Ermitteln des Verbindungsstatus und der Geschwindigkeit der Netzwerkschnittstelle (CentOS/RHEL)

Dieser Beitrag enthält ein Beispielskript, das erkennt, welche Schnittstellen auf dem System konfiguriert sind und welche darin Verbindungen haben und mit welcher Geschwindigkeit sie arbeiten. Beachten Sie, dass die gemeldete Geschwindigkeit innerhalb virtueller Maschinen möglicherweise nicht korrekt ist. Ein virtualisierter Netzwerkadapter muss so tun, als hätte er eine „Geschwindigkeit“, weil das Betriebssystem dies erwartet, aber weil er virtuell ist, läuft er so schnell, wie es der Virtualisierungshost und das physische Netzwerk zulassen, unabhängig von der Geschwindigkeit, die die virtuelle Netzwerkkarte meldet.

Die gemeldete „Geschwindigkeit“ ist nur eine Zahl, um Tools (z. B. ethtool unter Linux) in die Lage zu versetzen, etwas zu melden; Es begrenzt nicht die tatsächliche Geschwindigkeit der Datenübertragung. Ignorieren Sie die von der virtuellen NIC auf der VM gemeldete Geschwindigkeit und behandeln Sie die Geschwindigkeit als abhängig vom Virtualisierungshost und dem physischen Netzwerk.

Das Drehbuch

1. Das Skript ermittelt, welche Netzwerkschnittstellen aktiv sind und deren Geschwindigkeit.
2. Es meldet die virtuellen Schnittstellen, erkennt aber keine Geschwindigkeit für sie.
3. Das Skript wird auch Bindungsschnittstellen melden.

– Kopieren Sie das folgende Skript auf Ihren 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

– Stellen Sie sicher, dass Sie dem Skript auch die Ausführungsberechtigung erteilen:

# chmod +x detect-speed.sh

Beispielausgabe

Unten sehen Sie eine Beispielausgabe des Skripts. Ihre Ausgabe kann je nach Anzahl der Netzwerkschnittstellen und deren Verbindungsgeschwindigkeiten abweichen.

# ./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. So starten Sie den Netzwerkdienst unter CentOS 8 oder RHEL 8 neu

  2. Erstellen und Ausführen eines Shell-Skripts in CentOS 8 – Schritt-für-Schritt-Prozess, um dies zu tun?

  3. CentOS / RHEL 7:So ändern Sie die Namen von Netzwerkschnittstellen

  4. So konfigurieren Sie das Netzwerk-Teaming in CentOS/RHEL 7

  5. So deaktivieren Sie den Docker-Prozess und die Docker0-Schnittstelle unter CentOS/RHEL

So konfigurieren Sie eine virtuelle Netzwerkschnittstelle auf RHEL 8 / CentOS 8

So konfigurieren Sie die Netzwerkschnittstellenbindung unter RHEL 8 / CentOS 8 Linux

Konfigurieren Sie das NIC-Bonding (Network Interface Card) in CentOS 7 / RHEL 7

So ändern Sie den Namen der Netzwerkschnittstelle in eth0 unter CentOS 8 / RHEL 8

So erstellen und führen Sie ein Shell-Skript in CentOS 8 aus

3 Möglichkeiten zum Erstellen einer Netzwerkbrücke in RHEL/CentOS 8