BOOTPROTO = कोई नहीं | स्थिर | dhcp और /etc/resolv.conf


17

इसका क्या मतलब है जब यह फ़ाइल BOOTPROTO=noneमें कहता है /etc/sysconfig/network-scripts/ifcfg-eth0

मुझे याद है कि वहाँ हुआ BOOTPROTO=staticकरता था और हमें यह बताने में बहुत स्पष्ट और सीधा था कि यदि कोई IPADDR=<x.x.x.x>दिया जाता है, तो सर्वर निर्दिष्ट आईपी पते के साथ आएगा। इसी तरह, BOOTPROTO=dhcpएक गतिशील आईपी पता प्राप्त करने के लिए डीएचसीपी सर्वर की तलाश करेंगे। रैदात कहते हैं:

 BOOTPROTO=protocol
    where protocol is one of the following:

        none — No boot-time protocol should be used.
        bootp — The BOOTP protocol should be used.
        dhcp — The DHCP protocol should be used.
  • क्या इसका मतलब है कि अगर हम ifcfg-eth0 फाइल में IP निर्दिष्ट नहीं करते हैं, तो यह एक DHCP सर्वर की तलाश करेगा और यदि एक IP निर्दिष्ट किया जाता है, तो यह उस स्थिर IP को उठाएगा?

  • क्या संभावना है कि यह एक डीएचसीपी सर्वर की तलाश करेगा और /etc/resolv.conf को संशोधित करेगा भले ही एक IP पता निर्दिष्ट किया IPADDR=जाए जब BOOTPROTO किसी के लिए सेट नहीं है?

संदर्भ: - हमने डेटासेंटर को स्थानांतरित किया और कई सर्वरों में आईपी पते बदलने पड़े। हमने /etc/resolv.confनए DNS सर्वरों के IP पतों के साथ संशोधन किया था , लेकिन किसी कारण से, कुछ सर्वर्स में कुछ /etc/resolv.confखाली हो गया, या पुराने DNS IP पतों के साथ आया। में /etc/init.d/networkस्क्रिप्ट मैं इसे बुला रहा है देखने के /etc/sysconfig/network-scripts/network-functionsजो इस समारोह है। क्या यह अपराधी है?

# Invoke this when /etc/resolv.conf has changed:
change_resolv_conf ()
{
    s=$(/bin/grep '^[\ \        ]*option' /etc/resolv.conf 2>/dev/null);
    if [ "x$s" != "x" ]; then
       s="$s"$'\n';
    fi;
    if [ $# -gt 1 ]; then
       n_args=$#;
       while [ $n_args -gt 0 ];
         do
            if [[ "$s" = *$1* ]]; then
               shift;
               n_args=$(($n_args-1));
               continue;
            fi;
            s="$s$1";
            shift;
            if [ $# -gt 0 ]; then
                s="$s"$'\n';
            fi;
            n_args=$(($n_args-1));
         done;
    elif [ $# -eq 1 ]; then
       if [ "x$s" != "x" ]; then
          s="$s"$(/bin/grep -vF "$s" $1);
       else
          s=$(cat $1);
       fi;
    fi;
    (echo "$s" > /etc/resolv.conf;) >/dev/null 2>&1;
    r=$?
    if [ $r -eq 0 ]; then
        [ -x /sbin/restorecon ] && /sbin/restorecon /etc/resolv.conf >/dev/null 2>&1 # reset the correct context
        /usr/bin/logger -p local7.notice -t "NET" -i "$0 : updated /etc/resolv.conf";
        [ -e /var/lock/subsys/nscd ] && /usr/sbin/nscd -i hosts; # invalidate cache
    fi;
    return $r;
}

किस फ़ंक्शन के तहत इस फ़ंक्शन को कहा जाता है?

मुझे लगता है कि सेटिंग पता PEERDNSकरने के लिए noपरिवर्तित करने से /etc/resolv.conf कर पाएगा, फिर भी, मैं जानना चाहता हूँ कि हमारे सर्वर शुरू कर दिया था एक DHCP सर्वर भले ही तलाश में चाहते हैं BOOTPROTOकरने के लिए स्थापित किया गया था noneऔर एक आईपी पता निर्दिष्ट किया गया था? यदि हाँ, तो क्यों?

मैंने इस मुद्दे को फिर से दोहराने के लिए सर्वर के मुद्दों को कुछ समय के लिए रिबूट किया, लेकिन सामग्री /etc/resolv.confअब नहीं बदल रही है। पहले रीबूट में /etc/resolv.conf को बदलने का क्या कारण हो सकता है?

क्या हम उपयोग कर सकते हैं BOOTPROTO=static? मैंने उसका वंचित पढ़ा। हमारी मशीनें सभी आरएचईएल 6.5 हैं

जवाबों:


21

आप पढ़ सकते हैं, तो /etc/sysconfig/network-scripts/ifup-ethआप देखेंगे कि नेटवर्किंग का उपयोग करता है डीएचसीपी यदि BOOTPROTOकरने के लिए सेट कर दिया जाता dhcpया bootp, अन्यथा उसका उपयोग नहीं कर रहा है:

if ["${BOOTPROTO}" = "bootp" -o "${BOOTPROTO}" = "dhcp" ]; then DYNCONFIG=true

इसके अलावा, यदि DYNCONFIGशून्य नहीं है (और dhclientउपलब्ध है) तो स्क्रिप्ट डीएचसीपी का उपयोग करने का प्रयास करती है अन्यथा स्थिर आईपी एड्रेसिंग का प्रयास किया जाता है।

उपरोक्त स्निपेट के अलावा किसी भी चीज़ का उपयोग करना आपके लिए grep -r BOOTPROTO *कुछ /etcभी नहीं दिखा सकता है, यह सुझाव देता है कि आप किसी भी चीज़ का उपयोग BOOTPROTOतब तक कर सकते हैं जब तक कि यह ऊपर के दो में से एक न हो।

आप उपयोग कर सकते हैं BOOTPROTO=static, लेकिन अगर हमें बताया जाता है कि यह असमर्थित है तो आप गारंटी नहीं दे सकते कि यह भविष्य में इस तरह काम करेगा। इसके अतिरिक्त, यह आपके मुद्दे पर कोई फर्क नहीं पड़ेगा - staticया noneस्क्रिप्ट के कारण डीएचसीपी का उपयोग नहीं करेगा।

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