BOOTPROTO = nincs | statikus | dhcp és /etc/resolv.conf

Mit jelent, ha a iv id = BOOTPROTO=none szót mondja = “4b2fd48573″>

fájl.

Emlékszem, régen BOOTPROTO=static volt, és nagyon világos és egyértelmű volt, amikor elmondta nekünk, hogy ha megadva IPADDR=<x.x.x.x>, a szerver előállítja a megadott IP-címet. Hasonlóképpen, a BOOTPROTO=dhcp DHCP-kiszolgálót keres dinamikus IP-cím megszerzéséhez. Redhat ezt mondja:

 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. 
  • Ez azt jelenti, hogy ha nem adjuk meg az IP-t az ifcfg-eth0 fájlban, akkor egy DHCP-kiszolgáló, és ha IP-t ad meg, akkor felveszi azt a statikus IP-t?

  • Mennyi az esélye, hogy DHCP-kiszolgálót keres és módosítja az / etc / resolv fájlt. conf akkor is, ha egy IP-címet megadunk a IPADDR= mezővel, amikor a BOOTPROTO nincs beállítva?

Kontextus: – Áthelyeztünk adatközpontokat sok kiszolgáló IP-címét kellett megváltoztatnunk. Módosítottuk a /etc/resolv.conf -t az új DNS-kiszolgálók IP-címeivel, de valamilyen oknál fogva egyes szervereknél a /etc/resolv.conf kitakarva lett, vagy régi DNS IP-címmel állt elő. A /etc/init.d/network szkriptben látom, hogy /etc/sysconfig/network-scripts/network-functions amely rendelkezik ezzel a funkcióval. Ez a tettes?

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

Milyen feltételekkel hívják ezt a függvényt?

Tudom hogy a beállítás – no megakadályozza az /etc/resolv.conf változását, azonban szeretném tudni, hogy a szerverünk elkezdett-e még DHCP szervert keresni bár a BOOTPROTO none értékre lett állítva, és IP-címet adott meg? ha igen, miért?

Néhány alkalommal újraindítottam a kiszolgálókkal kapcsolatos problémákat, hogy újra megismételjem a problémát, de a /etc/resolv.conf tartalma most nem változik. Mi okozhatta “/etc/resolv.conf megváltoztatását az első újraindításkor?

Használhatjuk a BOOTPROTO=static alkalmazást? Elolvastam. Elavult. mind RHEL 6.5

Válasz

Ha elolvassa a /etc/sysconfig/network-scripts/ifup-eth elemet, akkor hogy a hálózat DHCP-t használ, ha az BOOTPROTO dhcp vagy bootp értékre van állítva, különben nem használt:

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

Tovább, ha DYNCONFIG nem null (és dhclient elérhető), akkor a szkriptek megkísérlik használni a DHCP-t, különben statikus IP-címzésre kerül sor.

A grep -r BOOTPROTO * használatával a /etc nem mutat mást, mint a fenti kódrészlet, ami azt sugallja, hogy bármit használhat a BOOTPROTO mezőben, mindaddig, amíg a fenti kettő egyikének nincs.

Használhatja a BOOTPROTO=static fájlt, de ha “újra elmondtuk”, hogy nem támogatott, akkor nem garantálhatja, hogy ez így fog működni a jövőben. Ezenkívül nem fog változtatni a problémán – static vagy a none miatt a parancsfájl nem használja a DHCP-t.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük