Jak wyświetlić listę wszystkich fizycznie zainstalowanych kart sieciowych (Debian)?

14

Mój „Serwer dedykowany” powinien mieć zainstalowane dwie karty sieciowe, ale mogę znaleźć tylko jedną.

Moje pytanie: Jakie inne polecenia i metody są dostępne do testowania liczby kart sieciowych zainstalowanych na moim serwerze

lspci | grep Ethernet

Czy są dostępne inne polecenia / metody?

jens
źródło
Czy masz fizyczny dostęp do hosta? Czy możesz potwierdzić, że jakieś karty rozszerzeń są prawidłowo osadzone? Czy wszystkie karty sieciowe tego samego producenta?
Tok
Cześć Tok. Dzięki za odpowiedź. Żadne karty sieciowe nie pochodzą od tego samego producenta (jeden powinien pochodzić z wywiadu, a drugi z realtek). => Twoje pytanie brzmi interesująco. Jaki może być efekt / wynik, jeśli karty pochodzą od różnych producentów? Nie mam fizycznego dostępu do serwera i nie wiem, czy są poprawnie zainstalowane. dzięki. jens.
jens

Odpowiedzi:

14

Możesz użyć lshw, aby zobaczyć wszystkie urządzenia na komputerze. Aby wyświetlić tylko urządzenia sieciowe, wprowadź:

lshw -class network
pyasi
źródło
4
lshw nie jest częścią domyślnej instalacji Debiana.
Jean-Marc Liotier,
1
Uważam, że to trochę za dużo, wolę po prostu: ip link show
Matías
Wyświetla to również interfejsy mostu, które nie są fizycznymi.
Xorax,
12

ip link show wyświetli listę wszystkiego, co wygląda jak interfejs sieciowy.

LawrenceC
źródło
11

Dla Ethernetu:

ls -d /sys/class/net/eth* | wc -l
ooshro
źródło
1
Nie działa to ogólnie, ponieważ nazwy urządzeń Ethernet nie muszą zaczynać się od eth. Wiele (wszystkich?) Głównych dystrybucji Linuksa używa teraz „przewidywalnych nazw interfejsów ethernetowych” w systemie systemd, co prowadzi do nazw interfejsów przewodowych, takich jak en0 lub enp0s25, więc szukanie eth * będzie brakowało.
rajb245
2
Spróbuj tego: $ ls -l /sys/class/net/ | grep -v virtual. Filtruje wszystkie interfejsy sieci wirtualnej. Pracuj nad Ubuntu działającym w Virtual Box.
kwarnke
10
find /sys/class/net -type l -not -lname '*virtual*' -printf '%f\n'

Pokazuje tylko interfejsy związane z fizyczną kartą sieciową.

Próbowałem znaleźć typeopcję ip link show, która wyświetlałaby nielogiczne, ale niestety:

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 }

Wydaje się, że to jedyna rzecz, ip link showktórej nie można zrobić. Przynajmniej nie bez uciekania się do skryptu, który najpierw wypisuje każdy z powyższych, a następnie robi to grep -vprzed ostatnim uruchomieniem bez typeokreślonego.

banankage
źródło
To zdecydowanie wydaje się, że coś ip linkpowinno być w stanie sobie poradzić. Jeśli używasz wielu wirtualnych interfejsów (np. Do mostkowania lub vlan), a zwłaszcza jeśli te wirtualne interfejsy zostały zmienione.
Centimane,
7

/proc/net/devplik zawiera szczegóły dotyczące wszystkich interfejsów. na przykład

$ 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

Jak widać, wiele kolumn i szczegółów nie jest bardzo łatwych do odczytania, kiedy catplik, dlatego sugeruję użycie ifconfigpolecenia, które dobrze odczytuje ten plik i formatuje wyjście.

Aby wyświetlić listę wszystkich interfejsów, użyj

/sbin/ifconfig -a

które pokażą nieskonfigurowane / niedziałające interfejsy sieciowe, a także skonfigurowane i aktywne, zgodnie z odczytem/proc/net/dev

Hrvoje Špoljar
źródło
1
modprobe -c |grep 'eth[0-9]'

pokazuje rzeczywisty sterownik urządzenia używanego dla każdego urządzenia Ethernet

Paul S.
źródło
... ale urządzenia Ethernet można nazwać inaczej
Joril