GNU/Linux >> Tutoriales Linux >  >> Cent OS

Shell Script para encontrar el estado y la velocidad del enlace de la interfaz de red (CentOS/RHEL)

Esta publicación proporciona un script de muestra que detecta qué interfaces están configuradas en el sistema y, en ellas, cuáles tienen sus enlaces activos y a qué velocidad están operando. Tenga en cuenta que la velocidad informada dentro de las máquinas virtuales puede no ser correcta. Un adaptador de red virtualizado tiene que pretender tener una "velocidad" porque el sistema operativo lo espera, pero debido a que es virtual, se ejecutará tan rápido como lo permitan el host de virtualización y la red física, independientemente de la velocidad que informe la NIC virtual.

La "velocidad" informada es solo un número para hacer que las herramientas (por ejemplo, ethtool en Linux) puedan informar algo; no limita la velocidad real de la transferencia de datos. Ignore la velocidad informada por la NIC virtual en la máquina virtual y trate la velocidad como si dependiera del host de virtualización y la red física.

El guión

1. El script determinará qué interfaces de red están activas y su velocidad.
2. Informará de las interfaces virtuales pero no detectará ninguna velocidad para ellas.
3. El script también informará sobre las interfaces de enlace.

– Copie el siguiente script en su servidor:

# 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

– Asegúrese de proporcionar también permiso ejecutable al script:

# chmod +x detect-speed.sh

Salida de muestra

A continuación se muestra un resultado de muestra del script. Su salida puede diferir según la cantidad de interfaces de red y sus velocidades de enlace.

# ./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. Cómo deshabilitar NetworkManager en CentOS / RHEL 7

  2. CentOS/RHEL 7:Cómo configurar Network Bonding o NIC teaming

  3. Cómo configurar la formación de equipos de red en CentOS/RHEL 7

  4. Cómo configurar la formación de equipos de interfaz de red en CentOS/RHEL 7 y 8

  5. Cómo crear una interfaz de puente usando nmcli en CentOS/RHEL 7 y 8

Cómo configurar una interfaz de red virtual en RHEL 8/CentOS 8

Cómo configurar la vinculación de la interfaz de red en RHEL 8 / CentOS 8 Linux

Configurar la vinculación de NIC (tarjeta de interfaz de red) en CentOS 7 / RHEL 7

Cómo cambiar el nombre de la interfaz de red a eth0 en CentOS 8/RHEL 8

Cómo crear y ejecutar un script de Shell en CentOS 8

3 formas de crear un puente de red en RHEL/CentOS 8