Resolv.conf विकल्प को कैसे जारी रखें जैसे कि रोटेट, CentOS में टाइमआउट?


9

CentOS /etc/resolv.confसमय-समय पर किए गए किसी भी मैनुअल परिवर्तन को मिटा देगा । लिनक्स में चूक एक उचित समय में विफल होने के संदर्भ में खराब हैं (हर बार उसी क्रम में क्वेरी नाम सर्वर, 5 सेकंड टाइमआउट, 2 रिट्रीट)।

इसलिए, आपके पहले डीएनएस resolv.confअनिवार्य रूप से महत्वपूर्ण पथ है। यदि यह विफल रहता है तो आप असफल होने से पहले 10 सेकंड देख सकते हैं।

ये डिफॉल्ट टीकेबल हैं ( resolv.conf मैन पेज देखें ), लेकिन सेंटोस में किसी भी बदलाव को कैसे स्थायी बनाया जा सकता है और रिबूट आदि के माध्यम से जारी रखा जा सकता है?

जवाबों:


12

जवाब में पाया जा सकता है /sbin/dhclient-script:

if [ -n "${RES_OPTIONS}" ]; then
    echo "options ${RES_OPTIONS}" >> ${rscf}
fi

लेकिन, यह बहुत स्पष्ट नहीं है कि आप RES_OPTIONSस्क्रिप्ट को चुनने के लिए कहां सेट कर सकते हैं - कुछ चीजें जैसे खोज डोमेन को ifcfg-ethXफ़ाइल में सेट किया जा सकता है , लेकिन रिज़ॉल्वर विकल्प कहीं और सेट किए जाते हैं। आप जो फ़ाइल चाहते हैं वह वास्तव में है /etc/sysconfig/network। संबंधित विकल्पों को सेट करने के लिए, इस लाइन की तरह कुछ को उस फ़ाइल में जोड़ें:

RES_OPTIONS="rotate timeout:1 retries:1"

यह 1 सेकंड के लिए समय-सीमा निर्धारित करेगा, एकल रिट्री का उपयोग करेगा और क्लाइंट को हर बार सूची के माध्यम से क्रमिक रूप से जाने के बजाय अपने रिवाल्वर को प्रत्येक अनुरोध को घुमाने के लिए कहेगा।

यदि आप चाहते हैं कि परिवर्तन तुरंत प्रभावी हों, तो एक service network restartआदेश जारी करें और अपने नए /etc/resolv.confको इसकी सभी महिमा में देखें। यहाँ क्या मेरा ऐसा लग रहा था जब यह परीक्षण:

# cat /etc/resolv.conf 
; generated by /sbin/dhclient-script
search example.com
options rotate timeout:1 retries:1
nameserver 10.1.1.2
nameserver 10.1.1.1

1

स्वीकार किए जाते हैं जवाब जब विरासत नेटवर्किंग स्क्रिप्ट का उपयोग कर रहा है। यदि आप NetworkManager का उपयोग करते हैं /etc/sysconfig/network, तो आपके पास भी नहीं हो सकता है , और यदि आप करते हैं तो इसका उपयोग NetworkManager द्वारा प्रबंधित कनेक्शन के लिए नहीं किया जाएगा ।

यदि आप NetworkManager का उपयोग करते हैं :

विकल्प जोड़ने के rotateलिए , पूर्व में जोड़ना bond0:

nmcli con mod bond0 +ipv4.dns-options rotate

उस विकल्प को हटाने के लिए:

nmcli con mod bond0 -ipv4.dns-options rotate

+भी परिवर्तन के विकल्प के लिए अच्छा है, NetworkManager मौजूदा विकल्पों का पता लगाने और उन्हें अद्यतन करने के लिए पर्याप्त स्मार्ट है। उदाहरण के लिए, टाइमआउट मान बदलना:

root@debian:~# nmcli con show bond0 |grep ipv4.dns-options
ipv4.dns-options:                       "rotate,timeout:5"
root@debian:~# nmcli con mod bond0 +ipv4.dns-options timeout:3
root@debian:~# nmcli con show bond0 |grep ipv4.dns-options
ipv4.dns-options:                       "rotate,timeout:3"

इसका मतलब है कि मूल्य को हटाने के लिए नजरअंदाज किया गया है और इसकी आवश्यकता भी नहीं है। टाइमआउट निकालने के लिए:

nmcli con mod bond0 -ipv4.dns-options timeout

यह टाइमआउट मान के साथ भी काम करेगा लेकिन उस मूल्य को अनदेखा किया जाएगा , इसलिए हटाने timeout:5से किसी अन्य टाइमआउट मान को भी हटा दिया जाएगा।

ध्यान दें: इस मैं की जांच कर रहे एक में आए जबकि संबंधित बग कि में तय किया गया था नेटवर्क-प्रबंधक v1.14.6 , v1.15.2-देव और v1.16 । यदि आप किसी भी समस्या का सामना करते हैं तो पहले अपने नेटवर्क-प्रबंधक संस्करण की जांच करें ।


1
किसी पुराने स्वीकृत उत्तर में एक नया उत्तर जोड़ते समय यह ध्यान रखना अच्छा है कि प्रश्न और उत्तर कितना पुराना है। क्या माना जाता है कि विरासत अब 4+ साल पहले जरूरी नहीं था जब सवाल पूछा गया था। विरासत के रूप में टैग करने के बजाय, यदि आपने नोट किया कि चूक कब बदली गई (क्या CentOS संस्करण - 8 शायद?) और फिर अपनी जानकारी जोड़ने के लिए आगे बढ़े तो यह अधिक उपयोगी उत्तर होगा। वैकल्पिक रूप से अपने स्वयं के संस्करण को फिर से पूछें और उत्तर दें (नए CentOS संस्करणों के लिए या उदाहरण के लिए नेटवर्क प्रबंधक का उपयोग करते समय) और संदर्भ के लिए इस पुराने लिंक को वापस लिंक करें।
एडम सी।

पुराना तरीका अभी भी मान्य हो सकता है ... NetworkManager लंबे समय से आसपास रहा है फिर भी आप पुराने तरीके को डेबियन और CentOS दोनों में कॉन्फ़िगर कर सकते हैं।
थॉमस गुयोट-सायननेस्ट

0

यदि आपको nmcliकमांड के बजाय फ्लैट फ़ाइलों के साथ ऐसा करने की आवश्यकता है (जैसे कि कॉन्फ़िगरेशन प्रबंधन उपकरण के साथ) Red Hat एक और समाधान प्रदान करता है।

एक स्क्रिप्ट बनाएं /etc/NetworkManager/dispatcher.d/15-resolv, जो एक कस्टम /etc/resolv.confको जगह में कॉपी करता है।

#!/bin/bash
#
# Description : script to override default resolv.conf file
# with customized file.
cp -f /etc/resolv.conf.custom /etc/resolv.conf

NetworkManager को पुनः आरंभ करने के बाद, इस स्क्रिप्ट को निष्पादित किया जाएगा, फ़ाइल को अपने स्वयं के साथ बदल दिया जाएगा।

https://access.redhat.com/solutions/61921


0

आप NetworkManager को बता सकते हैं कि वह /etc/resolv.confफाइल को एकसाथ प्रबंधित न करे ।

  1. /etc/NetworkManager/conf.d/90-dns-none.confनिम्नलिखित सामग्री के साथ फ़ाइल बनाएँ :

    [main]
    dns=none
    
  2. NetworkManager सेवा को पुनः लोड करें:

    systemctl reload NetworkManager
    

इस दस्तावेज़ से आया एक दूसरा समाधान है जिसमें /etc/resolv.confआपकी फ़ाइल के लिए एक सिमलिंक के साथ प्रतिस्थापित करना शामिल है ।

इसे पढ़ें: 22. /etc/resolv.conf फ़ाइल को मैन्युअल रूप से कॉन्फ़िगर करना


-1

बस जोड़ दो

resolv_conf_options=rotate\ timeout:1\ retries:1

अपने में resolvconf.conf


आपको यकीन है कि यह CentOS में एक विकल्प है (डॉक्स / लिंक के लिए एक लिंक मिला है)? मैं इसे एक FreeBSD विकल्प और उबंटू के रूप में देखता हूं लेकिन इसे CentOS में नहीं पा रहा हूं
एडम सी

यह ओपनरेसोलव पैकेज का एक हिस्सा है
एव्जेनी एफ

1
यह एक मानक पैकेज प्रतीत नहीं होता है, इसलिए वास्तव में CentOS के लिए एक विकल्प नहीं है, विशेष रूप से नियंत्रित वातावरण में, कहीं और एक बुरा विकल्प नहीं है, हालांकि
एडम सी 20

-3

मैंने पिछली बार अपने नए सब्सक्राइब्ड लिनक्स VPS के साथ इसी समस्या का सामना किया था। मैंने कैसे हल किया यह फ़ाइल को अपरिवर्तनीय बनाने के लिए chattr + i कमांड का उपयोग करना था। बस / etc फ़ोल्डर में जाएँ और इसे तब चलाएँ जब आपने resolv.conf फ़ाइल में आवश्यक परिवर्तन किए हों:

चट्टर + आई रेसोल्व.कॉनफ

यदि आप सेटिंग वापस करना चाहते हैं, तो बस यह करें:

गपशप -इ resolv.conf

आपके संदर्भ के लिए पूर्ण दिशानिर्देश: http://boxtutor.com/fix-etcresolv-conf-is-not-saving-after-server-reboot/


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