BOOTPROTO = ei mitään staattinen | dhcp ja /etc/resolv.conf

Mitä se tarkoittaa, kun iv id: ssä sanotaan BOOTPROTO=none = ”4b2fd48573″>

-tiedosto.

Muistan, että aiemmin oli BOOTPROTO=static, ja se oli hyvin selkeä ja suoraviivainen sanomalla meille, että jos IPADDR=<x.x.x.x> annetaan, palvelin keksii määritetyn IP-osoitteen. Samoin BOOTPROTO=dhcp etsii DHCP-palvelinta saadakseen dynaamisen IP-osoitteen. Redhat sanoo:

 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. 
  • Tarkoittaako se, että jos emme määritä IP-osoitetta ifcfg-eth0-tiedostossa, se etsii DHCP-palvelin ja jos IP on määritetty, se noutaa kyseisen staattisen IP-osoitteen?

  • Mitkä ovat mahdollisuudet etsiä DHCP-palvelinta ja muokata / etc / resolv. conf, vaikka IP-osoite on määritetty IPADDR= -toiminnolla, kun BOOTPROTO-arvoksi ei ole asetettu?

Konteksti: – Muutimme datakeskuksia ja jouduimme muuttamaan IP-osoitteita monissa palvelimissa. Olimme muokkaaneet /etc/resolv.conf uusien DNS-palvelimien IP-osoitteilla, mutta jostain syystä joissakin palvelimissa /etc/resolv.conf tyhjennettiin tai keksittiin vanhat DNS-IP-osoitteet. /etc/init.d/network -komentosarjassa näen kutsuvan /etc/sysconfig/network-scripts/network-functions jolla on tämä toiminto. Onko tämä syyllinen?

# 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; } 

Missä olosuhteissa tätä toimintoa kutsutaan?

Tiedän että asetus – no estää tiedostoa /etc/resolv.conf muuttumasta, mutta haluaisin kuitenkin tietää, oliko palvelimemme alkanut etsiä DHCP-palvelinta edes vaikka BOOTPROTO asetettiin arvoon none ja IP-osoite määritettiin? jos kyllä, miksi?

Käynnistäin tämän ongelman palvelinongelmat uudelleen muutaman kerran toistamaan ongelman uudelleen, mutta /etc/resolv.conf -sisältö ei muutu nyt. Mikä voi ”ve aiheuttaa /etc/resolv.conf: n muutoksen ensimmäisessä uudelleenkäynnistyksessä?

Voimmeko käyttää BOOTPROTO=static? Luin sen vanhentuneen. Koneemme ovat kaikki RHEL 6.5

Vastaa

Jos luet /etc/sysconfig/network-scripts/ifup-eth, näet että verkko käyttää DHCP: tä, jos BOOTPROTO -asetukseksi on valittu dhcp tai bootp, muuten se ”s ei käytetty:

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

Jatkossa, jos DYNCONFIG ei ole nolla (ja dhclient on käytettävissä), sitten komentosarjat yrittävät käyttää DHCP: tä, muuten yritetään staattista IP-osoitetta.

Käyttämällä grep -r BOOTPROTO * -kohtaa /etc ei näytä mitään muuta kuin yllä oleva katkelma, mikä viittaa siihen, että voit käyttää mitä tahansa kohdassa BOOTPROTO, kunhan se ei ole toinen yllä olevista.

Voit käyttää BOOTPROTO=static, mutta jos ”me kerroimme sen”, että sitä ei tueta, et voi taata se toimii näin tulevaisuudessa. Lisäksi se ei muuta ongelmaa – static tai none ei saa komentosarjaa käyttämään DHCP: tä.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *