Ceci concerne Linux, mais si quelqu'un connaissait une méthode générale, cela serait bien.
Hier, j'ai démarré un système avec un câble Ethernet branché. "NetworkManager" n'étant pas installé, une fois démarré, je suis allé à la recherche du nom de l'interface Ethernet ifconfig
afin de démarrer un client DHCP manuellement, mais rien d'autre n'a été affiché. lo
.
La carte réseau était répertoriée via lspci
et le pilote de noyau approprié était chargé. Le système utilise normalement le wifi, et je me souvenais du nom de l'interface wlan0
. Quand j'ai essayé ifconfig wlan0 up
, wlan0
est apparu. Mais les seuls noms d’interfaces Ethernet dont je me souvenais étaient eth[N]
et em[N]
- aucun d’eux ne fonctionnait.
Ce document fait référence à des "noms d'interface prévisibles" mais ne permet pas d'expliquer ce qu'ils pourraient être en termes simples. Il fait référence à un morceau de code source qui implique que le nom dans ce cas pourrait être déduit du bus PCI et des numéros de logement, ce qui semble être une corvée inutilement compliquée.
D'autres recherches m'ont amené à penser que cela pourrait être déterminé systemd
conjointement avec udev
, mais il y a près de 100 fichiers /usr/lib/udev/rules.d
et passer une heure à essayer de déterminer où (et si ) il y a un fichier de configuration systemd pour cela aussi semble ridicule.
Il serait également bon de savoir avec certitude qu'ils sont disponibles, pas seulement comment ils pourraient être nommés s'ils sont, donc je ne peux écarter les problèmes matériels, etc. N'est - il un moyen simple de trouver les noms des interfaces réseau disponibles sur linux?
ip link
mais ensuite vous acceptez une réponse suggérantip link show
lequel fait exactement la même chose. Pourquoi?ip route
question suivante: j’ai écrit cette question le lendemain, une fois le problème résolu (voir ma propre réponse); Je ne suis pas habitué à utiliserip
et n'apprécie pas les pages de manuel excessivement spartiates. Je l'ai donc probablement abandonné après un essai et/sys
j'ai commencé à le parcourir , car je savais que le kmod était chargé, etc., ce qui était plus simple. tome. Je vais supprimer cela complètement de la question.Réponses:
La méthode la plus simple que je connaisse pour répertorier toutes vos interfaces est
MODIFIER
Si vous êtes sur un système où cela a été rendu obsolète, vous pouvez utiliser
la source
ip
existe un parallèle, car supposément ifconfig est "obsolète" au profit de cette commande (OMI) plus obtuse et moins conviviale.man ifconfig
: "NOTE: Ce programme est obsolète! Pour le remplacement de l'adresse IP ..." Cela peut être spécifique à Linux. Espérons qu'ils devront le conserver pour assurer la compatibilité ascendante avec quelque chose.ip
. Voir l'article de ifconfig dans wikipedia: en.wikipedia.org/wiki/Ifconfig .Le noyau les répertorie par nom
/sys
, les deux séparément (par exemple) dans l’arborescence des périphériques PCI - bien qu’il soit difficile de les trouver si vous ne savez pas par où commencer, il faut les regrouper via des liens symboliques dans/sys/class/net
. Par exemple:Un autre exemple:
Si vous ne savez pas lequel est lequel, vous pouvez simplement les mettre tous avec:
Ou:
Et puis regardez les indices (assez clairs) listés par
ifconfig
(sans arguments). Le code source systemd lié au document Freedesktop.org fait également référence à:Bien que dans l'un des cas ci-dessus (
p6s1
), il n'y a pas de préfixe.la source
eth
. Je crois queen
c'est pour le réseau local sans fil.eth
est une chose du noyau Linux; systemd implémente via les noms d'interface prévisibles d' udev Freedesktop.org - ceux du noyau ne sont pas prévisibles dans le même sens, ce qui est à l'origine de toute la confusion. La citation ci-dessus est explicitement coupée et collée à partir d'ici . Il y a plus que cela, vu que je n'ai aucune machine systemd utilisanten
Ethernet; le plus proche estem
, d'autres sont complètement différents. Vous pouvez lire le lien Freedesk.org dans la question vous-même pour plus d'explications.eno1
.Je fais toujours
cat /proc/net/dev
c'est simple et facile à mémoriserla source
ifconfig
= Solarisipconfig
= Windowsip
= LinuxJe le sais, mais je suis certainement ouvert aux ajouts et aux corrections.
la source
man ifconfig
sur un système Linux.