"सुडोकू गूंज नामकरण 8.8.8.8> /etc/resolv.conf" क्या करता है?


13

क्या कोई मुझे बता सकता है कि क्या sudo echo nameserver 8.8.8.8 > /etc/resolv.confकरता है?

मेरे पास 15 सेकंड से 3 मिनट के लिए इंटरनेट कनेक्शन की यादृच्छिक ड्रॉपिंग थी, लेकिन इस कमांड का उपयोग करने के बाद, इंटरनेट कनेक्शन एक आकर्षण की तरह काम कर रहा है। मैं बस उत्सुक हूं कि इस जादू कमांड लाइन ने क्या किया।


3
मुझे आश्चर्य है कि यह वास्तव में काम करता है - सूडो को केवल यहां प्रतिध्वनि पर लागू होना चाहिए, पुनर्निर्देशन पर नहीं और एक गैर-रूट उपयोगकर्ता को /etc/resolv.conf तक पहुंच नहीं होनी चाहिए
अधिकतम

@ मोम आप बिलकुल सही कह रहे हैं। मुझे वह हिस्सा याद आ गया - अपना जवाब अपडेट कर दिया।
gertvdijk

जवाबों:


27

यह आपके मशीन पर उपयोग किए जाने वाले नेमसर्वर (DNS) को Google सार्वजनिक DNS सेवा द्वारा बदल देता है । यदि वह आदेश चलाने में आपकी सहायता करता है, तो आप अपने नेटवर्क द्वारा प्रदान की गई डिफ़ॉल्ट सेटिंग्स में DNS समस्याएँ (डीएचसीपी) रखते हैं। जबकि समस्या के मूल कारण को हल करना बेहतर होगा, यह आपके प्रश्न का सामान्य उत्तर है।


आज्ञा का स्पष्टीकरण

sudo echo nameserver 8.8.8.8 > /etc/resolv.conf
  • sudo इस मामले में विशेषाधिकारों का मूल है।
  • echoबस मानक आउटपुट के लिए तर्क का अनुसरण करता है (इस मामले में यह आउटपुट nameserver 8.8.8.8)
  • > एक नियमित यूनिक्स शेल में एक फ़ाइल में मानक आउटपुट को रीडायरेक्ट करता है (इसे ओवरराइट करता है)।
  • /etc/resolv.conf वह फ़ाइल है जहाँ आउटपुट को लिखा जाता है।
  • डोमेन के नाम को आईपी पते पर हल करने के लिए आईपी ​​पते वाले नेमवेर का उपयोग करके सिस्टम बनाने nameserver 8.8.8.8में एक लाइन /etc/resolv.confहोती है 8.8.8.8(वास्तव में क्या होता है इसका बहुत छोटा संस्करण)
  • 8.8.8.8Google द्वारा प्रकाशित पते में से एक है जहाँ पर उनकी सार्वजनिक DNS सेवाएँ सुन रही हैं।

sudo ग़लती

हालांकि यह स्पष्टीकरण प्रशंसनीय लगता है, यह काम नहीं करेगा, क्योंकि आपको एक त्रुटि मिलेगी:

bash: /etc/resolv.conf: Permission denied

क्यों? आउटपुट पुनर्निर्देशन आपके शेल (यहां: बैश) द्वारा संभाला जाता है और इसके लिए उपयोग किए जाने वाले कमांड के लिए ध्यान में नहीं लिया जाता है sudo। गणित में गुणा करने के समान ही जोड़ने पर पूर्वता है। तो, यह है echoकि उन्नत विशेषाधिकार मिल गया है, लेकिन अपने खोल नहीं है! इसे हल करने के लिए, किसी को इस कमांड को चलाना चाहिए

sudo sh -c "echo nameserver 8.8.8.8 > /etc/resolv.conf"

या, एक पाइप का उपयोग करके और teeइसे एक फ़ाइल में आउटपुट करने के लिए:

echo nameserver 8.8.8.8 | sudo tee /etc/resolv.conf  #prints to screen as well

उबंटू और नेटवर्क मैनेजर

उबंटू पर यह केवल एक अस्थायी बदलाव है, क्योंकि नेटवर्क मैनेजर /etc/resolv.confफाइल को "मैनेज" करता है। स्थानीय संशोधनों को अधिलेखित कर दिया जाएगा। इसलिए आपको इसे लगातार बनाए रखने के लिए नेटवर्क प्रबंधक में कॉन्फ़िगर करना चाहिए।


नेटवर्क मैनेजर का उपयोग करके कॉन्फ़िगरेशन

मैं नेटवर्क मैनेजर का उपयोग करके आपके पीसी को ठीक से कॉन्फ़िगर करने की सलाह दूंगा। मैं मान रहा हूँ कि आप यहाँ (सबसे सामान्य) अपने नेटवर्क पर डीएचसीपी का उपयोग कर रहे हैं। फिर इसे उसी कमांड के बराबर करने के लिए करें जिसका आप उपयोग कर रहे थे:

  1. संपादित कनेक्शन खोलें :

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

  2. आपके द्वारा उपयोग किए जा रहे कनेक्शन प्रोफ़ाइल को संपादित करें।

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

  3. पर आईपीवी 4 सेटिंग्स टैब:

    • विधि: स्वचालित (डीएचसीपी) पते ही

      यह सेटिंग आपके होस्ट के IP पते कॉन्फ़िगरेशन के लिए एक नियमित डीएचसीपी अनुरोध कर रही है, लेकिन यह अन्य गैर-अनिवार्य विकल्पों को अनदेखा करेगी जैसे कि DNS सर्वर सुझाए गए हैं।

    • डीएनएस सर्वर: 8.8.8.8
    • मारो सहेजें

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

किया हुआ।


महत्वपूर्ण लेख

स्थानीय या कॉर्पोरेट नेटवर्क में स्थानीय DNS सर्वर का उपयोग स्थानीय होस्ट के लिए किया जा सकता है। आप Google के सर्वर से सीधे आपके लिए नाम सुलझाने के लिए कहकर इस कार्यक्षमता को ढीला कर देंगे। इसलिए, यदि उदाहरण के लिए स्थानीय DNS सर्वर को पता होगा कि "प्रिंटर" क्या है, तो आप उस नाम से अपने प्रिंटर का उपयोग करके ढीले हो जाएंगे।

तो, कृपया, इसके बजाय अपने स्थानीय डीएनएस सर्वर को ठीक करें। यदि यह आपके ISP के टूटे हुए DNS सर्वर का सिर्फ एक साधारण फारवर्डर है और आप इसे (उदाहरण के लिए ISP- प्रबंधित ऑल-इन-वन-राउटर) नहीं बदल सकते हैं, तो यह 8.8.8.8समाधान आपका एकमात्र विकल्प हो सकता है।


1
एक और महत्वपूर्ण नोट: Google संभवतः उसी पर एकत्रित हो रहा है जो DNS में क्या देख रहा है, इसलिए इस बारे में सोचें कि क्या आप उसके साथ सहज हैं। आपके द्वारा उपयोग किए जा सकने वाले अन्य सार्वजनिक DNS सर्वर बहुत सारे हैं, और वे आम तौर पर विश्वसनीय हैं। ओपी की तरह लगता है कि एक खराब डीएनएस सर्वर का उपयोग किया गया था, जो एक स्थानीय हो सकता है या नहीं हो सकता है। (मेरे पास कमोडिटी एडीएसएल राउटर है जो डीएनएस के साथ उल्लेखनीय रूप से खराब काम करता है)।
mc0e
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.