Files
scripts-conlxsyslog03/check_DNS.sh
conetadm 5718e70f15 init
2024-11-14 21:11:06 +01:00

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