ethtool
El comando ethtool (paquete ethtool) se utiliza para consultar y modificar los parámetros de las interfaces de red ethernet.
Para conocer las características de un tarjeta de red (velocidad, duplex, wake-on, estado del enlace, etc.):
# ethtool eth0
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: umbg
Wake-on: d
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
Se puede ver que la autonegociación está activa, lo que significa que la tarjeta negociará con el otro extremo, normalmente un switch, la velocidad y el duplex. En este caso, la velocidad se ha establecido en 1000Mb/s en modo full duplex. Para cambiar estos parámetros se debe usar la opción -s, así por ejemplo para desactivar la autonegociación, forzar una velocidad de 100Mbps y full duplex:
# ifdown eth0
# ethtool -s eth0 autoneg off speed 100 duplex full
# ifup eth0
Es importante tener en cuenta que estos cambios no son persistentes, por lo que se perderán cuando se reinicie el sistema; para conseguir la persistencia en Debian, debemos poner los comandos anteriores en el fichero /etc/rc.local, el cual se ejecuta siempre al arrancar el sistema operativo y después de que todos los servicios hayan sido cargados.
Para conocer el driver de la tarjeta de red está la opción -i:
# ethtool -i eth0
driver: e1000
version: 7.3.21-k8-NAPI
firmware-version: N/A
bus-info: 0000:00:03.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no
Para mostrar una estadística del tráfico de la tarjeta de red usaremos la opción -S:
# ethtool -S eth0
NIC statistics:
rx_packets: 2072
tx_packets: 278
rx_bytes: 743240
tx_bytes: 24123
rx_broadcast: 913
tx_broadcast: 21
rx_multicast: 879
tx_multicast: 65
rx_errors: 0
tx_errors: 0
tx_dropped: 0
multicast: 879
collisions: 0
...
Otro uso de ethtool es el de identificar el puerto físico (RJ45) de una tarjeta ethernet en particular cuando tenemos montadas varias en el servidor, y no las tenemos etiquetadas. Podemos utilizar la opción -p para que el LED de puerto físico parpadee un número de segundos:
# ethtool -p eth0 4
También, ethtool, da la posibilidad de consultar la dirección MAC de la interfaz de red, usaremos para ello la opción -P:
# ethtool -P eth0
Permanent address: a8:70:e4:00:d4:2e
Este comando tiene muchas posibilidades, y es conveniente consultar su página en el manual del sistema.
# man ethtool
Licencia: licencia de software libre GPL