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?


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

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

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.


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é.


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


1
modprobe -c |grep 'eth[0-9]'

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


... mais les périphériques Ethernet peuvent être nommés différemment
Joril
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.