Check_netz
Im Rahmen des inside-network Projektes der lug-gg habe ich 2005 dieses Utility geschrieben.Wenn ein Container für eine virtuelle Machine copiert wird sollten danach der Hostname
und verschiedene Dateien angepasst werden.
Ein Script kann helfen, keine Datei zu vergessen.
Evtl müssen Sie heute noch etwas anpassen.
Download script : check_netz.tar.gz
# ------------------------------------------------------------------- # # (c) 2005 Detlef Hahn # Versionlog # 29.11.2005 Detlef Hahn Originalversion Lokales Netz funktioniert # # ------------------------------------------------------------------- CUUP=`tput cuu1` CLR_EOS=`tput ed` blue="[37;44m" grev="[39;42m" # gruen und rev grey="[30;47m" # schwarz auf grau norm="[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 "[37;44m"$clr_eol "[1m" Datum : $(date '+%d.%m.%y')$(tput cup 0 $p) $1 $(tput cup 0 54) Uhrzeit : $(date '+%H:%M')"[0m" echo "[35;47m"$clr_eol "[1m" `uname -a` "[0m" echo } show() { echo "[37;44m"$clr_eol "[1m" $1"[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 "$1 (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\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" fi echo " --------------------------------------------------------------------- " echo echo ${blue} ifconfig echo ${norm} prompt_jn "wurden alle Netzwerkkarten richtig erkannt und haben sie die richtige IP ?" if [ "$?" = "1" ] ; then echo "bitte in /etc/interfaces korrigieren" exit 1 fi echo " --------------------------------------------------------------------- " echo echo "Wir versuchen jetzt den Rechner ueber seine ${grev} lokale IP 127.0.0.1 ${norm} anzusprechen" echo ${blue} ping -c 2 127.0.0.1 echo ${norm} prompt_jn "Hat das funktioniert ?" if [ "$?" = "1" ] ; then echo "Hm, " exit 1 fi echo " --------------------------------------------------------------------- " echo echo "Wir versuchen jetzt den Rechner ueber den Namen ${grev} localhost ${norm} anzusprechen" echo ${blue} ping -c 2 localhost echo ${norm} prompt_jn "Hat das funktioniert ?" if [ "$?" = "1" ] ; then echo ${blue} grep '127.0.0.1' /etc/hosts echo ${norm} prompt_jn "ist der localhost der IP 127.0.0.1 in der Datei /etc/hosts richtig zugeordnet " if [ "$?" = "1" ] ; then echo "Bitte in ${red} /etc/host ${norm} den Eintrag richtig setzen" echo "${blue} 127.0.0.1 localhost $(uname -n) ${norm}" exit 1 fi echo " --------------------------------------------------------------------- " echo echo ${blue} cat /etc/host.conf echo ${norm} echo "/etc/host.conf muss die Eintraege:" echo $grey echo "order host,bind" echo "multi on" echo ${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 "Wir versuchen jetzt den Rechner ueber den Namen ${grev} $(uname -n) ${norm} anzusprechen" echo ${blue} ping -c 2 `uname -n` stat=$? echo ${norm} if [ $stat -eq 0 ] ; then echo ${blue} echo " --------------------------------------------------------------------- " echo echo " Gratulation, das lokale Netz funktioniert!" echo " --------------------------------------------------------------------- " echo ${norm} else echo "Da scheint noch etas mit der Namesauflösung (DNS) nicht zu stimmen" fi