[Eisfair] E wie einfacher - Vorschlag zu internen Gateway/DNS/link Kontrolle.
Marcus Roeckrath
marcus.roeckrath at gmx.de
Mo Apr 17 18:38:37 CEST 2017
Hallo Kay,
kay wrote:
>> Ich überwache in meinem Schulnetz die externe Verfügbarkeit des
>> Internets, da sich unsere ältere Fritzbox schonmal gerne weghängt, obwohl
>> das nun nicht mehr der Fall ist, seit sie einmal pro Nacht rebootet wird.
Hier mein Skript, das nur einmal pro Statuswechsel (Verbindung ok,
Verbindung verloren) eine Mail sendet.
#!/bin/sh
# include eislib etc.
. /var/install/include/eislib
localnet=/tmp/localnet.alive
internet=/tmp/internet.alive
generate_eximconf=/var/spool/exim/configure
HOSTNAME=`hostname`
SENDMAIL='/usr/sbin/sendmail'
SMTP_QUALIFY_DOMAIN=`sed -n 's/^qualify_domain *= *//p' \
${generate_eximconf}`
send_alert_email ()
{
. /var/install/include/eistime
{
echo "From: NetworkCheck <root@${SMTP_QUALIFY_DOMAIN}>"
echo "To: Administrator <root@${SMTP_QUALIFY_DOMAIN}>"
echo "Subject: ${1} on '${HOSTNAME}'"
echo "Content-Type: text/plain; charset=us-ascii"
echo "Content-Transfer-Encoding: 8bit"
echo
echo "Dispatched from network checker on server '${HOSTNAME}'"
echo "Current Date: ${EISDATE} Time: ${EISTIME}"
echo
echo "${1}"
} | ${SENDMAIL} postmaster@${SMTP_QUALIFY_DOMAIN}
}
if [ -f ${localnet} ] ; then
if `ping -c 3 -W 5 <gateway ip> | grep -q "100% packet loss"` ; then
send_alert_email "Local network connection down"
rm -f ${localnet}
fi
else
if ! `ping -c 3 -W 5 <gateway ip> | grep -q "100% packet loss"`; then
send_alert_email "Local network connection alive"
touch ${localnet}
fi
fi
if [ -f ${internet} ] ; then
if ! nslookup www.heise.de > /dev/null 2>&1 ; then
send_alert_email "Internet connection down"
rm -f ${internet}
fi
else
if nslookup www.heise.de > /dev/null 2>&1 ; then
send_alert_email "Internet connection alive"
touch ${internet}
fi
fi
exit 0
Vielleicht ist es eine Anregung für dich.
Der nslookup auf eine externe Adresse; ich mache keinen Check, ob der
interne DNS und ein ping auf eine externe Adresse funktioniert.
Wenn Du das aufteilen willst, läßt sich das wie mit dem Ping auf das Gateway
realisieren.
--
Gruss Marcus
Mehr Informationen über die Mailingliste Eisfair