V6rgudiagnoosiskript

From ICO wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Skript, mis kontrollib võrguühenduse olemasolu.
- kas võrguliides on olemas
- kas võrguliidesel on olemas IP, GW, DNS
- kas on ühendus GW'ga
- kas on ühendus nimeserveriga
- kas saab midagi Eesti serverist kätte
- kas saab midagi rahvusvahelistest vetest alla sikutada

- võrguliidese restart
- kui ühendus pole taastunud, siis logi sisse ruuterisse ja tee sellele restart (eraldi skript)



#!/bin/sh

viga='0'
liides=`/sbin/route | grep default | awk '{print $8}'`
echo 'Ruutingu tabeli järgi paistab, et vaikimisi kasutatakse liidesest' $liides

ip=`/sbin/ip addr show eth0 | grep inet| awk '{print $2}' | head -c -4`
echo 'Liidese' $liides 'all on IP aadressiks' $ip

#GW KONTROLL
gw=`/sbin/route | grep default | awk '{print $2}'`
gwping=`/bin/ping -c 1 $gw | grep received | awk '{print $4}'`
#echo 'gw =' $gw

if [ `/bin/ping -c 1 $gw | grep received | awk '{print $4}'` == "1" ]; then
                echo 'Gateway' $gw 'vastab pingile'
        else
                echo '!!! Gateway' $gw 'ei vasta pingile !!!'
		viga='1'
fi
echo ''

#NS KONTROLL
ipd=`cat /etc/resolv.conf | grep nameserver | awk '{print $2}'`
for i in $ipd; do
	if [ `/bin/ping -c 1 $i | grep received | awk '{print $4}'` == "1" ]; then
		echo 'Nimeserver' $i 'vastab pingile'
	else
		echo '!!! Nimeserver' $i 'ei vasta pingile !!!'
		viga='1'
	fi
done
echo ''

#KODUMAISE LEHE WGET
echo 'Laen alla www.neti.ee avalehte'
wget -O /dev/null www.neti.ee -t 1 -T 3 -o /dev/null

if [ $? != "0" ]; then
	echo '    !!! Sellega on probleem !!!'
	viga='1'
else
	echo 'OK'
fi

#V2LISMAISE LEHE WGET
echo 'Laen alla www.google.com avalehte'
wget -O /dev/null www.google.com -t 1 -T 3 -o /dev/null

if [ $? != "0" ]; then
	echo '    !!! Sellega on probleem !!!'
	viga='1'
else
	echo 'OK'
fi

echo ''

echo '#########################################################################'
if [ $viga == "1" ]; then
                echo 'Võrguyhendusel on mingi probleem. Kas soovid v6rguliidest restartida? y/n'
		read restartida
		if [ $restartida == "y" ]; then
			echo ''
			echo 'Liides' $liides 'lylitatakse v2lja'
			echo ''
			ifdown $liides
			echo ''
			echo 'Liides' $liides 'k2ivitatakse uuesti'
			echo ''
			ifup $liides
		fi
        else
                echo 'V6rguyhendusel ei leitud vigu'
fi
echo '#########################################################################'