BOOTPROTO = ninguno | estática | dhcp y /etc/resolv.conf

¿Qué significa cuando dice BOOTPROTO=none en el /etc/sysconfig/network-scripts/ifcfg-eth0 archivo.

Recuerdo que solía haber BOOTPROTO=static y fue muy claro y directo al decirnos que si Se proporciona una IPADDR=<x.x.x.x>, el servidor generará la dirección IP especificada. Asimismo, BOOTPROTO=dhcp 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. 
  • ¿Significa que si no especificamos la IP en el archivo ifcfg-eth0, buscará una Servidor DHCP y si se especifica una IP, recogerá esa IP estática?

  • ¿Cuáles son las posibilidades de que busque un servidor DHCP y modifique / etc / resolv. conf incluso si se especifica una dirección IP con IPADDR= cuando BOOTPROTO está configurado como none?

Contexto: – Movimos centros de datos y Tuvimos que cambiar las direcciones IP en muchos de los servidores. Modificamos /etc/resolv.conf con las direcciones IP de los nuevos servidores DNS, pero por alguna razón, en algunos de los servidores, el /etc/resolv.conf se borró, o aparecieron direcciones IP de DNS antiguas. En la secuencia de comandos /etc/init.d/network veo que está llamando a /etc/sysconfig/network-scripts/network-functions 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; } 

¿En qué circunstancias se llama esta función?

Lo sé ese ajuste a no evitará que /etc/resolv.conf cambie, sin embargo, me gustaría saber si nuestro servidor ha comenzado a buscar un servidor DHCP incluso aunque BOOTPROTO se configuró en none y se especificó una dirección IP? Si es así, ¿por qué?

Reinicié los problemas del servidor con este problema varias veces para replicar el problema nuevamente, pero el contenido de /etc/resolv.conf no está cambiando ahora. ¿Qué pudo haber causado que /etc/resolv.conf se cambiara en el primer reinicio?

¿Podemos usar BOOTPROTO=static? Leí que está obsoleto. Nuestras máquinas son todos RHEL 6.5

Respuesta

Si lee /etc/sysconfig/network-scripts/ifup-eth verá que la red usa DHCP si BOOTPROTO se establece en dhcp o bootp; de lo contrario, no utilizado:

if ["${BOOTPROTO}" = "bootp" -o "${BOOTPROTO}" = "dhcp" ]; then DYNCONFIG=true 

Más abajo, si DYNCONFIG no es nulo (y dhclient está disponible), los scripts intentan utilizar DHCP; de lo contrario, se intentará una dirección IP estática.

Usando grep -r BOOTPROTO * dentro de /etc no muestra nada más que el fragmento anterior, lo que sugiere que puede usar cualquier cosa en BOOTPROTO siempre que no sea uno de los dos anteriores.

Puede usar BOOTPROTO=static, pero si «nos dicen» que no es compatible, no puede garantizar t que funcionará así en el futuro. Además, no hará una diferencia en su problema – static o none harán que el script no use DHCP.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *