Como listar todas as placas de rede instaladas fisicamente (Debian)?

14

Meu "Servidor Dedicado" deve ter duas NICs instaladas, mas só consigo encontrar uma.

Minha pergunta: Quais outros comandos e métodos estão disponíveis para testar quantas placas de rede estão instaladas no meu servidor

lspci | grep Ethernet

Existem outros comandos / métodos disponíveis?

jens
fonte
Você tem acesso físico ao host? Você pode confirmar se alguma placa de expansão está encaixada corretamente? Todas as placas de rede são do mesmo fabricante?
Tok
Olá Tok. Obrigado pela sua resposta. Não, as placas de rede não são do mesmo fabricante (uma deve ser da intel e a outra da realtek). => Sua pergunta parece interessante. Qual seria o efeito / resultado se os cartões forem de fabricantes diferentes? E não tenho acesso físico ao servidor e não sei se eles estão instalados corretamente. obrigado. jens.
Jens

Respostas:

14

Você pode usar o lshw para ver todos os dispositivos em uma máquina. Para visualizar apenas os dispositivos de rede, digite:

lshw -class network
pyasi
fonte
4
O lshw não faz parte da configuração padrão do Debian.
Jean-Marc Liotier 13/09/11
1
Acho isso um pouco demais, eu vou sim apenas: IP Link espectáculo
Matías
Isso também exibe as interfaces da ponte, que não são físicas.
Xorax 29/09
11

Para Ethernet:

ls -d /sys/class/net/eth* | wc -l
ooshro
fonte
1
Isso não funciona em geral porque os nomes de dispositivos Ethernet não precisam começar com eth. Muitas (todas?) Principais distribuições linux agora estão usando "nomes de interface Ethernet previsíveis" com systemd, resultando em nomes de interface com fio como en0 ou enp0s25, portanto, procurar eth * sentirá falta deles.
rajb245
2
Tentar dar um presente: $ ls -l /sys/class/net/ | grep -v virtual. Ele filtra todas as interfaces de rede virtual. Trabalhe no ubuntu executando em uma caixa virtual.
Kwarnke
11

ip link show listará tudo o que se parece com uma interface de rede.

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

Mostra apenas interfaces relacionadas a uma NIC física.

Tentei encontrar uma typeopção ip link showque exibisse não-lógico, mas infelizmente:

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 a única coisa que ip link shownão pode fazer. Pelo menos não sem recorrer a um script que primeiro liste cada uma das opções acima e depois grep -vcontra uma execução final sem typeespecificar.

banca
fonte
Definitivamente, parece que algo ip linkdeve ser capaz de lidar. Se estiver usando muitas interfaces virtuais (por exemplo, bridging ou vlan) e, principalmente, se essas interfaces virtuais foram renomeadas.
Centimane
7

/proc/net/devO arquivo possui detalhes em todas as interfaces. por exemplo

$ 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 você pode ver, muitas colunas e detalhes não são muito fáceis de ler quando você cat arquivo, por isso sugiro usar o ifconfigcomando que lê esse arquivo e formata a saída de maneira agradável.

Para listar todas as interfaces, use

/sbin/ifconfig -a

que mostrará as interfaces de rede não configuradas / desativadas , bem como as configuradas e ativas, conforme lidas em/proc/net/dev

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

mostra o driver de dispositivo real em uso para cada dispositivo Ethernet

Paul S
fonte
... mas os dispositivos Ethernet pode ter um nome diferente
Joril