Comment lister toutes les cartes réseau physiquement installées (Debian)?

14

Mon "serveur dédié" devrait avoir deux NIC installés mais je ne peux en trouver qu'un.

Ma question: quelles autres commandes et méthodes sont disponibles pour tester le nombre de cartes réseau installées sur mon serveur

lspci | grep Ethernet

Y a-t-il d'autres commandes / méthodes disponibles?

jens
la source
Avez-vous un accès physique à l'hôte? Pouvez-vous confirmer que les cartes d'extension sont correctement installées? Tous les NIC sont-ils du même fabricant?
Tok
Bonjour Tok. Merci pour votre réponse, les cartes réseau ne sont pas du même fabricant (l'une devrait être d'Intel et l'autre de Realtek). => Votre question semble intéressante. Quel pourrait être l'effet / le résultat si les cartes proviennent de différents fabricants? Et je n'ai pas d'accès physique au serveur et je ne sais pas s'ils sont correctement installés. Merci. jens.
jens

Réponses:

14

Vous pouvez utiliser lshw pour voir tous les périphériques sur une machine. Pour afficher uniquement les périphériques réseau, entrez:

lshw -class network
pyasi
la source
4
lshw ne fait pas partie d'une configuration Debian par défaut.
Jean-Marc Liotier
1
Je trouve ça un peu trop, je préfère juste: ip link show
Matías
Cela affiche également les interfaces de pont, qui ne sont pas physiques.
Xorax
11

Pour Ethernet:

ls -d /sys/class/net/eth* | wc -l
ooshro
la source
1
Cela ne fonctionne pas en général car les noms de périphériques Ethernet ne doivent pas commencer par eth. De nombreuses distributions Linux (toutes?) Utilisent désormais des "noms d'interface Ethernet prévisibles" avec systemd, ce qui donne des noms d'interfaces câblées comme en0 ou enp0s25, donc la recherche d'eth * les manquera.
rajb245
2
Donnez à ce essayer: $ ls -l /sys/class/net/ | grep -v virtual. Il filtre toutes les interfaces réseau virtuelles. Travailler sur Ubuntu fonctionnant dans une boîte virtuelle.
kwarnke
11

ip link show listera tout ce qui ressemble à une interface réseau.

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

Affiche uniquement les interfaces liées à une carte réseau physique.

J'ai essayé de trouver une typeoption ip link showqui afficherait non logique, mais hélas:

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 }

Cela semble être la seule chose qui ip link showne peut pas faire. Du moins pas sans avoir recours à un script qui répertorie d'abord chacun des éléments ci-dessus, puis fait grep -vcontre une exécution finale sans typespécifié.

banankage
la source
Cela semble définitivement que quelque chose ip linkdevrait être en mesure de gérer. Si vous utilisez beaucoup d'interfaces virtuelles (par exemple pour le pontage ou le vlan) et surtout si ces interfaces virtuelles ont été renommées.
Centimane
7

/proc/net/devle fichier contient des détails sur toutes les interfaces. par exemple

$ 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

Comme vous pouvez le voir, de nombreuses colonnes et détails ne sont pas très faciles à lire lorsque vous catle fichier, je suggère donc d'utiliser la ifconfigcommande qui lit ce fichier et les formats de sortie bien.

Pour répertorier toutes les interfaces, utilisez

/sbin/ifconfig -a

qui vous montrera les interfaces réseau non configurées / en panne ainsi que celles configurées et actives, comme lues dans/proc/net/dev

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

affiche le pilote de périphérique réel utilisé pour chaque périphérique Ethernet

Paul S
la source
... mais les périphériques Ethernet peuvent être nommés différemment
Joril