वहाँ एक रास्पबेरी लिनक्स पर रास्पियन लिनक्स में डीएचसीपी ग्राहक को निष्क्रिय करने का एक तरीका है?


15

मेरे पास एक लिनक्स सर्वर है (रास्पबेरी ओएस के रूप में रास्पबेरी का उपयोग करके) जो केवल स्थिर आईपी का उपयोग करना चाहिए।

हालाँकि मैंने देखा कि इसे डीएचसीपी सर्वर से भी आईपी मिला है (डीएचसीपी द्वारा दिया गया आईपी है 192.168.111.2)। नेटवर्क सेटिंग्स के अनुसार सर्वर को केवल स्टेटिक आईपी ( 192.168.111.100) का उपयोग करना चाहिए ।

की सामग्री /etc/network/interfaces:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.111.100
netmask 255.255.255.0
gateway 192.168.111.1
dns-nameservers ip1 ip2

स्थिर विन्यास का उपयोग करने के बावजूद मैं डिवाइस को एसएससीएच को डीएचसीपी द्वारा दिए गए आईपी का उपयोग कर सकता हूं। यह भी प्रतीत होता है कि ntpdगलत आईपी और साथ ही सही का उपयोग कर रहा है।

नेटस्टेट का उत्पादन:

udp        0      0 192.168.111.2:123       0.0.0.0:*                           2774/ntpd
udp        0      0 192.168.111.100:123     0.0.0.0:*                           2774/ntpd

ifconfigआईपी ​​के अनुसार 192.168.111.2उपयोग नहीं किया जाता है:

eth0      Link encap:Ethernet  HWaddr b8:27:eb:be:18:1c
          inet addr:192.168.111.100  Bcast:192.168.111.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:138099 errors:0 dropped:0 overruns:0 frame:0
          TX packets:81146 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:95954711 (91.5 MiB)  TX bytes:27076870 (25.8 MiB)

ps -ef | grep dhcp दिखाता है कि मेरे पास डीएचसीपी डेमॉन चल रहा है:

root      2000     1  0 Oct07 ?        00:00:06 /sbin/dhcpcd

मैं DHCPशुरू करने से डेमॉन को कैसे अक्षम कर सकता हूं और सुनिश्चित करें कि मेरा सर्वर केवल स्थैतिक का उपयोग करता है?


आप किस कमांड का जिक्र कर रहे हैं?
मडॉक कोमड्रिन

मैंने उन आदेशों की कोशिश की, लेकिन मुझे इसमें मदद करने के लिए कुछ भी नहीं मिला।
मडॉक कोमड्रिन

@barlop के साथ कुछ भी गलत नहीं है ifconfigऔर इसका नियमित रूप से उपयोग किया जाता है। एक दिन इसे बदल दिया जाएगा ipलेकिन ईमानदारी से, यह किसी के लिए बुरा करने का कोई परिणाम नहीं है जिसके बारे में "बेहतर" है क्योंकि यह एक अजीब प्रतियोगिता नहीं है। ifconfigइस तरह की चीजों को डिबग करने के लिए पर्याप्त से अधिक विवरण प्रदान करता है।
जेकलॉल्ड

जवाबों:


11

यह परिदृश्य वास्तव में अजीब लगता है क्योंकि आपका सेटअप आपके वर्णन के अनुसार काम कर रहा होना चाहिए - और इसके लिए काम करने की उम्मीद करता है - अगर कोई स्थिर आईपी सेट है /etc/network/interfaces। उस ने कहा, आधिकारिक रास्पबेरी पाई साइट पर यह चर्चा उपयोगकर्ता "rpdom" के साथ इस मुद्दे पर केंद्रित है, जो दिनांक "Thu May 28, 2015 6:21 am" पर पोस्ट करते हुए कहा गया है:

यह नवीनतम अपडेट में होता है। यह नए dhcp क्लाइंट की वजह से होता है, जो कि इंटरफेस फाइल को अनदेखा करता है और इसके अलावा अपनी चीज करता है ... मुझे पागल लगता है। मैं dhcp क्लाइंट को फिर से कॉन्फ़िगर करने का तरीका देखूंगा (यह याद नहीं कर सकता कि यह कौन है या इसे कैसे करना है, मैं अभी भी पुराने पर हूं जो मेरे लिए काम करता है), इसे अक्षम करना, या इसे हटाना (यदि संभव हो तो)।

थ्रेड उपयोगकर्ता "केएलएल" में तेजी से अपनी प्रतिक्रिया दिनांकित अन्य पोस्ट "सोम अगस्त 10, 2015 12:59 बजे। "निट" के अनुसार:

कहीं-कहीं एक अपग्रेड ने मेरी /etc/network/interfacesफाइल को dhcp या static के बजाय 'मैन्युअल' शब्द के साथ संशोधित किया और मैंने दो IP पते, मेरे स्थिर एक और dhcp पते के साथ समाप्त किया। मेरे पास आखिरकार इसके साथ खेलने का समय था और मुझे पता चला कि dhcpcd5पहले जो कुछ भी था उससे अलग काम करता है। केवल अपना स्थैतिक पता प्राप्त करने के लिए, संशोधित न करें /etc/network/interfaces। यदि आपने इसे बदला है तो 'मैनुअल' शब्द वापस रखें और /etc/dhcpcd.confडॉक्स से उदाहरण में दिखाए अनुसार संशोधित करें ।

इसलिए विचार यह है कि dhcpcd5उन्नयन में से एक में व्यवहार बदल गया है। और समस्या को हल करने का सुझाव किसी भी परिवर्तन को हटाने /etc/network/interfacesऔर इसके बजाय /etc/dhcpcd.confएक स्थिर आईपी पता प्राप्त करने के लिए सेटिंग्स को समायोजित करने के लिए है; नीचे का उदाहरण देखें:

static <value>
             Configures a static <value>.  If you set ip_address then dhcpcd
             will not attempt to obtain a lease and just use the value for the
             address with an infinite lease time.

             Here is an example which configures a static address, routes and
             dns.
                   interface eth0
                   static ip_address=192.168.0.10/24
                   static routers=192.168.0.1
                   static domain_name_servers=192.168.0.1

सामग्री की अधिक जानकारी इसके लिए आधिकारिक मैन पेज परdhcpcd.conf देखी जा सकती है

उस ने कहा, एक और विचार आपके पास मौजूद सेटिंग्स को बनाए रखने के लिए है, /etc/network/interfacesलेकिन फिर डीएचसीपी डेमन को पूरी तरह से अनदेखा करने के /etc/dhcpcd.confलिए लाइन जोड़ने के लिए संपादित करें । या तो समाधान काम करना चाहिए, लेकिन आपकी समग्र नेटवर्किंग आवश्यकताओं / आवश्यकताओं के आधार पर एक समाधान अधिक बेहतर समाधान हो सकता है।denyinterfaces eth0eth0


2
मेरा मामला यहाँ वर्णित लगभग एक जैसा था। केवल अंतर यह था कि मेरा रास्पबेरी पाई मंचों के मामले में यह /etc/network/interfacesकभी नहीं बदला manual। सुझाए गए समाधानों ने मेरे लिए भी काम किया।
मडोक कोमड्रिन

1
वही, जहां "स्थिर" के साथ भी मैं अपने eth0 पर dhcp ले रही हूं। यह अभी भी एक jessie- लाइट संस्थापन के साथ एक समस्या है। वर्कअराउंड मुझे अभी तक मदद नहीं कर रहा है क्योंकि मेरे पास एक ऐसी स्थिति है जहां मुझे w00 इंटरफ़ेस की आवश्यकता है, जिसमें एथ्र इंटरफ़ेस की तुलना में कम मीट्रिक है और मुझे ऐसा करने के लिए dhcpcd5 नहीं मिल सकता है (अब तक)।
पीटर हैनसेन

3
का संभावित हल है कि किया था मेरे लिए काम है, तथापि, dhcpcd5 eth0 को देखने के लिए नहीं बताने के लिए किया गया था। यह /etc/dhcpcd.conf में "denyinterfaces eth0" को जोड़कर किया गया था।
पीटर हैनसेन

1
@PeterHansen जानकर अच्छा लगा! उस जानकारी को मेरे उत्तर के अंत में जोड़ा गया।
जेकगोल्ड

2
एक फॉलोअप: कुछ मामलों में मैंने पाया है कि मेरे पास dhcpcd5 और isc-dhcp- क्लाइंट दोनों हैं, दोनों असाइन करने वाले पते। इसके अलावा, एक सिस्टम-आरंभ किया गया dhcpcd.service है जो सभी इंटरफेस (विकल्प -q -b) के साथ-साथ नेटवर्क / इंटरफेस में "dhcp" विकल्प द्वारा शुरू की गई dhcpcd5 प्रक्रिया पर चलता है। आहें ... काफी आसान है एक बार जब आप यह सब जान लेते हैं, तो मुझे उम्मीद है।
पीटर हैनसेन

8

मेरे लिए जो काम किया है वह मूल प्रश्न के अनुसार / etc / network / interfaces का उपयोग कर रहा है और बस dhcp क्लाइंट को हटा रहा है:

apt-get remove dhcpcd5 isc-dhcp-client isc-dhcp-common

ऐसे परिदृश्य में जहां आप डीएचसीपी (या कुछ और dhcpcd कर सकते हैं) के बारे में परवाह नहीं करते हैं, यह सबसे आसान समाधान है।
एवी

1

मुझे कहना होगा कि दुर्भाग्य से यहां प्रस्तावित समाधानों में से किसी ने भी मेरे लिए काम नहीं किया। लेकिन डीएचसीपी के साथ एक लंबी लड़ाई के बाद, मैं आखिरकार समस्या को हल करने में सक्षम था:

vi /etc/systemd/network/eth0.network

परिवर्तन:

[Match]
Name=eth0

[Network]
DHCP=yes

सेवा:

[Network]
DHCP=no

उम्मीद है की यह मदद करेगा।


1

किसी भी सेवा जैसे dhcpcd को निष्क्रिय करने का बेहतर तरीका है सिस्टम प्रबंधन फ़ंक्शंस का उपयोग करना। आपको इसके प्रभावी होने के लिए रीबूट करने की आवश्यकता होगी - जब तक आप सेवा को रोक नहीं देते।

जेसी के लिए (जो systemdप्रबंधन का उपयोग करता है):

sudo systemctl disable dhcpcd.service

और पुराने Wheezy ( System-Vप्रबंधन) के लिए:

sudo update-rc.d dhcpcd disable

लेकिन अगर आप इसे अक्षम करते हैं तो आपको यह सुनिश्चित करने की आवश्यकता है कि आपको एक स्थिर आईपी कॉन्फ़िगरेशन मिल गया है /etc/network/interfacesअन्यथा आपके इंटरफेस को आईपी पता नहीं मिलेगा।


0

यहाँ रास्पियन जेसी 2017-01-11 के लिए मुझे क्या करने की आवश्यकता है उसका सारांश दिया गया है:

संपादित करें / आदि / नेटवर्क / इंटरफेस और स्थैतिक पता श्लोक जोड़ें, स्थिर इंटरफ़ेस (इस मामले में eth0) के अन्य संदर्भ हटा दें। ऑटो लाइन महत्वपूर्ण है अन्यथा इंटरफ़ेस बूट पर शुरू नहीं होगा:

    auto eth0
    iface eth0 inet static
      address 192.168.44.17
      netmask 255.255.255.0
      gateway 192.168.44.27

अगला dhcpcd अक्षम करें और मानक नेटवर्किंग सक्षम करें:

  • Dhcpcd अक्षम करें: systemctl disable dhcpcd.service
  • नेटवर्किंग सक्षम करें: systemctl enable networking
  • रिबूट

2017-01-11 रिलीज के रूप में रास्पियन जेसी सिस्टमड नेटवर्किंग का उपयोग नहीं करता है


0

कुछ चीजों की कोशिश की और पाया कि

 apt list --installed | grep dhcp

मिल गया:

dhcpcd5 
isc-dhcp-client
isc-dhcp-common

मैंने अभी अक्षम किया है dhcpcd5और इसका उपयोग करके इसे ठीक किया है:

 sudo apt-get remove dhcpcd5

एक रिबूट किया और सभी बांका था

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