¿Cómo enumerar todas las tarjetas de red instaladas físicamente (Debian)?

14

Mi "Servidor dedicado" debe tener dos NIC instaladas, pero solo puedo encontrar una.

Mi pregunta: ¿Qué otros comandos y métodos están disponibles para probar cuántas tarjetas de red están instaladas en mi servidor?

lspci | grep Ethernet

¿Hay otros comandos / métodos disponibles?

jens
fuente
¿Tienes acceso físico al host? ¿Puede confirmar que las tarjetas de expansión estén colocadas correctamente? ¿Todas las NIC son del mismo fabricante?
Tok
Hola tok Gracias por su respuesta. No, las NIC no son del mismo fabricante (una debe ser de Intel y la otra de Realtek). => Tu pregunta suena interesante. ¿Cuál podría ser el efecto / resultado si las tarjetas son de diferentes fabricantes? Y no tengo acceso físico al servidor y no sé si están instalados correctamente. Gracias. jens
jens

Respuestas:

14

Puede usar lshw para ver todos los dispositivos en una máquina. Para ver solo los dispositivos de red, ingrese:

lshw -class network
pyasi
fuente
44
lshw no es parte de una configuración predeterminada de Debian.
Jean-Marc Liotier
1
Encuentro esto un poco demasiado, prefiero simplemente: ip link show
Matías
Esto también muestra las interfaces de puente, que no son físicas.
Xorax
11

Para Ethernet:

ls -d /sys/class/net/eth* | wc -l
ooshro
fuente
1
Esto no funciona en general porque los nombres de dispositivos ethernet no tienen que comenzar con eth. Muchas (¿todas?) Las principales distribuciones de Linux ahora están utilizando "nombres predecibles de interfaz de Ethernet" con systemd, lo que da como resultado nombres de interfaz cableados como en0 o enp0s25, por lo que buscar eth * los perderá.
rajb245
2
Probar esto: $ ls -l /sys/class/net/ | grep -v virtual. Filtra todas las interfaces de red virtuales. Trabaja en ubuntu ejecutándose en una Virtual Box.
kwarnke
11

ip link show enumerará todo lo que parece una interfaz de red.

LawrenceC
fuente
10
find /sys/class/net -type l -not -lname '*virtual*' -printf '%f\n'

Muestra solo las interfaces relacionadas con una NIC física.

Intenté encontrar una typeopción ip link showque mostrara algo no lógico, pero desgraciadamente:

ip link help 2>&1 | grep -A10 'TYPE :='
TYPE := { vlan | veth | vcan | dummy | ifb | macvlan | macvtap |
          bridge | bond | ipoib | ip6tnl | ipip | sit | vxlan |
          gre | gretap | ip6gre | ip6gretap | vti | nlmon |
          bond_slave | ipvlan | geneve | bridge_slave | vrf }

Parece ser lo único que ip link showno puede hacer. Al menos no sin recurrir a un script que primero enumera cada uno de los anteriores y luego lo hace grep -vcontra una ejecución final sin typeespecificar.

banankage
fuente
Esto definitivamente parece que algo ip linkdebería ser capaz de manejar. Si usa muchas interfaces virtuales (digamos para bridging o vlan) y especialmente si estas interfaces virtuales han sido renombradas.
Centimane
7

/proc/net/devEl archivo tiene detalles en todas las interfaces. p.ej

$ cat /proc/net/dev
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo:    3562      60    0    0    0     0          0         0     3562      60    0    0    0     0       0          0
 wlan0: 2491781197 2034240    0    0    0     0          0         0 261797069 1502752    0    0    0     0       0          0
  eth0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0

Como puede ver, muchas columnas y detalles no son muy fáciles de leer cuando catutiliza el archivo, por lo que sugeriría utilizar un ifconfigcomando que lea bien el archivo y los formatos.

Para enumerar todas las interfaces use

/sbin/ifconfig -a

que le mostrará las interfaces de red no configuradas / inactivas, así como las configuradas y activas, como se lee en/proc/net/dev

Hrvoje Špoljar
fuente
1
modprobe -c |grep 'eth[0-9]'

muestra el controlador de dispositivo real en uso para cada dispositivo ethernet

Paul S
fuente
... pero los dispositivos de Ethernet pueden tener un nombre diferente
Joril