लिनक्स में ईथरनेट पोर्ट की भौतिक स्थिति की जांच कैसे करें?


64

मैं यह जांचना चाहता हूं कि क्या एक निर्दिष्ट एथिक्स शारीरिक रूप से ऊपर या नीचे है। मैं कमांड लाइन के साथ ऐसा कैसे करूं?

जवाबों:


68

$ ethtool <eth?>

उदाहरण के लिए:

$ ethtool eth0

प्रदान करता है:

Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: on
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000001 (1)
        Link detected: yes

46

/sys/class/net/eth0/operstateइस निर्देशिका में अन्य फ़ाइलों की जाँच करें ।

जहां तक ​​मुझे पता है कि यह लिनक्स 2.6+ के लिए विशिष्ट है, लेकिन यह कर्नेल ड्राइवर को एक साफ इंटरफ़ेस प्रदान करता है।

sysफ़ाइल सिस्टम के इस भाग के लिए पूर्ण प्रलेखन यहाँ पाया जा सकता है:

https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net


10
/ sys / class / net / eth0 / वाहक मेरे लिए इस सवाल का सही जवाब था।
प्रति Knytt

बहुत बढ़िया जवाब। एक छोटा परिशिष्ट: / run / network / ifstate में कुछ उपयोगी जानकारी भी है।
पाउलो आंद्रे हाके

34

ethtool [interface]

अंतिम पंक्ति यह बताती है कि आप क्या चाहते हैं:

# एथल eth0
Eth0 के लिए सेटिंग्स:
        समर्थित पोर्ट: [टीपी]
        समर्थित लिंक मोड: 10baseT / Half 10baseT / Full 
                                100baseT / आधा 100baseT / पूर्ण 
                                1000baseT / पूर्ण 
        ऑटो-वार्ता का समर्थन करता है: हाँ
        उन्नत लिंक मोड: 10baseT / आधा 10baseT / पूर्ण 
                                100baseT / आधा 100baseT / पूर्ण 
                                1000baseT / पूर्ण 
        विज्ञापित ऑटो-वार्ता: हाँ
        गति: 1000Mb / s
        द्वैध: पूर्ण
        पोर्ट: मुड़ जोड़ी
        PHYAD: 0
        ट्रान्सीवर: आंतरिक
        ऑटो-वार्ता: चालू
        वेक-ऑन: जी का समर्थन करता है
        वेक-ऑन: डी
        वर्तमान संदेश स्तर: 0x00000037 (55)
        लिंक का पता चला: हाँ

4
आप इस चेक करते हैं: en.wikipedia.org/wiki/OSI_model । आप देखेंगे कि अंतिम पंक्ति एक और परत के बारे में है: लिंक परत। मैंने अभी-अभी इसका परीक्षण किया है। एक खराब केबल के साथ भौतिक परत ऊपर थी, लेकिन लिंक परत नहीं। फिर मैंने दूसरी केबल पर स्विच किया और सभी परतें ऊपर आ गईं।
जादेर डायस

25
ip link show

दूसरा है। अच्छे पुराने

ifconfig dev_name

या

ifconfig -a

यह भी बताएगा कि क्या इंटरफ़ेस ऊपर है। नोट: इन विधियों के साथ सावधानी बरतें क्योंकि वे लिंक की स्थिति के बारे में पुरानी जानकारी दिखा सकते हैं।


मुझे लगता है कि यह सबसे अच्छा जवाब था - एथबुल मेरे उबंटू डिस्टिब्यूशन में मानक नहीं है, इसलिए यदि नेट से जुड़ा नहीं है तो यह मदद नहीं करेगा।
user20010

4
मेरा मानना ​​है कि अगर कभी-कभी डेटा आउट ऑफ डेट हो जाएगा। लिंक नीचे होने पर यह यूपी दिखा सकता है, लेकिन एथलेटिक इंटरफ़ेस हमेशा सही जानकारी AFAIK दिखाएगा।
sed_and_done

2
मुझे लगता है कि @sed_and_done सही है। Red Hat VM पर, यदि मैं NIC को डिस्कनेक्ट करता हूं, तो ethtool Link detected: noइसके बजाय तुरंत दिखाता है Link detected: yes, और ip लिंक शो के<NO-CARRIER,BROADCAST,MULTICAST,UP> बजाय दिखाता है <BROADCAST,MULTICAST,UP,LOWER_UP>, लेकिन ifconfig -a दिखाता है UP BROADCAST MULTICAST MTU:1500 Metric:1, जो NIC से कनेक्ट होने पर समान है।
आदि इनबार

16
dmesg | grep eth

आपको सभी स्थितियां देखनी चाहिए


यह केवल एक ही है जो काम करता है अगर किसी के पास विशेषाधिकारों का अभाव है।
ब्रायन बी

dmesg को Slackware पर रूट की आवश्यकता है 14.0
AnonymousLurker

नहीं, यह नहीं है। मैंने अभी चेक किया है - जबकि यह eth0डिवाइस पर मेरे लिए काम करता है, लेकिन यह eth2डिवाइस पर नहीं है।
हाय-एंजेल

9

आप यह भी देख सकते हैं कि लिंक चालू है या नहीं, यह देखने के लिए मोइ-टूल का उपयोग कर सकते हैं।

# mii- उपकरण
eth0: 100baseTx-FD पर बातचीत की, लिंक ठीक है


4
mii- उपकरण को पदावनत किया जाता है और यह GbE इंटरफेस के लिए काम नहीं करता है।
डेव चेनी

2
@ डेवचेनी# mii-tool eth0: negotiated 1000baseT-FD flow-control, link ok
स्टूलविक २१'११

Mii- टूल के लिए मैन पेज एथलेट का उपयोग करने का सुझाव देता है। हालाँकि, mii-tool अपना काम करता रहता है, यदि -v (क्रिया) विकल्प दिया गया हो तो अधिक उपयोगी है।
डेविड रामिरेज़

3

नीचे कमांड के साथ आपके पास पूरी जानकारी हो सकती है

ethtool eth0

और अगर आप लिंक की स्थिति नीचे दिए गए आदेश को देखना चाहते हैं

mii-tool eth0

2

यदि आपका सिस्टम उपयोग कर रहा है ifplugd(जैसे रास्पबेरी के साथ रास्पबेरी पाई पर) तो आप ifplugstatusसभी इंटरफेस की लिंक स्थिति प्राप्त करने के लिए संबंधित स्थिति टूल का उपयोग कर सकते हैं :

ifplugstatus

या एक विशिष्ट इंटरफ़ेस (उदाहरण के लिए eth0):

ifplugstatus eth0

2

netplugd एक सेवा है जो प्रोग्राम चला सकती है जब एक केबल प्लग की जाती है या एक केबल बाहर निकाल दी जाती है। तो कमांड लाइन नेटप्लग आउटपुट के लिए grep / var / log / संदेश या dmesg होगी।


खैर, अनुरोधित उत्तर बिल्कुल नहीं, बल्कि जानने के लिए एक दिलचस्प। कम से कम मेरे लिए।
शाल्पाजो डी एरियेरेज़

2

@ Goo के उत्तर में जल्दी से जोड़ने के लिए , आप निम्नानुसार ip linkया इसकी व्याख्या ip link show INTERFACEकरेंगे।

यह एक बंदरगाह है जो प्रशासनिक रूप से ऊपर है, लेकिन शारीरिक रूप से नीचे है:

2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000

दूसरे शब्दों में, UPआप देख सकते हैं कि नेटवर्किंग के लिए NIC का उपयोग करने के लिए सिस्टम कॉन्फ़िगर किया गया है। NO-CARRIERयहाँ आपको बताता है कि क्या इस मुद्दे को काम करने से रोकने नेटवर्किंग है।

यह एक बंदरगाह है जो प्रशासनिक रूप से नीचे है (इसकी भौतिक परत 'ऊपर' है, तकनीकी रूप से - यह एक वीएम है):

3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000

अंत में, यह पोर्ट सामान्य रूप से काम कर रहा है:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq state UP mode DEFAULT group default qlen 1000

यह प्रशासनिक रूप से UP, LOWER_UPइंगित करता है कि भौतिक परत काम कर रही है (यानी एक वाहक है), और दूसरी UPपुष्टि (प्रभाव में) आईपी परत ऊपर है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.