Apa artinya itu ketika dikatakan BOOTPROTO=none
dalam /etc/sysconfig/network-scripts/ifcfg-eth0
file.
Saya ingat dulu ada BOOTPROTO=static
dan sangat jelas dan langsung mengatakan kepada kami bahwa jika IPADDR=<x.x.x.x>
diberikan, server akan muncul dengan alamat IP yang ditentukan. Demikian juga, BOOTPROTO=dhcp
akan mencari server DHCP untuk mendapatkan alamat IP dinamis. Redhat berkata:
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.
Apakah ini berarti jika kita tidak menentukan IP dalam file ifcfg-eth0, ia akan mencari server DHCP dan jika IP ditentukan, itu akan mengambil IP statis itu?
Bagaimana peluangnya untuk mencari server DHCP dan memodifikasi /etc/resolv.conf bahkan jika alamat IP ditentukan
IPADDR=
ketika BOOTPROTO tidak disetel ke mana pun?
Konteks: - Kami memindahkan pusat data dan harus mengubah alamat IP di banyak server. Kami telah memodifikasi /etc/resolv.conf
dengan alamat IP dari server DNS yang baru, tetapi untuk beberapa alasan, di beberapa server yang /etc/resolv.conf
dihilangkan, atau muncul dengan alamat IP DNS yang lama. Dalam /etc/init.d/network
skrip saya melihatnya memanggil /etc/sysconfig/network-scripts/network-functions
yang memiliki fungsi ini. Apakah ini pelakunya?
# 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;
}
Dalam keadaan apa fungsi ini disebut?
Saya tahu bahwa pengaturan PEERDNS
untuk no
akan mencegah /etc/resolv.conf berubah, namun, saya ingin tahu apakah server kami sudah mulai mencari server DHCP meskipun BOOTPROTO
telah diatur ke none
dan alamat IP ditentukan? jika ya, mengapa?
Saya me-reboot masalah server dengan masalah ini beberapa kali untuk mereplikasi masalah lagi, tetapi isinya /etc/resolv.conf
tidak berubah sekarang. Apa yang bisa menyebabkan /etc/resolv.conf diubah di reboot pertama?
Dapat kita gunakan BOOTPROTO=static
? Saya membaca ini sudah usang. Mesin kami semuanya RHEL 6.5