मैं उपलब्ध नेटवर्क इंटरफेस कैसे पा सकता हूं?


88

यह लिनक्स के संबंध में है, लेकिन अगर किसी को एक सामान्य * निक्स विधि के बारे में पता है जो अच्छा होगा।

मैंने कल एक सिस्टम को बूट किया है जिसमें एक ईथरनेट केबल प्लग किया गया है। "NetworkManager" स्थापित नहीं है, इसलिए एक बार शुरू होने के बाद मैं ईथरनेट इंटरफेस का नाम ifconfigमैन्युअल रूप से डीएचसीपी क्लाइंट शुरू करने के लिए देखने गया था, लेकिन इसके अलावा कुछ नहीं दिखा। lo

एनआईसी के माध्यम से सूचीबद्ध किया गया था lspci, और उपयुक्त कर्नेल ड्राइवर को लोड किया गया था। सिस्टम सामान्य रूप से वाईफाई का उपयोग करता है, और मैं उस के लिए इंटरफ़ेस नाम याद कर सकता था wlan0। जब मैंने कोशिश की ifconfig wlan0 up, wlan0दिखाई दिया। लेकिन केवल इथरनेट इंटरफ़ेस नाम जो मुझे याद थे, eth[N]और em[N]- जिनमें से कोई भी काम नहीं किया।

यह दस्तावेज़ "अनुमानित इंटरफ़ेस नामों" को संदर्भित करता है लेकिन यह समझाने का एक अच्छा काम नहीं करता है कि वे सरल शब्दों में क्या हो सकते हैं। यह स्रोत कोड के एक टुकड़े को संदर्भित करता है, जिसका अर्थ है कि इस मामले में नाम पीसीआई बस और स्लॉट संख्याओं से घटाया जा सकता है, जो एक अनावश्यक रूप से जटिल परेशानी की तरह लगता है।

आसपास की अन्य खोज ने मुझे विश्वास दिलाया कि यह systemdसंयोजन के द्वारा निर्धारित किया जा सकता है udev, लेकिन /usr/lib/udev/rules.dजहां और (और यदि ) यह निर्धारित करने के लिए एक घंटे की खर्च करने की कोशिश में लगभग 100 फाइलें हैं और यह भी हास्यास्पद लगता है।

यह निश्चित रूप से जानना अच्छा होगा कि वे उपलब्ध हैं, न कि वे कैसे हो अगर उनका नाम हो , इसलिए मैं हार्डवेयर समस्याओं को नियंत्रित कर सकता हूं, आदि उपलब्ध नेटवर्क इंटरफेस के नामों को खोजने का एक सरल तरीका नहीं है लिनक्स पर?


प्रश्न में आप कहते हैं कि आपने उपयोग किया है ip linkलेकिन फिर आप एक उत्तर को स्वीकार करते हैं ip link showजो सुझाव देता है कि वही काम करता है। क्यों?
पावेल Paमरदा

@ पावेलिमेरदा आप सही कह रहे हैं। मेरे पास वास्तव में इस्तेमाल किया जा सकता है ip route- समस्या हल होने के अगले दिन मैंने यह सवाल लिखा था (अपना जवाब देखें); मैं उपयोग करने की आदत में नहीं हूं ipऔर अत्यधिक संयमी आदमी पृष्ठों की सराहना नहीं करता हूं, इसलिए मैंने संभवतः एक कोशिश के बाद इसे छोड़ दिया और गुजरना शुरू कर दिया /sys, क्योंकि मुझे पता था कि किमीोड लोड किया गया था, आदि और यह अधिक सीधा था। मेरे लिए। मैं इसे पूरी तरह से प्रश्न से हटा दूंगा।
गोल्डीलॉक्स

Iproute2 के लिए मैनुअल पेज आजकल काफी अच्छे हैं, मुझे लगता है कि आप पैकेज के पुराने संस्करण का उपयोग कर रहे हैं।
पावेल Paमरदा

जवाबों:


93

सबसे आसान तरीका जो मुझे पता है कि आपके सभी इंटरफेस को सूचीबद्ध करना है

ifconfig -a

संपादित करें

यदि आप एक ऐसी प्रणाली पर हैं जहाँ इसे अप्रचलित किया गया है, तो आप इसका उपयोग कर सकते हैं

ip link show

3
अगर मैं सिर्फ आदमी पृष्ठ पर देखा था! यह जानने के लिए दिलचस्प रहें कि क्या ipकोई समानांतर है, क्योंकि माना जाता है कि ifconfig उस (IMO) के पक्ष में अधिक आज्ञाकारी और कम उपयोगकर्ता के अनुकूल कमांड के लिए "आज्ञाकारी" है।
गोल्डीलॉक्स

2
मेरी पहली बात man ifconfig: "नोट यह कार्यक्रम अप्रचलित है! रिप्लेसमेंट चेक आईपी के लिए ..." यह लिनक्स के लिए विशिष्ट हो सकता है। उम्मीद है कि उन्हें किसी चीज के साथ पिछड़ी अनुकूलता के लिए इसे बनाए रखना होगा।
गोल्डीलॉक्स

4
ifconfig को हटा दिया गया है, TMK, इसलिए हमें उदाहरणों का उपयोग करके दिखाने की कोशिश करनी चाहिए ip। : Ifconfig विकिपीडिया लेख देखें en.wikipedia.org/wiki/Ifconfig
स्लम

3
@ एसएलएम हालांकि सवाल है (था) लिनक्स विशिष्ट है, दोनों का उपयोग कर एक उदाहरण बीएसडी उपयोगकर्ताओं के रूप में अच्छा लगता है क्योंकि वैसे भी "लिनक्स" पृष्ठों को देखने की आदत हो सकती है - वास्तव में मैं लिनक्स को शीर्षक से बाहर ले जाऊंगा और संपादित करूंगा बिट (मूल रूप से यह स्व-उत्तर दिया गया था और मुझे नहीं लगा कि कोई पोर्टेबल तरीका है)।
गोल्डीलॉक्स

5
ifconfig पदावनत? आओ। यह कमान लगभग 30 वर्षों से है।
माइकल मार्टिनेज

72

कर्नेल /sysपीसीआई उपकरणों के पेड़ (जैसे) में दोनों के नाम से उन्हें सूचीबद्ध करता है - हालांकि उन्हें वहां ढूंढना अगर आपको नहीं पता है कि वे जहां से शुरू करना चाहते हैं, वह सरल नहीं है - और साथ में सहानुभूति के माध्यम से /sys/class/net। उदाहरण के लिए:

> ls /sys/class/net
em1 lo wlp6so

एक और उदाहरण:

> ls /sys/class/net
lo p6s1 wlan0

यदि आप सुनिश्चित नहीं हैं कि कौन सा है, तो आप उन सभी को या तो लगा सकते हैं:

ifconfig [name] up 

या:

ip link set [name] up

और फिर ifconfig(बिना किसी तर्क के) सूचीबद्ध (काफी स्पष्ट) सुराग देखें । Freedesktop.org दस्तावेज़ से लिंक किया गया systemd स्रोत कोड भी निम्न को संदर्भित करता है:

Two character prefixes based on the type of interface:
 *   en -- ethernet
 *   sl -- serial line IP (slip)
 *   wl -- wlan
 *   ww -- wwan

यद्यपि उपरोक्त मामलों में से एक में ( p6s1) कोई उपसर्ग नहीं है।


ईथरनेट के लिए मुझे उपसर्ग है eth। मेरा मानना enहै कि वायरलेस लैन के लिए है।
कौशल मोदी

4
@kaushalmodi ethएक लिनक्स कर्नेल चीज़ है; udev Freedesktop.org के माध्यम से systemd औजार उम्मीद के मुताबिक इंटरफ़ेस नाम - गिरी वाले एक ही भावना है, जो सभी भ्रम का कारण है में उम्मीद के मुताबिक नहीं हैं। उपरोक्त उद्धरण यहाँ से स्पष्ट रूप से n 'चिपकाया गया है । वहाँ इससे भी अधिक है, क्योंकि मेरे पास enईथरनेट के लिए उपयोग करने वाली कोई भी सिस्टम मशीन नहीं है ; निकटतम है em, अन्य पूरी तरह से अलग हैं। आप और अधिक स्पष्टीकरण के लिए प्रश्न में Freedesk.org लिंक को स्वयं पढ़ सकते हैं।
गोल्डीलॉक्स

4
[बाद में] पिछले कुछ समय में फेडोरा या सिस्टमड ने इसे सही किया? मेरा पीसीआई ईथरनेट अब है eno1
गोल्डीलॉक्स


4

ifconfig= सोलारिस
ipconfig= विंडोज
ip= लिनक्स

यह मुझे पता है, लेकिन निश्चित रूप से परिवर्धन और सुधार के लिए खुला हूं।


2
है ना? ifconfig लिनक्स भी है।
fpmurphy

4
@ fpmurphy1 man ifconfigएक लिनक्स सिस्टम पर पहला पैराग्राफ (सिनॉप्सिस के बाद) पढ़ें ।
गोल्डीलॉक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.