Diyor ne anlama geliyor BOOTPROTO=none
içinde /etc/sysconfig/network-scripts/ifcfg-eth0
dosyanın.
Eskiden orada olduğumu hatırlıyorum BOOTPROTO=static
ve 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=dhcp
dinamik 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.conf
Yeni DNS sunucularının IP adresleriyle değiştirilmiştik , ancak bazı nedenlerden dolayı bazı sunucularda /etc/resolv.conf
boşaltıldı veya eski DNS IP adresleri ortaya çıktı. Gelen /etc/init.d/network
komut Ben aradığını görün /etc/sysconfig/network-scripts/network-functions
bu 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 PEERDNS
için no
değiştirmesini /etc/resolv.conf önleyecektir, ancak, bir DHCP sunucusu rağmen arayan sunucumuz başlamıştı olmadığını bilmek istiyorum BOOTPROTO
olarak ayarlandı none
belirtildi 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