
Tengo algunos sistemas CentOS 6/7 (no de producción, con fines experimentales) que se han configurado para usar DHCP para su dirección IP. La semana pasada hubo una gran interrupción en la red y descubrí que esos sistemas habían perdido su dirección IP y el cliente DHCP había terminado. Supongo que después de demasiados o demasiado largos intentos.
Cuál es eladecuado¿Cómo hacer que intente recuperarse para siempre? ¿Existe alguna configuración de cliente dhcp que pueda hacer esto? ¿O debería agregar una entrada cron que haga algo como 'ifup eth0' cada hora? ¿O hay una manera mucho mejor de hacer esto?
Sé que CentOS 6 y CentOS 7 hacen estas cosas de manera diferente y estoy buscando respuestas para ambos casos.
Actualizar:
Por ahora he creado este script (que puse en /etc/cron.hourly/ ) que parece funcionar en la situación específica de CentOS 6. Probablemente esta no sea la mejor solución, pero "Funciona en mi máquina".
#!/bin/bash
IF=eth0
ifconfig ${IF} | fgrep 'inet addr' > /dev/null
if [ $? -ne 0 ];
then
echo "Network is dead, trying restart"
ifup ${IF}
fi
Sigo buscando la forma correcta de hacer esto, así que no creo que esta sea la respuesta correcta a mi pregunta.
Respuesta1
Tanto CentOS 6 como 7 deberían aceptar la opción PERSISTENT_DHCLIENT dentro de los archivos /etc/sysconfig/network-scripts/ifcfg*.
# /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=dhcp
PERSISTENT_DHCLIENT=yes
ONTBOOT=yes
DEVICE=eth0
Esto indica al script ifup-eth que ejecute dhclient sin el (predeterminado)-1opción
if is_true "${PERSISTENT_DHCLIENT}"; then
ONESHOT="";
else
ONESHOT="-1";
fi;
...
DHCLIENTARGS="${DHCLIENTARGS} ${ONESHOT} -q ${DHCLIENTCONF} -lf ${LEASEFILE} -pf /var/run/dhclient-${DEVICE}.pid"
Con esa opción, dhclient lo intentará una vez. Desde la página de manual
-1 Try once to get a lease. One failure, exit with code 2.
Sin esa opción, dhclient debería volver a intentarlo ocasionalmente (cada 5 minutos de forma predeterminada) desde la página de manual dhclient.conf.
retry time;
The retry statement determines the time that must pass after the client
has determined that there is no DHCP server present before it tries
again to contact a DHCP server. By default, this is five minutes.