Was bedeutet es, wenn es BOOTPROTO=none
in der /etc/sysconfig/network-scripts/ifcfg-eth0
Datei steht ?
Ich erinnere mich, dass es früher gab, BOOTPROTO=static
und es war sehr klar und klar, dass IPADDR=<x.x.x.x>
der Server , wenn ein angegeben wird, die angegebene IP-Adresse bereitstellt. Ebenso BOOTPROTO=dhcp
wird nach einem DHCP-Server gesucht, um eine dynamische IP-Adresse zu erhalten. Redhat sagt:
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.
Bedeutet dies, dass wenn wir die IP nicht in der Datei ifcfg-eth0 angeben, nach einem DHCP-Server gesucht wird und wenn eine IP angegeben wird, diese statische IP abgerufen wird?
Wie stehen die Chancen, dass ein DHCP-Server gesucht und /etc/resolv.conf geändert wird, selbst wenn eine IP-Adresse angegeben
IPADDR=
wird, für die BOOTPROTO auf none gesetzt ist?
Kontext: - Wir haben Rechenzentren umgezogen und mussten auf vielen Servern die IP-Adressen ändern. Wir hatten /etc/resolv.conf
die IP-Adressen der neuen DNS-Server geändert , aber aus irgendeinem Grund wurden bei einigen Servern die /etc/resolv.conf
IP-Adressen ausgeblendet oder es wurden alte DNS-IP-Adressen gefunden. In dem /etc/init.d/network
Skript sehe ich es ruft, /etc/sysconfig/network-scripts/network-functions
die diese Funktion hat. Ist das der Täter?
# 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;
}
Unter welchen Umständen wird diese Funktion aufgerufen?
Ich weiß , diese Einstellung PEERDNS
zu no
dem /etc/resolv.conf ändert jedoch zu verhindern, würde Ich mag wissen , ob unser Server gestartet hatte für einen DHCP - Server suchen , obwohl BOOTPROTO
wurde auf none
und eine IP - Adresse angegeben wurde? wenn ja warum
Ich habe die Serverprobleme mit diesem Problem einige Male neu gestartet, um das Problem erneut zu replizieren, aber der Inhalt von /etc/resolv.conf
ändert sich jetzt nicht. Was könnte dazu geführt haben, dass die Datei /etc/resolv.conf beim ersten Neustart geändert wurde?
Können wir verwenden BOOTPROTO=static
? Ich habe gelesen, dass es veraltet ist. Unsere Maschinen sind alle RHEL 6.5