init
This commit is contained in:
186
check_DNS.sh
Executable file
186
check_DNS.sh
Executable file
@@ -0,0 +1,186 @@
|
||||
#!/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
|
||||
|
||||
Reference in New Issue
Block a user