Script cambio de IP

Cuando se tiene un servidor que cambia de IP constantemente dado a que esta basado en una IP dinámica es difícil contar con el por que la única manera de saber cual es la IP que tiene es sentándote en frente de el y hacerle “ifconfig” para ver la dirección, ya se pueden imaginar las quejas ¿Cual es la ip del servidor? ¿No eran mejor las carpetas compartidas de Windows? LOL pues no! Claro si cuentas con un Network switch configurable simplemente asignas a una MAC una IP estática y se acabo el problema; el servidor tendrá siempre la misma IP; el caso es que no se cuenta con eso tampoco entonces para solucionar esto podemos hacer un Script que avise por correo si la IP cambio veamos como:

[code type=PHP]
#!/bin/bash
# Email de estatus
# (c) 2013 Rumbos Salomon Rafael Eduardo
# Se Libera bajo GPLv3
# Ver http://www.gnu.org

dhclient eth0
#LA IP VIEJA
ipvieja=`cat ip`
ipnueva=$(/sbin/ip -o -4 addr list eth0 | awk ‘{print $4}’ | cut -d/ -f1)
echo $ipnueva > /root/ip
echo “La IP del servidor interno es: $ipnueva” > /root/reporte.txt
if [ “$ipvieja” = “$ipnueva” ]; then
echo “LA IP ES LA MISMA”
else
echo “ENVIANDO CORREO”

asunto=”IP SERVIDOR INTERNO”
emaildir=”rafaeleduardo@esdebian.org,gerencia@gerencia.com”
mensaje=”/root/reporte.txt”
/usr/bin/mail -s “$asunto” “$emaildir” < $mensaje rm /root/reporte.txt fi [/code]

Claro que para que esto funcione tendrán que configurar Exim4 para que use un smarthost conectándose a un SMTP externo o interno, entonces se crea un registro y luego se actualiza y se comparan las IPs si son diferentes se envía un correo a los interesados con la nueva dirección y listo, luego se hace una tarea en el demonio CRON para que se ejecute el programa que se yo cada 5 horas algo como esto servirá:

crontab -e
0 */01 * * * sh /root/script.sh

Y listo con eso cerramos el post. Nos vemos en el espejo X )

Leave a Comment