001: 002: 003: 004: 005: 006: 007: 008: 009: 010: 011: 012: 013: 014: 015: 016: 017: 018: 019: 020: 021: 022: 023: 024: 025: 026: 027: 028: 029: 030: 031: 032: 033: 034: 035: 036: 037: 038: 039: 040: 041: 042: 043: 044: 045: 046: 047: 048: 049: 050: 051: 052: 053: 054: 055: 056: 057: 058: 059: 060: 061: 062: 063: 064: 065: 066: 067: 068: 069: 070: 071: 072: 073: 074: 075: 076: 077: 078: 079: 080: 081: 082: 083: 084: 085: 086: 087: 088: 089: 090: 091: 092: 093: 094: 095: 096: 097: 098: 099: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208:
|
#!/bin/bash
# -------------------------------------------------------------------
#
# (c) 2005 Detlef Hahn
# Versionlog
# 29.11.2005 Detlef Hahn Originalversion Lokales Netz funktioniert
#
# -------------------------------------------------------------------
clear
ESC="\033"
CLR_EOS=`tput ed`
blue="${ESC}[37;44m"
grev="${ESC}[39;42m" # gruen und rev
grey="${ESC}[30;47m" # schwarz auf grau
red="${ESC}[37;41m" # weiss auf red
norm="${ESC}[0m"
# --------------------------------------------------------------------
# Functions muessen vor der Verwendung deklariert werden
# --------------------------------------------------------------------
kopf() {
typeset -i p
len={#1}
rev=$(tput smso) #terminal capabilities zuweisen
#norm=$(tput rmso)
clr_eol=$(tput el)
((p=(32-l)/2+17))
clear
echo -e "${ESC}[37;44m"$clr_eol "${ESC}[1m" Datum : $(date '+%d.%m.%y')$(tput cup 0 $p) $(tput cup 0 54) Uhrzeit : $(date '+%H:%M')"${ESC}[0m"
echo -e "${ESC}[35;47m"$clr_eol "${ESC}[1m" `uname -a` "${ESC}[0m"
echo
}
show() {
echo -e "${ESC}[37;44m"$clr_eol "${ESC}[1m" "${ESC}[0m"
}
# -----------------------------------------------------------------------------------------------------------
#Prompt mit Argumenten
# Eingabe cmd
# q oder Q = Return wert 1
# -x oder + x Toggle Debug Mode
#!cmd Shell escape (cmd wird ausgefuehrt)
#alles andere wird in $cmd zurueckgegeben
# --------------------------------------------
prompt_jn() {
abr=${quit:-"exit 1"}
while echo "${*} oder (q/Q) fuer $abr: \c" >&2
read cmd
do
case $cmd in
+x|-x) set $cmd ;;
Q|q) return 1 ;;
!*) eval `expr "$cmd" : "!(.*\)"` ;;
*) return 0
esac
done
}
prompt_jn() {
i=0
while echo -n " (j/n) "
read antw
do
case $antw in
j|J) return 0 ;;
n|N) return 1 ;;
*) echo "Wer lesen kann ist klar im Vorteil"
(( i = i + 1 ))
if [[ $i -gt 3 ]]
then
echo "hoffnungslos! wir geben auf"
exit 1
fi
;;
esac
done
}
cont() {
echo "Fortsetzung durch <CR> \c"
read dummy
if [ "${dummy}" -eq "q" }
then
exit 1
fi
echo "${CUUP}${CLR_EOS}\c"
}
kopf "Netzwerk Pruefung"
echo "Folgende Dateien und Verzeichnisse sind im Zusammenhang mit Netzwerk wichtig"
echo /etc/
echo " hostname hosts resolv.conf "
echo /etc/network
echo " interfaces options [start_mask]"
echo " ---------------------------------------------------------------------------------- "
#echo -e ${blue}
show "Systemname = `uname -n`"
show /etc/hostname=`cat /etc/hostname`
echo -e ${norm}
prompt_jn "hat der Rechner den richtigen Namen"
if [ "$?" = "1" ] ; then
echo "bitte in /etc/hostname korrigieren"
echo
cat /etc/hostname
fi
echo " ---------------------------------------------------------------------------------- "
echo
echo -e ${blue}
/sbin/ifconfig
echo -e ${norm}
prompt_jn "wurden alle Netzwerkkarten richtig erkannt und haben sie die richtige IP ?"
if [ "$?" = "1" ] ; then
show "/etc/network/interfaces"
echo -e ${grey}
cat /etc/network/interfaces
echo -e ${norm}
echo -e "bitte in ${red} /etc/network/interfaces ${norm} korrigieren"
exit 1
fi
echo " ---------------------------------------------------------------------------------- "
echo
echo -e "Wir versuchen jetzt den Rechner ueber seine ${grev} lokale IP 127.0.0.1 ${norm} anzusprechen"
echo -e ${blue}
ping -c 2 127.0.0.1
echo -e ${blue} ${ret} ${norm}
prompt_jn "Hat das funktioniert ?"
if [ "$?" = "1" ] ; then
echo "Hm, "
exit 1
fi
echo " ---------------------------------------------------------------------------------- "
echo
echo -e "Wir versuchen jetzt den Rechner ueber den Namen ${grev} localhost ${norm} anzusprechen"
echo -e ${blue}
ping -c 2 localhost
echo -e ${norm}
prompt_jn "Hat das funktioniert ?"
if [ "$?" = "1" ] ; then
echo -e ${blue}
grep '127.0.0.1' /etc/hosts
echo -e ${norm}
prompt_jn "ist der localhost der IP 127.0.0.1 in der Datei /etc/hosts richtig zugeordnet "
if [ "$?" = "1" ] ; then
echo -e "Bitte in ${red} /etc/host ${norm} den Eintrag richtig setzen"
echo -e "${blue} 127.0.0.1 localhost $(uname -n) ${norm}"
exit 1
fi
echo " ---------------------------------------------------------------------------------- "
echo
echo -e ${blue}
cat /etc/host.conf
echo -e ${norm}
echo "/etc/host.conf muss die Eintraege:"
echo -e $grey
echo "order host,bind"
echo "multi on"
echo -e ${norm}
echo enthalten
prompt_jn "sind diese Eintraege gesetzt? "
if [ "$?" = "1" ] ; then
echo "Bitte in /etc/host.conf der Eintrag richtig setzen"
exit 1
fi
fi
echo " ---------------------------------------------------------------------------------- "
echo
echo -e "Wir versuchen jetzt den Rechner ueber den Namen ${grev} $(uname -n) ${norm} anzusprechen"
echo -e ${blue}
ping -c 2 `uname -n`
stat=$?
echo -e ${norm}
if [ $stat -eq 0 ] ; then
echo -e ${blue}
echo " ---------------------------------------------------------------------------------- "
echo
echo " Gratulation, das lokale Netz funktioniert, die Grundfunktionalität ist vorhanden!"
echo " ---------------------------------------------------------------------------------- "
echo -e ${norm}
else
echo "Da scheint noch etwas mit der Namesauflösung (DNS) nicht zu stimmen"
fi
|