Check Netz

Dieses Script zeigt rudimentär ob das Netz richtig konfiguriert ist.

check_netz-1.jpg


check_netz-2.jpg


check_netz-3.jpg


check_netz-4.jpg



Download script : check_netz.tar.gz



Sourcecode check_netz:
code:
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




    Copyright © 2005 - 2012 by Detlef Hahn  http://www.detlefhahn.de         Stand  24.07.07 11:58