Cómo comprobar si la velocidad de una interfaz de red está configurada en Linux

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo verificar la velocidad de una interfaz de red en Linux. Exploraremos tres métodos comunes para lograr esto.

Primero, utilizarás el comando ethtool, una poderosa utilidad para consultar y controlar la configuración de red. A continuación, aprenderás cómo identificar tu interfaz de red utilizando el comando ip link show. Finalmente, demostraremos cómo inspeccionar la velocidad de la interfaz de red examinando el contenido del directorio /sys/class/net.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/PackagesandSoftwaresGroup(["Packages and Softwares"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/RemoteAccessandNetworkingGroup -.-> linux/ip("IP Managing") linux/PackagesandSoftwaresGroup -.-> linux/apt("Package Handling") subgraph Lab Skills linux/cat -.-> lab-558737{{"Cómo comprobar si la velocidad de una interfaz de red está configurada en Linux"}} linux/ip -.-> lab-558737{{"Cómo comprobar si la velocidad de una interfaz de red está configurada en Linux"}} linux/apt -.-> lab-558737{{"Cómo comprobar si la velocidad de una interfaz de red está configurada en Linux"}} end

Verificar la velocidad con ethtool

En este paso, aprenderemos cómo verificar la velocidad de tu interfaz de red utilizando el comando ethtool. ethtool es una utilidad de línea de comandos para consultar y controlar la configuración del controlador de red y del hardware.

Primero, identifiquemos tu interfaz de red. En la mayoría de los entornos Linux, la interfaz de red principal a menudo se llama eth0 o algo similar como enpXsY. Por lo general, puedes encontrar el nombre mirando la salida del comando ip link show, que exploraremos en el siguiente paso. Por ahora, supongamos que tu interfaz se llama eth0.

Para verificar la velocidad de la interfaz eth0, abre tu terminal y escribe el siguiente comando:

sudo ethtool eth0

Presiona Enter.

Verás una salida similar a esta:

Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: Unknown
        Supports Wake-on: d
        Wake-on: d
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes

Busca la línea que comienza con Speed:. Esta línea te indica la velocidad actual de tu conexión de red. En el ejemplo anterior, la velocidad es 1000Mb/s.

Si recibes un error como command not found, significa que ethtool no está instalado. Puedes instalarlo utilizando el gestor de paquetes:

sudo apt update
sudo apt install ethtool -y

Después de la instalación, intenta nuevamente el comando sudo ethtool eth0.

Recuerda reemplazar eth0 con el nombre real de tu interfaz de red si es diferente.

Haz clic en Continuar para pasar al siguiente paso.

En el paso anterior, usamos ethtool para verificar la velocidad de la red, suponiendo que el nombre de la interfaz fuera eth0. Sin embargo, los nombres de las interfaces de red pueden variar. En este paso, usaremos el comando ip link show para enumerar todas las interfaces de red y verificar su estado.

El comando ip es una poderosa utilidad para la configuración de red en Linux. El objeto link se utiliza para administrar las interfaces de red, y la acción show muestra información sobre ellas.

Abre tu terminal y escribe el siguiente comando:

ip link show

Presiona Enter.

Verás una salida similar a esta, que enumera tus interfaces de red:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff

En esta salida:

  • lo es la interfaz de bucle interno (loopback), que se utiliza para la comunicación dentro de la misma máquina.
  • eth0 es probablemente tu interfaz de red principal conectada a la red externa. El nombre puede ser diferente en otros entornos (por ejemplo, enp3s0).
  • <BROADCAST,MULTICAST,UP,LOWER_UP> indica el estado y las capacidades de la interfaz. UP significa que la interfaz está activa.
  • mtu es la Unidad Máxima de Transmisión (Maximum Transmission Unit).
  • state UP confirma que la interfaz está operativa.

Identifica el nombre de tu interfaz de red principal a partir de la salida. Por lo general, es la que está UP y no es lo. En nuestro entorno LabEx, es eth0.

Ahora sabes cómo encontrar el nombre correcto de la interfaz de red, lo cual es crucial para usar comandos como ethtool.

Haz clic en Continuar para continuar.

Inspeccionar la velocidad en /sys/class/net

Además de utilizar comandos como ethtool, también puedes encontrar información sobre las interfaces de red directamente en el sistema de archivos de Linux, específicamente dentro del directorio /sys. El sistema de archivos /sys proporciona una interfaz a las estructuras de datos del kernel.

La información de las interfaces de red generalmente se encuentra en /sys/class/net/. Dentro de este directorio, encontrarás subdirectorios nombrados según cada interfaz de red en tu sistema (por ejemplo, eth0, lo).

Para encontrar la información de velocidad de tu interfaz principal (que identificamos como eth0 en el paso anterior), puedes buscar dentro del archivo /sys/class/net/eth0/speed.

Abre tu terminal y utiliza el comando cat para ver el contenido de este archivo:

cat /sys/class/net/eth0/speed

Presiona Enter.

Deberías ver un solo número como salida, que representa la velocidad de enlace en megabits por segundo (Mb/s).

1000

Esta salida confirma que la velocidad de la interfaz eth0 es de 1000 Mb/s, coincidiendo con la información que vimos con ethtool.

Este método de verificar la velocidad leyendo un archivo en /sys es útil porque no requiere instalar herramientas adicionales como ethtool. Es una forma directa de acceder a la información que el kernel pone a disposición.

Recuerda que la ruta /sys/class/net/eth0/speed asume que tu interfaz de red se llama eth0. Si tu interfaz tiene un nombre diferente, debes reemplazar eth0 con el nombre correcto.

¡Ahora has aprendido tres formas diferentes de obtener información sobre tus interfaces de red y su velocidad!

Haz clic en Continuar para completar este laboratorio.

Resumen

En este laboratorio, aprendimos cómo verificar la velocidad de una interfaz de red en Linux utilizando tres métodos diferentes. Primero, utilizamos el comando ethtool, una poderosa utilidad para consultar y controlar la configuración de red, para mostrar directamente la velocidad de la interfaz. Luego, exploramos el comando ip link show para identificar el nombre de la interfaz de red, lo cual es crucial para utilizar herramientas como ethtool. Finalmente, descubrimos cómo inspeccionar el directorio /sys/class/net, una parte del sistema de archivos virtual sysfs, para encontrar la información de velocidad de la interfaz examinando el contenido del archivo speed dentro del directorio de la interfaz. Estos métodos proporcionan diferentes formas de acceder y verificar la velocidad de la interfaz de red, ofreciendo flexibilidad según la situación y las herramientas disponibles.