Wie liste ich alle physisch installierten Netzwerkkarten (Debian) auf?

14

Auf meinem "dedizierten Server" sollten zwei Netzwerkkarten installiert sein, aber ich kann nur eine finden.

Meine Frage: Welche anderen Befehle und Methoden stehen zur Verfügung, um zu testen, wie viele Netzwerkkarten auf meinem Server installiert sind

lspci | grep Ethernet

Gibt es noch andere Befehle / Methoden?

jens
quelle
Haben Sie physischen Zugriff auf den Host? Können Sie bestätigen, dass alle Erweiterungskarten richtig eingesetzt sind? Sind alle NICs vom selben Hersteller?
Tok
Hallo Tok. Vielen Dank für Ihre Antwort. Nein, die Netzwerkkarten stammen nicht vom selben Hersteller (eine sollte von Intel stammen, die andere von Realtek). => Deine Frage klingt interessant. Was könnte der Effekt / das Ergebnis sein, wenn die Karten von verschiedenen Herstellern stammen? Und ich habe keinen physischen Zugriff auf den Server und weiß nicht, ob sie richtig installiert sind. Vielen Dank. jens.
jens

Antworten:

14

Sie können lshw verwenden, um alle Geräte auf einem Computer anzuzeigen. Geben Sie Folgendes ein, um nur die Netzwerkgeräte anzuzeigen:

lshw -class network
Pyasi
quelle
4
lshw ist nicht Teil eines Standard-Debian-Setups.
Jean-Marc Liotier,
1
Ich finde das ein bisschen zu viel, ich werde eher nur: ip link show
Matías
Hiermit werden auch die Bridge-Schnittstellen angezeigt, die keine physischen Schnittstellen sind.
Xorax
11

Für Ethernet:

ls -d /sys/class/net/eth* | wc -l
ooshro
quelle
1
Dies funktioniert im Allgemeinen nicht, da Ethernet-Gerätenamen nicht mit eth beginnen müssen. Viele (alle?) Großen Linux-Distributionen verwenden jetzt "vorhersehbare Ethernet-Schnittstellennamen" mit systemd, was zu Namen für verkabelte Schnittstellen wie en0 oder enp0s25 führt. Wenn Sie also nach eth * suchen, werden Sie diese vermissen.
Rajb245
2
Geben Sie diesen einen Versuch: $ ls -l /sys/class/net/ | grep -v virtual. Es filtert alle virtuellen Netzwerkschnittstellen heraus. Arbeite an Ubuntu, das in einer virtuellen Box läuft.
kwarnke
11

ip link show listet alles auf, was wie eine Netzwerkschnittstelle aussieht.

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

Zeigt nur Schnittstellen an, die sich auf eine physische Netzwerkkarte beziehen.

Versucht, eine typeOption zu finden ip link show, die nicht logisch angezeigt würde, aber leider:

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 }

Es scheint das Einzige zu sein, was ip link showman nicht kann. Zumindest nicht, ohne auf ein Skript zurückzugreifen, das zuerst alle oben genannten Elemente auflistet und dann grep -veinen endgültigen Lauf ohne typeAngabe durchführt.

Banankage
quelle
Dies scheint definitiv etwas ip linkzu können. Bei Verwendung vieler virtueller Schnittstellen (z. B. für Bridging oder VLAN) und insbesondere, wenn diese virtuellen Schnittstellen umbenannt wurden.
Centimane
7

/proc/net/devDatei enthält Details zu allen Schnittstellen. z.B

$ 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

Wie Sie sehen können, sind viele Spalten und Details nicht sehr einfach zu lesen, wenn Sie catdie Datei lesen. Daher würde ich vorschlagen, einen ifconfigBefehl zu verwenden, der diese Datei liest und die Ausgabe gut formatiert.

Um alle Schnittstellen aufzulisten, verwenden Sie

/sbin/ifconfig -a

Das zeigt Ihnen die nicht konfigurierten / nicht installierten Netzwerkschnittstellen sowie die konfigurierten und aktiven Schnittstellen , von denen gelesen wird/proc/net/dev

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

Zeigt den tatsächlichen Gerätetreiber an, der für jedes Ethernet-Gerät verwendet wird

Paul S
quelle
... aber Ethernet-Geräte können anders benannt werden
Joril