9 ejemplos de uso del comando ethtool para administrar la tarjeta Ethernet

La utilidad ethtool se utiliza para ver y cambiar los parámetros del dispositivo Ethernet.

En este post veremos 9 ejemplos prácticos del uso de este comando

Ejemplos de uso del comando ethtool

1. Listar las propiedades del dispositivo Ethernet

Cuando ejecutas el comando ethtool con un nombre de dispositivo, muestra la siguiente información sobre el dispositivo Ethernet.

Esta salida de ethtool que observas arriba muestra las propiedades de la tarjeta Ethernet, como velocidad, activación, dúplex y el estado de detección del enlace. Los siguientes son los tres tipos de dúplex disponibles.

  • Full Duplex: permite enviar y recibir paquetes al mismo tiempo. Este modo se utiliza cuando el dispositivo Ethernet está conectado a un conmutador.
  • Half duplex: permite enviar o recibir paquetes en un solo punto de tiempo. Este modo se utiliza cuando el dispositivo Ethernet está conectado a un switch.
  • Auto-negotiation: si está habilitado, el propio dispositivo Ethernet decide si usar ya sea full dúplex o half dúplex en función de la red a la que está conectado el dispositivo Ethernet.

2. Cambiar el parámetro NIC usando la opción ethtool -s autoneg

La salida ethtool eth0 anterior muestra que el parámetro “Auto-negotiation” está en estado habilitado. Puedes deshabilitar esto usando la opción autoneg en ethtool como se muestra a continuación.

Después del cambio anterior, podrías ver que el valor de “detección de enlace” cambió a inactivo y la auto-negotiation está en estado desactivado.

3. Cambiar la velocidad del dispositivo Ethernet

Usando ethtool puedes cambiar la velocidad del dispositivo Ethernet para que funcione con ciertos dispositivos de red, y el nuevo valor de velocidad asignado debe estar dentro de la capacidad limitada.

Una vez que cambias la velocidad cuando el adaptador está en línea, se desconecta automáticamente y debes volver a conectarlo con el comando ifup.

Como se muestra en la salida anterior, la velocidad cambió de 1000Mb/s a 100Mb/s y el parámetro auto-negotiation no está configurado.

4. Mostrar la configuración del controlador Ethernet

La opción ethtool -i muestra la versión del controlador, la versión del firmware y los detalles del bus como se muestra a continuación.

5. Display Auto-negotiation, RX y TX de eth0

Puedes ver los detalles de Auto-negotiation, sobre el dispositivo Ethernet específico como se muestra a continuación.

6. Mostrar estadísticas de red de dispositivos Ethernet específicos

Puedes usar la opción ethtool -S para mostrar los bytes transferidos, recibidos, errores, etc., como se observa a continuación.

7. Solucionar problemas de conexión Ethernet

Cuando hay un problema con la conexión de red, es posible que desees verificar (o cambiar) los parámetros del dispositivo Ethernet que se explican en los ejemplos anteriores, cuando veas los siguientes problemas en la salida del comando ethtool.

  • La velocidad y el valor dúplex se muestran como Desconocido. 
  • El valor de detección de enlace se muestra como No. 

Tras una conexión exitosa, los tres parámetros mencionados anteriormente obtienen los valores apropiados, es decir, la velocidad se asigna con un valor conocido, Dúplex se convierte en Full/Half, y la detección de Enlace se convierte en .

Después de los cambios anteriores, si la Detección de enlace aún dice “No”, debes verificar si hay algún problema en los cables que se usan desde el interruptor y el sistema, es posible que desees profundizar más en ese aspecto.

Para capturar y analizar paquetes desde una interfaz de red específica, puedes usar la utilidad tcpdump.

8. Identificar un dispositivo específico de varios dispositivos (parpadeo del puerto LED de la tarjeta NIC)

Supongamos que tienes una máquina con cuatro adaptadores Ethernet y deseas identificar el puerto físico de una tarjeta Ethernet particular. (Por ejemplo, eth0).

Debes usar la opción ethtool -p, que hará que el LED correspondiente del puerto físico parpadee.

9. Hacer cambios permanentes después de reiniciar

Si has cambiado los parámetros de un dispositivo Ethernet utilizando la herramienta ethtool, todos desaparecerán después del siguiente reinicio, a menos que hagas lo siguiente.

En Ubuntu, debes modificar el archivo /etc/network/interfaces y agregar todos los cambios como se muestra a continuación.

La línea anterior debe ser la última línea del archivo. Esto cambiará la velocidad, dúplex y autoneg del dispositivo eth2 de forma permanente.

En SUSE, debes modificar el archivo /etc/sysconfig/network/ifcfg-eth-id e incluir un nuevo script utilizando la variable POST_UP_SCRIPT como se muestra a continuación. Debes incluir la línea de abajo como la última línea en el archivo de configuración correspondiente del adaptador eth1.

Luego, debes crear un nuevo archivo de scripts /eth1 como se muestra a continuación en el directorio /etc/sysconfig/network. Asegúrate de que el script tenga permiso de ejecución y asegúrate de que la utilidad ethtool esté presente en el directorio /sbin.