#!/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