Si algo caracteriza a Linux es por ofrecer a sus usuarios una gran cantidad de comandos y herramientas que permiten tener el control total sobre el hardware y el software del sistema. Al contrario de lo que ocurre en otros sistemas, como Windows o macOS, en Linux lo ideal es recurrir a comandos y herramientas del sistema cuando queremos conocer al detalle el funcionamiento del PC o del servidor, o cuando tenemos que realizar configuraciones muy técnicas. Hoy, os vamos a hablar de una herramienta esencial para conocer toda la información posible sobre la conexión a Internet de un ordenador, o servidor, con Linux: ethtool.
ethtool es una herramienta de línea de comandos para Linux desarrollada para permitirnos consultar y configurar el funcionamiento de las tarjetas de red. Es una de las herramientas esenciales cuando estamos realizando cualquier tarea de diagnóstico, optimización de red y verificación de hardware.
La información que podemos obtener con esta herramienta es:
- Velocidad y modo dúplex (half/full).
- Estado de enlace (link detected).
- Soporte de Wake-on-LAN.
- Nombre del controlador y versión.
- Capacidad de autonegociación.
- Estadísticas de errores y paquetes.
Cómo funciona
Lo primero que debemos saber es el nombre de la tarjeta de red que queremos analizar. Para ello, lo más rápido es echar mano del comando «ifconfig» para ver una lista de todas las tarjetas de red (físicas, y virtuales) que tenemos configuradas y funcionando en nuestro servidor. También podemos hacerlo con un comando más nuevo como es el caso de » ip -c link show».
En nuestro caso, la tarjeta de red que estamos usando es «enp2s0». Pero, en los ejemplos, habrá que cambiar este nombre por el que corresponda.
Antes de nada, por si no tienes la herramienta instalada en tu ordenador, puedes instalarla con el siguiente comando:
sudo apt install ethtool
Lo primero es ver un resumen básico del estado de la conexión. Para ello, simplemente debemos ejecutar el siguiente comando:
ethtool enp2s0
Como podemos ver, este comando nos muestra todos los detalles sobre la conexión. Por ejemplo, podemos ver los modos de conexión que soporta la tarjeta de red (desde los 10 Mbps hasta los 2.5 Gbps). También podemos ver si usa auto-negociación, la velocidad de conexión configurada actualmente, el modo de Duplex usado, si soporta Wake-on-LAN, etc.
Pero no solo sirve de diagnóstico, sino también nos permite configurar el funcionamiento de la tarjeta de red. Por ejemplo, podemos forzar el uso de Gigabit Ethernet, con Full Duplex, usando este comando y sin depender así de la auto-negociación:
ethtool -s enp2s0 speed 1000 duplex full autoneg off
O, por ejemplo, podemos activar el Wake-on-LAN para poder encender nuestro ordenador de forma remota usando el siguiente comando:
ethtool -s enp2s0 wol g
También lo podemos usar para ver una lista con todas las estadísticas de errores y paquetes usando el comando:
ethtool -S enp2s0
Como podemos ver, se trata de una herramienta muy sencilla de usar y que puede tanto revelarnos una gran cantidad de datos sobre nuestra conexión como ayudarnos con la configuración más técnica de la misma. Podemos consultar todos los parámetros que ofrece mediante «ethetool -h». Y un resumen de los principales son:
- -i – Muestra información del controlador (driver)
- -S – Muestra estadísticas de la interfaz
- -s – Cambia parámetros como velocidad, dúplex, autonegociación
- -a / -A – Consulta o cambia los parámetros de pausa (flow control)
- -k / -K – Consulta o cambia funciones de offload (checksum, TSO, etc.)
- -g / -G – Consulta o modifica los tamaños de los anillos RX/TX
- -p – Hace parpadear los LEDs del puerto para identificarlo
- -r – Reinicia la autonegociación
- -d / -e – Muestra volcados del registro o EEPROM
No tengas miedo de experimentar con este comando, ya que los cambios que hagamos son temporales, y se restablecerán al reiniciar el sistema. Si queremos dejarlos definitivos, debemos modificar los archivos de configuración a mano.
