यदि कोई केबल डीबीसी में ईथरनेट से जुड़ा नहीं है तो डीएचसीपी को कैसे छोड़ें


12

मेरा बनियान लिनक्स लोगन पर समय बर्बाद कर रहा है जो कि एथ 0 इंटरफेस के लिए डीएचसीपी लीज पाने की कोशिश कर रहा है जो जुड़ा नहीं है। ठीक है, एक्सटेंडर केबल इससे जुड़ा हुआ है, लेकिन दूसरे छोर पर कुछ भी नहीं है।

मेरे पास है

auto eth0
iface eth0 inet dhcp 

मेरे में सेट /etc/network/interfacesके बाद से मैं क्या यह ईथरनेट मामले में यह जुड़ा हुआ है लेने के लिए चाहते हैं, लेकिन मैं निश्चित रूप से इस प्रणाली के स्टार्टअप धीमा करने के लिए करता है, तो केबल ईथरनेट से जुड़ा नहीं है नहीं करना चाहती। मुझे लगता है कि सिस्टम को यह अपने आप पता चल जाएगा और इंटरफ़ेस के लिए डीएचसीपी लीज प्राप्त करने का प्रयास नहीं करेगा।

यहाँ मैं लोड समय पर देख रहा हूँ (अंतिम तीन पंक्तियाँ देखें):

यहाँ छवि विवरण दर्ज करें

अगर यह समझता है कि पट्टा नहीं आ रहा है, तो यह बूट के साथ आगे बढ़ता है।

अगर कोई कनेक्टेड केबल नहीं है तो क्या मैं इसे डीएचसीपी को नहीं बता सकता हूं?

जवाबों:


16

यदि आप निर्दिष्ट करें

allow-hotplug eth0

के बजाय

auto eth0

में /etc/network/interfaces, तब कनेक्शन केवल udevतब शुरू किया जाएगा जब प्रत्येक बूट के बजाय कुछ इसे ट्रिगर करता है।

यह आपके मामले को संभालने के लिए पर्याप्त हो सकता है, लेकिन जरूरी नहीं; मैनपेज कहा गया है किinterfaces

(Interfaces mark "allow-hotplug" को तब लाया जाता है जब udev उन्हें पता लगाता है। यह या तो बूट के दौरान हो सकता है यदि इंटरफ़ेस पहले से मौजूद है, या बाद के समय में, उदाहरण के लिए, USB नेटवर्क कार्ड में प्लग इन करते समय कृपया ध्यान दें कि ऐसा नहीं है। नेटवर्क केबल का पता लगाने के लिए उसके पास कुछ भी नहीं है।

यदि कोई केबल कनेक्ट नहीं है, तो आपको इंटरफ़ेस को छोड़ने के लिए पैकेज/etc/network/if-up.d/00check-network-cable से उपयोग करने की आवश्यकता हो सकती है।ifupdown-extra


क्या होगा अगर केबल बूट से पहले ही जुड़ा हुआ है? क्या कोई udevघटना उस समय बूट समय पर कनेक्शन को ट्रिगर करेगी ? दूसरे शब्दों में, udevक्या यह जांचता है कि उपकरण पहले से ही मशीन के बंदरगाहों से क्या जुड़े हैं?
जोसेफ आर।

0

समस्या के हमेशा एक से अधिक समाधान होते हैं।

यदि आप इस मशीन के साथ हमेशा घर की तरह एक ही जगह पर रहते हैं, तो सबसे आसान तरीका होगा dhcp-client पैकेज से छुटकारा पाना, और स्थैतिक आईपी एड्रेस, मास्क, गेटवे सेट करना। यह मानते हुए कि आपको इसकी आवश्यकता नहीं है, आप कुछ ऐसा करेंगे

apt-get remove isc-dhcp-client

यह आपको सबसे पहले बताएगा, अगर कोई निर्भरताएं हैं। एक बार जब आप पैकेज की स्थापना रद्द कर देते हैं, तो आपको बूट के दौरान इंतजार नहीं करना पड़ेगा।

यह इस बात का उदाहरण है कि आप अपने में क्या सेट करेंगे /etc/network/interfaces

iface eth0 inet static
    address 192.168.0.2
    netmask 255.255.255.0
    gateway 192.168.0.254

स्रोत: https://wiki.debian.org/DHCP_Client


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

0

पर एक नज़र है ifplugd:

ifplugd एक लिनक्स डेमॉन है जो केबल में प्लग किए जाने पर स्वचालित रूप से आपके ईथरनेट डिवाइस को कॉन्फ़िगर करेगा और केबल खींचे जाने पर स्वचालित रूप से इसे कॉन्फ़िगर नहीं करेगा। यह ऑनबोर्ड नेटवर्क एडाप्टर के साथ लैपटॉप पर उपयोगी है, क्योंकि यह केवल इंटरफ़ेस को कॉन्फ़िगर करेगा जब एक केबल वास्तव में जुड़ा होता है।

ifplugd ifplugd आपके वितरण के मूल नेटवर्क कॉन्फ़िगरेशन उपयोगिताओं में हस्तक्षेप करता है।

कुछ सुविधाएं:

  • अपने वितरण के मूल ifup / ifdown कार्यक्रमों का उपयोग करता है।
  • केबल के अनप्लग होने, प्लग होने पर बीप हो सकता है, इंटरफ़ेस कॉन्फ़िगरेशन सफल या विफल हुआ।
  • लिंक स्थिति प्राप्त करने के लिए लिनक्स SIOCETHTOOL (नया, aka ethtool API), SIOCGMIIREG (पुराने, aka mii-diag / mii-tool API) और SIOCDEVPRIVATE (सबसे पुराना (aka mii-tool API) ioctl () का समर्थन करता है। रिलीज़ 0.24 IFF_RUNNING इंटरफ़ेस ध्वज के साथ लिंक का पता लगाने के लिए समर्थन का परिचय देता है।
  • सिसलॉग सपोर्ट
  • छोटा कार्यक्रम - बाइनरी सिर्फ 25 केबी (लीबडैम के लिए प्लस 16 केबी) है।
  • एकाधिक ईथरनेट इंटरफ़ेस समर्थन
  • लघु "अनप्लग्ड" अवधियों (-d विकल्प) या लघु "प्लग किए गए" अवधियों (-u विकल्प) को अनदेखा करने के लिए कॉन्फ़िगर किया जा सकता है
  • वायरलेस नेटवर्किंग के लिए समर्थन। जब भी किसी AP से जुड़ने का पता चलता है तो नेटवर्क कॉन्फ़िगर किया जाता है। एपी संघों के सफल होने से पहले WEP कुंजियों को कॉन्फ़िगर करने के लिए एक सुविधा की आवश्यकता होने पर वैपरोडम पर एक नज़र डालें।
  • नेटवर्क उपकरणों के लिए संगतता मोड जो केबल डिटेक्शन (-F विकल्प) का समर्थन नहीं करता है

पैकेज डेबियन पैकेज खोज पृष्ठ: ifplugd
आधिकारिक ifplugd साइट

एक apt-get update && apt-get-install ifpludचाल चलनी चाहिए। एक साइड नोट पर, systemd का निर्माता इस पैकेज को बनाए रखता है।


2
मैं अर्हता प्राप्त करता हूं कि "... इस पैकेज को बनाए रखने के लिए उपयोग किया जाता है" क्योंकि पिछली रिलीज दस साल पहले थी ;-)। आजकल Lennart शायद सिफारिश करेंगे systemd-networkd... के साथ ifplugd, स्थापना के बाद, आप अपने डिवाइस (बताएं विन्यस्त करने की जरूरत allow-ifplugdमें /etc/network/interfaces)।
स्टीफन किट

@StephenKitt का आपने allow-ifplugdकोड इस्तेमाल किया है या देखा है? खोज करने के दौरान मैंने केवल Bugs.debian.org/cgi-bin/bugreport.cgi?bug=468896 पाया , जो कहता है कि allow-ifplugdसुविधा को स्वीकार नहीं किया गया था।
sourcejedi
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.