Mostramos varios comandos para obtener información sobre los adaptadores de red (tarjetas de red) de un equipo con sistema operativo Linux CentOS 7. Los comandos han sido probados en esta distribución de Linux y la gran parte son válidos para otras distribuciones (Suse, Red Hat, Mint, Ubuntu, etc.).
Existen varios comandos para obtener el estado físico y los adaptadores de red conectados en un equipo con Linux CentOS 7. A continuación las enumeramos.
Antes de mostrar los comandos, para el caso de CentOS7, indicaremos dónde se encuentran los ficheros de los adaptadores de red, para saber el nombre que tiene cada adaptador, dado que en algunos comandos de los que mostramos a continuación será necesario indicar el identificador del adaptador. Esta información se guarda en la carpeta /etc/sysconfig/network-scripts. Podremos mostrar los ficheros de todos los adaptadores con:
ls -lah /etc/sysconfig/network-scripts/ifcfg*
En la imagen anterior vemos que nos devuelve, en nuestro caso, los ficheros: ifcfg-ens160 (el adaptador de red) y ifcfg-lo (el adaptador virtual de loopback).
Si editamos el fichero ifcfg-ens160 podremos ver la configuración de red del adaptador:
nano /etc/sysconfig/network-scripts/ifcfg-ens160
Una vez que tenemos identificados los adaptadores de red mostramos los comandos para obtener información de red en Linux CentOS 7.
Ejecutando el siguiente comando nos devolverá los adaptadores de red y su estado (conectado, desconectado, sin gestión, etc.)::
nmcli device status
El mismo comando anterior con el parámetro connection show nos mostrará también el UUID del adaptador y el tipo (habitualmente 802-3-ethernet):
nmcli connection show
Con este otro comando obtendremos más información sobre un adaptador concreto (supported ports, supported link modes, supported pause frame, supports auto-negotiation, advertised link modes, advertised pause frame, speed, duplex, port, transceiver, auto-negotiation, MDI-X, support Wake-on, Wake-on, Link detected). Requiere que se le indique el nombre del adaptador, en nuestro caso «ens160»:
ethtool ens160
Y para ver información del controlador (driver) de un adaptador de red (driver, versión, versión firmware, información del bus, soporta estadísticas, soporta test, soporta acceso EEPROM, soporta registro de volcado de memoria, etc.) ejecutaremos:
ethtool -i ens160
Otro comando interesantes es netstat, ejecutándolo con el parámetro -i nos devolverá información de conexión de los adaptadores de red actuales:
netstat -i
El comando anterior devuelve mucha información interesante, a continuación explicamos cada campo:
- MTU: indica la unidad máxima de transferencia (Maximum Transmission Unit – MTU) para cada adaptador de red conectado al equipo.
- RX-OK: paquetes recibidos sin errores.
- RX-ERR: paquetes recibidos dañados.
- RX-DRP: paquetes recibidos descargados.
- RX-OVR: paquetes perdidos por desbordamiento.
- TX-OK: paquetes transmitidos (enviados) sin errores.
- TX-ERR: paquetes transmitidos (enviados)dañados.
- TX-DRP: paquetes transmitidos (enviados)descargados.
- TX-OVR: paquetes transmitidos (enviados) por desbordamiento.
- La última columna, Flg, muestra los indicadores (flags) activos para cada interfaz. Son abreviaturas del nombre completo del indicador:
B | Dirección de difusión activa. |
L | La interfaz es un dispositivo de bucle local (loopback). |
M | Se reciben todos los paquetes (modo promiscuo). |
O | ARP no funciona para esta interfaz. |
P | Conexión punto a punto. |
R | La interfaz funciona. |
U | La interfaz está activa. |
El siguiente comando es de los más usados, también obtiene información similar al anterior, además de información de asignación de IP de cada tarjeta de red:
ifconfig -a
Otro comando que ofrece información sobre los adaptadores de red y su configuración IP, es ip, que en realidad es el «sustituto» del comando ifconfig y tiene multitud de posibilidades:
ip addr
El comando arp nos proporcionará información sobre la tabla ARP de asignación de MAC de nuestro equipo:
arp
Como vemos en la imagen anterior, arp nos muestra los equipos a los que estamos conectados o los que están conectados a notros, su nombre DNS (hostname), su MAC (HWaddress) y a través de qué adaptador de red (si tenemos varios).
Además, arp nos permite obtener más información usando varios parámetros, por ejemplo:
arp -n
Nos obtendrá en lugar del nombre de red (hostname) de los equipos conectados su IP:
El comando ip, como hemos dicho anteriormente, es muy potente y ofrece innumerables posibilidades (tanto para modificar la configuración de red como para obtener información). También nos servirá para ver la tabla de enrutamiento, con:
ip r list
Accediendo al contenido del fichero /proc/net/dev también obtendremos información de los adaptadores de red:
cat /proc/net/dev
Mostrará paquetes enviados con error, sin error, rechazados y otros muchos datos:
Existen más comandos para obtener información de las tarjetas/adaptadores de red y de la configuración de red de un equipo Linux, algunos de ellos no vienen instalados en determinadas versiones y distribuciones de Linux. Por ejemplo, el comando lshw, en Linux CentOS 7 Minimal no viene instalado y si lo necesitamos hay que instalarlo con.
yum install lshw
Una vez instalado podremos ejecutarlo, por ejemplo para obtener información de los dispositivos de red:
lshw -class network
Nos mostrará información interesante sobre los adaptadores de red (driver, identificador físico, información del bus, versión, identificador serie, capacidades y configuración actual como autonegociación, broadcast, versión del driver, duplex, latencia, enlace, multicast, velocidad, etc.):