¿Qué significa cuando dice BOOTPROTO=none
en el /etc/sysconfig/network-scripts/ifcfg-eth0
archivo?
Recuerdo que solía ser BOOTPROTO=static
y fue muy claro y directo en decirnos que si una IPADDR=<x.x.x.x>
se da, el servidor se van a plantear con la dirección IP especificada. Del mismo modo, BOOTPROTO=dhcp
se buscará un servidor DHCP para obtener una dirección IP dinámica. Redhat dice:
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.
Qué significa si no se especifica la dirección IP en el archivo ifcfg-eth0, se buscará un servidor DHCP y si se especifica una dirección IP, que captará esa IP estática?
¿Cuáles son las posibilidades de que se buscará un servidor DHCP y modificar /etc/resolv.conf incluso si una dirección IP se especifica con
IPADDR=
cuando BOOTPROTO se establece en ninguno?
Contexto: - Movimos los centros de datos y tuvimos que cambiar las direcciones IP en muchos de los servidores. Habíamos modificado /etc/resolv.conf
con las direcciones IP de los nuevos servidores DNS, pero por alguna razón, en algunos de los servidores /etc/resolv.conf
se borraron, o surgieron las antiguas direcciones IP DNS. En el /etc/init.d/network
guión lo veo está llamando a /etc/sysconfig/network-scripts/network-functions
la que tiene esta función. ¿Es este el culpable?
# 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;
}
¿Bajo qué circunstancias se llama esta función?
Sé que la configuración PEERDNS
para no
evitará que /etc/resolv.conf cambie, sin embargo, me gustaría saber si nuestro servidor había comenzado a buscar un servidor DHCP a pesar de que BOOTPROTO
estaba configurado none
y se especificó una dirección IP. ¿si es así por qué?
Reinicié los problemas del servidor con este problema varias veces para replicarlo nuevamente, pero el contenido de /etc/resolv.conf
no está cambiando ahora. ¿Qué pudo haber causado que se cambiara /etc/resolv.conf en el primer reinicio?
Podemos usar BOOTPROTO=static
? Leí que está en desuso. Nuestras máquinas son todas RHEL 6.5
fuente