Diyor ne anlama geliyor BOOTPROTO=noneiçinde /etc/sysconfig/network-scripts/ifcfg-eth0dosyanın.
Eskiden orada olduğumu hatırlıyorum BOOTPROTO=staticve bize bir IPADDR=<x.x.x.x>an verilirse, sunucunun belirtilen IP adresi ile geleceğini söyleyen çok açık ve basitti . Benzer şekilde, BOOTPROTO=dhcpdinamik bir IP adresi almak için bir DHCP sunucusu arar. Redhat diyor ki:
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.
IP'yi ifcfg-eth0 dosyasında belirtmezsek, bir DHCP sunucusu arayacak ve bir IP belirtilmişse, o statik IP'yi alacak mı?
IPADDR=BOOTPROTO yok olarak ayarlandığında bir IP adresi belirtilse bile bir DHCP sunucusu araması ve /etc/resolv.conf dosyasını değiştirmesi ihtimali nedir?
Bağlam: - Veri merkezlerini taşıdık ve sunucuların çoğunda IP adreslerini değiştirmek zorunda kaldık. /etc/resolv.confYeni DNS sunucularının IP adresleriyle değiştirilmiştik , ancak bazı nedenlerden dolayı bazı sunucularda /etc/resolv.confboşaltıldı veya eski DNS IP adresleri ortaya çıktı. Gelen /etc/init.d/networkkomut Ben aradığını görün /etc/sysconfig/network-scripts/network-functionsbu görevi yapar. Bu suçlu mu?
# 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;
}
Bu fonksiyon hangi sikluslar altında denir?
O ayarı biliyorum PEERDNSiçin nodeğiştirmesini /etc/resolv.conf önleyecektir, ancak, bir DHCP sunucusu rağmen arayan sunucumuz başlamıştı olmadığını bilmek istiyorum BOOTPROTOolarak ayarlandı nonebelirtildi ve bir IP adresi? evet ise, neden?
Sorunu tekrarlamak için sunucu sorunlarını birkaç kez yeniden başlattım, ancak içeriği /etc/resolv.confşimdi değişmiyor. İlk yeniden başlatma sırasında /etc/resolv.conf dosyasının değiştirilmesine ne sebep olabilirdi?
Kullanabilir miyiz BOOTPROTO=static? Kullanımdan kaldırıldığını okudum. Makinelerimizin tümü RHEL 6.5