187 lines
4.4 KiB
Bash
Executable File
187 lines
4.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Fehlercodes
|
|
#RET 0:ok 1:warn 2:crit
|
|
# VPN LTG IPs erreichbar RET Str
|
|
# 0|0 up up alle 0 alles ok
|
|
# 1|0 up down alle 1 Ltg down, VPN up, alle IPs erreichbar
|
|
# 2|0 down up alle 0 alles ok
|
|
# 3|0 down down alle 2 Ltg down, VPN down, alle IPs erreichbar. !!! FEHLER im CHECK !!! Impossible !!!
|
|
# 0|x up up nicht alle 2 IP xyz down
|
|
# 1|x up down nicht alle 2 Ltg down, IP ...
|
|
# 2|x down up nicht alle 2 VPN down, IP ...
|
|
# 3|x down down nicht alle 2 Ltg down, VPN down, IP ...
|
|
|
|
COUNT=0
|
|
IA=0
|
|
IP=0
|
|
EA=0
|
|
EP=0
|
|
ERR=
|
|
|
|
intDNS1=10.101.0.101
|
|
intDNS2=10.101.0.102
|
|
intDNS3=10.101.0.1
|
|
intDNS4=10.101.0.15
|
|
|
|
intIP1=10.1.1.3
|
|
intIP2=10.1.1.3
|
|
intHost1=con2k8ex2.conacc.local
|
|
intHost2=conlxmail5.conet-services.de
|
|
|
|
|
|
extDNS1=8.8.8.8
|
|
extDNS2=8.8.4.4
|
|
extDNS3=8.8.8.8
|
|
extDNS4=8.8.4.4
|
|
|
|
extIP1=195.20.133.148
|
|
extIP2=8.8.8.8
|
|
extHost1=conlxmail5.conet-services.de
|
|
extHost2=www.web.de
|
|
|
|
|
|
STAT=
|
|
|
|
################################################################################
|
|
#Intern A
|
|
nslookup $intIP1 $intDNS1 > /dev/null 2>&1
|
|
if [ "$?" == "1" ]; then
|
|
((IA=$IA+1))
|
|
STAT="$intIP1 via $intDNS1. "
|
|
fi
|
|
|
|
nslookup $intIP1 $intDNS2 > /dev/null 2>&1
|
|
if [ "$?" == "1" ]; then
|
|
((IA=$IA+2))
|
|
STAT=$STAT"$intIP1 via $intDNS2. "
|
|
fi
|
|
|
|
nslookup $intIP2 $intDNS3 > /dev/null 2>&1
|
|
if [ "$?" == "1" ]; then
|
|
((IA=$IA+4))
|
|
STAT=$STAT"$intIP2 via $intDNS3. "
|
|
fi
|
|
|
|
nslookup $intIP2 $intDNS4 > /dev/null 2>&1
|
|
if [ "$?" == "1" ]; then
|
|
((IA=$IA+8))
|
|
STAT=$STAT"$intIP2 via $intDNS4. "
|
|
fi
|
|
|
|
################################################################################
|
|
#Intern PTR
|
|
nslookup $intHost1 $intDNS1 > /dev/null 2>&1
|
|
if [ "$?" == "1" ]; then
|
|
((IP=$IP+1))
|
|
STAT=$STAT"$intHost1 via $intDNS1. "
|
|
fi
|
|
|
|
nslookup $intHost1 $intDNS2 > /dev/null 2>&1
|
|
if [ "$?" == "1" ]; then
|
|
((IP=$IP+2))
|
|
STAT=$STAT"$intHost1 via $intDNS2. "
|
|
fi
|
|
|
|
nslookup $intHost2 $intDNS3 > /dev/null 2>&1
|
|
if [ "$?" == "1" ]; then
|
|
((IP=$IP+4))
|
|
STAT=$STAT"$intHost2 via $intDNS3. "
|
|
fi
|
|
|
|
nslookup $intHost2 $intDNS4 > /dev/null 2>&1
|
|
if [ "$?" == "1" ]; then
|
|
((IP=$IP+8))
|
|
STAT=$STAT"$intHost2 via $intDNS4. "
|
|
fi
|
|
|
|
################################################################################
|
|
#Extern A
|
|
nslookup $extIP1 $extDNS1 > /dev/null 2>&1
|
|
if [ "$?" == "1" ]; then
|
|
((EA=$EA+1))
|
|
STAT="$extIP1 via $extDNS1. "
|
|
fi
|
|
|
|
nslookup $extIP1 $extDNS2 > /dev/null 2>&1
|
|
if [ "$?" == "1" ]; then
|
|
((EA=$EA+2))
|
|
STAT=$STAT"$extIP1 via $extDNS2. "
|
|
fi
|
|
|
|
nslookup $extIP2 $extDNS3 > /dev/null 2>&1
|
|
if [ "$?" == "1" ]; then
|
|
((EA=$EA+4))
|
|
STAT=$STAT"$extIP2 via $extDNS3. "
|
|
fi
|
|
|
|
nslookup $extIP2 $extDNS4 > /dev/null 2>&1
|
|
if [ "$?" == "1" ]; then
|
|
((EA=$EA+8))
|
|
STAT=$STAT"$extIP2 via $extDNS4. "
|
|
fi
|
|
|
|
################################################################################
|
|
#Extern PTR
|
|
nslookup $extHost1 $extDNS1 > /dev/null 2>&1
|
|
if [ "$?" == "1" ]; then
|
|
((EP=$EP+1))
|
|
STAT=$STAT"$extHost1 via $extDNS1. "
|
|
fi
|
|
|
|
nslookup $extHost1 $extDNS2 > /dev/null 2>&1
|
|
if [ "$?" == "1" ]; then
|
|
((EP=$EP+2))
|
|
STAT=$STAT"$extHost1 via $extDNS2. "
|
|
fi
|
|
|
|
nslookup $extHost2 $extDNS3 > /dev/null 2>&1
|
|
if [ "$?" == "1" ]; then
|
|
((EP=$EP+4))
|
|
STAT=$STAT"$extHost2 via $extDNS3. "
|
|
fi
|
|
|
|
nslookup $extHost2 $extDNS4 > /dev/null 2>&1
|
|
if [ "$?" == "1" ]; then
|
|
((EP=$EP+8))
|
|
STAT=$STAT"$extHost2 via $extDNS4. "
|
|
fi
|
|
|
|
################################################################################
|
|
|
|
if [ "$IA" == "0" ] && [ "$IP" == "0" ] && [ "$EA" == "0" ] && [ "$EP" == "0" ]; then
|
|
echo "alles ok"
|
|
exit 0;
|
|
elif [ "$IA" == "15" ] || [ "$IP" == "15" ] || [ "$EA" == "15" ] || [ "$EP" == "15" ]; then
|
|
if [ "$IA" == "15" ]; then
|
|
ERR="internal A record error. "
|
|
fi
|
|
if [ "$IP" == "15" ]; then
|
|
ERR=$ERR"internal PTR record error. "
|
|
fi
|
|
if [ "$EA" == "15" ]; then
|
|
ERR=$ERR"external A record error. "
|
|
fi
|
|
if [ "$EP" == "15" ]; then
|
|
ERR=$ERR"external P record error. "
|
|
fi
|
|
echo $ERR$STAT
|
|
exit 2;
|
|
else
|
|
if [ "$IA" != "0" ]; then
|
|
ERR="internal A record warning. "
|
|
fi
|
|
if [ "$IP" != "0" ]; then
|
|
ERR=$ERR"internal PTR record warning. ";
|
|
fi
|
|
if [ "$EA" != "0" ]; then
|
|
ERR=$ERR"external A record warning. ";
|
|
fi
|
|
if [ "$EP" != "0" ]; then
|
|
ERR=$ERR"external P record warning. ";
|
|
fi
|
|
echo $ERR"Cannot resolve: "$STAT
|
|
exit 1;
|
|
fi
|
|
|