Alter dhclient को लाने के लिए IP एड्रेस प्राप्त करना


10

यह पता चला है कि रास्पबेरी पाई dhcp के साथ एक IP पता प्राप्त करने की बहुत कोशिश नहीं करती है, एक बिजली की विफलता के दौरान, मेरे rpi ने dhcp सर्वर की तुलना में तेजी से बूट किया, और कभी भी IP पता नहीं मिला। ऐसी स्थिति में, आरपीआई बूट होने लगता है, लेकिन इसे एक आईपी पता नहीं मिलता है, और जब तक मैं इसे फिर से रिबूट नहीं करता, तब तक मुझे इसमें से कोई dhcp अनुरोध नहीं दिखता।

dhclient को इस प्रकार चलाया जाता है:

dhclient -1 -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0

मैं किसी भी तरह से बहस को कम करने के लिए बदल नहीं सकता, -1 तर्क अपराधी हो सकता है। जब तक मुझे उत्तर नहीं मिल जाता, मैं अपनी रास्पबेरीपी रिट्रीट dhcp अनुरोध कैसे कर सकता हूं?

संपादित करें: यह रास्पियन "मट्ठा" डिस्ट्रो के विषय में है।


1
वाईफ़ाई के साथ एक ही समस्या। यदि वाईफाई राउटर स्टार्टअप पर है, तो राउटर रीस्टार्ट होने पर भी सबकुछ ठीक हो जाता है। लेकिन अगर रास्पबेरी शुरू होने पर राउटर बंद हो जाता है तो उसे कभी भी आईपी नहीं मिलता है। सादर

मेरी भी यही समस्या है। हालांकि, मुझे पता नहीं है कि कैसे dhclient चलाया जाता है। क्या कुछ विन्यास है या क्या मुझे उसके लिए कुछ करने की आवश्यकता है?
कांगकन

जवाबों:


7

निकालें -1अपने आदेश पंक्ति तर्क से, तो संपादित timeoutऔर retryमें मानों /etc/dhclient.confअपनी पसंद के हिसाब से। आप man dhclient.confअधिक जानकारी के लिए मैन पेज ( ) देख सकते हैं ।


समस्या है, के रूप में कहा, मैं नहीं dhclient की कमांड लाइन को बदलने के लिए किसी भी तरह से प्राप्त कर सकते हैं, यह करने के लिए जादुई किसी भी तरह कुछ के रूप में / etc / नेटवर्क को पार्स करता ifupdown .deb पैकेज में कुछ द्वारा बूट पर शुरू किया जा रहा है / इंटरफेस
nos

@nos आपको नेटवर्क init स्क्रिप्ट ढूंढनी होगी। मुझे याद नहीं है कि यह कहाँ से है।
एलेक्स चैंबरलेन

@ एलेक्स चैंबरलेन चालू करने के लिए कमांड लाइन चालू करता है, जिसके लिए dhclient शुरू करना कठिन है / sbin / ifup बाइनरी में कोडित है। इसलिए मैं इस बिंदु पर वैकल्पिक समाधान की तलाश कर रहा हूं।
nos

उसके लिए माफ़ करना। वैसे भी, कौन सा distro है? अजीब बात है कि वे एक बाइनरी में हार्ड कोड सामान रखते हैं। समाधान-वार, आप मौजूदा dhclient प्रक्रिया को मारने के लिए r.local में कुछ लाइनें जोड़ सकते हैं और फिर कस्टम args आदि के साथ अपनी शुरुआत कर सकते हैं
Munkeh

पोस्ट संपादित करें - मैं
nos

1

आपके / etc / नेटवर्क / इंटरफेस की सामग्री क्या है?

मैं मान रहा हूं कि ऑटो एथ0 है क्योंकि यह बूट पर डीएचसीपी को क्वेरी करता है।

क्या होगा अगर आप उसे बदलने के लिए eth_hotplug eth0? यदि मुझे सही तरीके से समझ में आता है, तो इंटरफ़ेस में परिवर्तन (केबल डाला / हटाया) पर प्रतिक्रिया करनी चाहिए।

(यह सब सिर्फ मेरा शिक्षित अनुमान है)।


यह टिप मेरे लिए बहुत अच्छा काम करती है: यह हॉट-प्लगिंग की अनुमति देता है, और बूट-टाइम को गति देता है। लेकिन इसे "अनुमति-हॉटप्लग eth0" के रूप में लिखा जाना चाहिए।
user27164

0

जेरोइन द्वारा यहां दिया गया वर्कअराउंड है: https://bugs.launchpad.net/raspbian/+bug/1125066

मैंने वर्कअराउंड सेटअप किया है और रिबूट किया गया है - फिलहाल ठीक लगता है। कुछ समय के लिए परीक्षण के बाद किसी अद्यतन में हल की गई समस्या की पुष्टि करेगा।

ये है वर्कअराउंड:

वर्कअराउंड का नाम बदलकर / sbin / dhclient को / sbin / dhclient-bin और फिर / sbin / dhclient के नीचे पाठ और बाद में इसे 777 पर chmod करने के लिए एक आवरण स्क्रिप्ट बनाना है:

#!/bin/sh
/sbin/dhclient-bin -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.