• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Wie komme ich ins WWW mit OPENSUSE 10.2 ???

Silke

Newbie
=== Wie komme ich ins WWW mit OPENSUSE 10.2 ??? ===


Erkannt wurde unter YAST die Netzwerkkarte "MicroStar
International VT6105 (Rhine-III)" mit der IP-Adresse DHCP
Geräte-Name:.............. die beim Booten automatisch gestartet
wird über die per DHCP zugewiesene IP-Adresse. -s. auch 1)-

Die Einwahl soll über ein T-Online-DSL-Modem erfolgen "Teledat
302", welches als DSL-Gerät "PPP über Ethernet" ebenfalls
angesprochen wird.
T-Online bietet für Linux lt. Auskunft der "Hotline" keinen
Support (Stand: 13.09.07).

Die Einwahldaten sind defenitiv richtig (identisch den
WIN-Einwahldaten).

Der Firefox aber will keine Seite anzeigen ("Zugang nicht
möglich") und auch in der Taskleiste erscheint kein Icon, "das
einen Stromstecker anzeigt, der bei Verbindung einen
zusätzlichen gelben Blitz erscheinen läßt" (sinngem. Zitat aus
"SUSE LINUX 10.X" von Hans-Georg Eßer).

Einen Neustart von SUSE hatte ich gemacht.

Was mache ich noch falsch?

1) Eine weitere Karte ist noch eingebaut und wurde erkannt:
"Creatix Polymedia ISL3886 (Prism Jovelin/Prism Xbow)"
mit ähnlichen Kennungen wie die "MicroStar"-Ethernet-Karte.
Jedoch ist die "Creatix" eine W-LAN-Karte und daher von mir
weggeschaltet, besitze ich doch keinen Router.



Unter WIN gehe ich per PPoE ins Netz; hier hat sich noch ein
"Virtual Machine Network Services Driver" installiert:
1394-Verbindung (Netzwerkadapter) VIA OHCI-konformer IEEE 1394
Host Controller.



Denn zunächst möchte ich SUSE auf den neuesten Stand bringen und
mich dann erst den einzelnen Programmen widmen, diese einstellen
nach meinen Wünschen oder (zunächst) überflüssige vorläufig
deinstallieren.



Kann und will mir jemand helfen..... ? :?
 

spoensche

Moderator
Teammitglied
bist du als benutzer in der gruppe dialout?
hast du kinternet per yast installiert?

alternativ: http://wiki.linux-club.de/DSL
 
OP
S

Silke

Newbie
spoensche schrieb:
bist du als benutzer in der gruppe dialout?
hast du kinternet per yast installiert?

alternativ: http://wiki.linux-club.de/DSL



Danke erst einmal für Deine Antwort und die anscheinend sehr hilfreiche URL, welche Du postetest. Diese werde ich mir morgen "zu Gemüte führen". :)

Was ist "dialout"? Ich fahre den PC hoch, wähle im Bootmanager SUSE und bin alsbald in LINUX.

Was ist "kinternet"?

Du, seit heute erst beschäftige ich mich mit LINUX, habe gerade mal OPENSUSE 10.2 installiert, zusätzlich zu WINXP und quäle mich seither ab mit dem Einrichten einer simplen Internet-Verbindung.

Hab´ mir das erheblichst einfacher vorgestellt...... :twisted:

Nun, wird schon irgendwie klappen, aber für heute will ich nicht mehr und schaue mir anschl. erst einmal auf "Super-RTL" die Sendung "Uups!" an, auf daß ich sehe: Ich bin nicht die einzige Doofe. :p

Wie gesagt: Nochmals Dank an Dich. Und: Drücke mir bitte die Daumen, daß es dann morgen mit der WWW-Verbindung klappt. Denn die eigentlichen Arbeits-Programme unter OPENSUSE machen mir zunächst weniger Sorgen.

Vielleicht bin ich da jetzt endgültig zu blauäugig..... :shock:
 

Anthony

Member
Was ist "dialout"?

Die Gruppe dialout gibt dir die Berechtigung dich ins Internet einzuwählen. Du musst in dieser Gruppe sein, um eine Verbindung zum Internet aufbauen zu können.

Poste mal bitte die Ausgabe von
Code:
/usr/bin/groups
Gib dies einfach in eine Konsole (oder auch Terminal genannt) z.B. X-Terminal ein.

Was ist "kinternet"?

Kinternet ist das Programm, welches den Stecker in das Panel hinzufügt. Mit diesem Programm kannst du dich am einfachsten ins Internet einwählen.



mfg Anthony
 
OP
S

Silke

Newbie
Anthony schrieb:
Was ist "dialout"?

Die Gruppe dialout gibt dir die Berechtigung dich ins Internet einzuwählen. Du musst in dieser Gruppe sein, um eine Verbindung zum Internet aufbauen zu können.

Poste mal bitte die Ausgabe von
Code:
/usr/bin/groups
Gib dies einfach in eine Konsole (oder auch Terminal genannt) z.B. X-Terminal ein.

Da kam heraus:
nordler@linux-~e0sb:~> und users dialouot video


Was ist "kinternet"?

Kinternet ist das Programm, welches den Stecker in das Panel hinzufügt. Mit diesem Programm kannst du dich am einfachsten ins Internet einwählen.

Tat ich. Ergebnis: "Der angegebene Befehl läßt sich nicht ausführen."
Obzwahr "kinternet" bei der DSL-Einrichtung positiv abgehakt wurde....
 
OP
S

Silke

Newbie
Silke schrieb:
spoensche schrieb:
bist du als benutzer in der gruppe dialout?

"users dialouot video" war die Antwort


hast du kinternet per yast installiert?

Wo bekomme ich "kinternet" her?


alternativ: http://wiki.linux-club.de/DSL




Das Programm "kinternet" ist nun drauf. Auch das Einwahlsymbol wird in der Taskleiste angezeigt, selbst der gelbe Einwahlpfeil darüber erescheint kurz.

Eine WEB-Einwahl aber ist immer noch nicht möglich.

Hierzu photographierte ich das Einwahlprotokoll und stellte das Bild ins WEB unter:

http://cocoshare.cc/183726517/33450001.JPG


(Noch mit elektronischer Kamera, da ich für OPENSUSE noch kein Screenshot-Programm kenne, geschweige denn am ersten Tag beherrsche.)

Vielleicht hilft es weiter und Du oder ein Mitleser kann mir nun einen Weg ins WWW zeigen. :arrow:
 
OP
S

Silke

Newbie
Silke schrieb:
Anthony schrieb:
Was ist "dialout"?

Die Gruppe dialout gibt dir die Berechtigung dich ins Internet einzuwählen. Du musst in dieser Gruppe sein, um eine Verbindung zum Internet aufbauen zu können.

Poste mal bitte die Ausgabe von
Code:
/usr/bin/groups
Gib dies einfach in eine Konsole (oder auch Terminal genannt) z.B. X-Terminal ein.

Da kam heraus:
nordler@linux-~e0sb:~> und users dialouot video


Was ist "kinternet"?

Kinternet ist das Programm, welches den Stecker in das Panel hinzufügt. Mit diesem Programm kannst du dich am einfachsten ins Internet einwählen.

Tat ich. Ergebnis: "Der angegebene Befehl läßt sich nicht ausführen."
Obzwahr "kinternet" bei der DSL-Einrichtung positiv abgehakt wurde....




Das Programm "kinternet" ist nun drauf. Auch das Einwahlsymbol wird in der Taskleiste angezeigt, selbst der gelbe Einwahlpfeil darüber erescheint kurz.

Eine WEB-Einwahl aber ist immer noch nicht möglich.

Hierzu photographierte ich das Einwahlprotokoll und stellte das Bild ins WEB unter:

http://cocoshare.cc/183726517/33450001.JPG


(Noch mit elektronischer Kamera, da ich für OPENSUSE noch kein Screenshot-Programm kenne, geschweige denn am ersten Tag beherrsche.)

Vielleicht hilft es weiter und Du oder ein Mitleser kann mir nun einen Weg ins WWW zeigen. :arrow:
 

beleg

Member
Wähle in Yast bei der DSL-Einrichtung T-Online als Provider aus. Dann kannst Du ganz bequem Anschlusskennung, T-Online-Nummer, Mitbenutzernummer und persönliches Kennwort eingeben.
Der Screenshot lässt nämlich tatsächlich darauf schliessen, dass beim Einwahlversuch falsche Zugangsdaten verwendet werden. Wenn also die Zugangsdaten schon eingegeben wurden, dann einfach nochmal eingeben. Es ist nicht auszuschließen, dass man sich bei Anschlusskennung oder Kennwort mal vertippt. Das ist eine sehr häufiger Fehlerursache.
 

Gimpel

Guru
Erkannt wurde unter YAST die Netzwerkkarte "MicroStar
International VT6105 (Rhine-III)" mit der IP-Adresse DHCP
Geräte-Name:.............. die beim Booten automatisch gestartet
wird über die per DHCP zugewiesene IP-Adresse. -s. auch 1)-

Also wenn ich das Wirrwarr jetzt richtig verstanden habe, will dhcp deiner Ethernetkarte eine IP zuweisen beim booten.
Gleichzeitig willst du aber mit PPPoverEthernet ins Netz.

Das kann ja nicht funktionieren.
 
OP
S

Silke

Newbie
beleg schrieb:
Wähle in Yast bei der DSL-Einrichtung T-Online als Provider aus. Dann kannst Du ganz bequem Anschlusskennung, T-Online-Nummer, Mitbenutzernummer und persönliches Kennwort eingeben.
Der Screenshot lässt nämlich tatsächlich darauf schliessen, dass beim Einwahlversuch falsche Zugangsdaten verwendet werden. Wenn also die Zugangsdaten schon eingegeben wurden, dann einfach nochmal eingeben. Es ist nicht auszuschließen, dass man sich bei Anschlusskennung oder Kennwort mal vertippt. Das ist eine sehr häufiger Fehlerursache.



Das stimmt, ist mir ja auch ab und an passiert. Danke zunächst für Deine Antwort!

Alle Zugangsdaten prüfte ich nun x-fach und freilich anhand der Original-Unterlagen.

Inzwischen funktioniert die Einwahl und der Stecker nebst gelbem Verbindungsblitz wird ebenfalls in der Taskleiste angezeigt, auch ist Verbindungstrennung möglich,so daß dieser Blitz verschwindet.

Nur: Keine einzige Website wird mir vom Firefox angezeigt. Die Verbindung steht, die Netzwerkkarten- und DSL-Einrichtung verlief reibungslos, die Verbindung wird störungsfrei gewährt - und nun haperts am Firefox. Es wäre keine Verbindung zum Server....

Die Einstellungen dieses Browsers kenne ich ja nun langsam aus dem FF, nutze ich ihn doch täglich in WIN, auch schon seinen Vorgänger namens Netscape.

Was verlangt LINUX nun schon wiedere an Extraspezialeinstellungen?

Weißt Du Rat oder ein Mitleser hier ???? :cry:
 

Grothesk

Ultimate Guru
Mach mal bei bestehender Verbindung eine Konsole auf.
Dann dort eingeben
Code:
ping google.de

Sollte sowas bei rauskommen:
Code:
USER@HOST:~$ ping google.de
PING google.de (72.14.221.104) 56(84) bytes of data.
64 bytes from fg-in-f104.google.com (72.14.221.104): icmp_seq=1 ttl=246 time=12.0 ms
64 bytes from fg-in-f104.google.com (72.14.221.104): icmp_seq=2 ttl=246 time=12.7 ms
64 bytes from fg-in-f104.google.com (72.14.221.104): icmp_seq=3 ttl=246 time=13.3 ms
64 bytes from fg-in-f104.google.com (72.14.221.104): icmp_seq=4 ttl=246 time=16.6 ms

--- google.de ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 12.009/13.688/16.679/1.793 m

Wenn da nichts kommt, dann mal
cat /etc/resolv.conf
anschauen.
 
OP
S

Silke

Newbie
Grothesk schrieb:
Mach mal bei bestehender Verbindung eine Konsole auf.
Dann dort eingeben
Code:
ping google.de

Getan. Hier das Ergebnis:

ping: unknown host google.de



Wenn da nichts kommt, dann mal
cat /etc/resolv.conf
anschauen.


Getan. Hier die LINUX-Antwort:

bash: Datei oder Verzeichnis nicht gefunden



Leidewr wieder überall negativ. Schon mit SUSELINUX 7.1 kam ich nicht ins Netz (Jahre her), dann mit SUSELINUX 9.1 und nun mit der 10er-Version.

In verschiedenen Jahren, mit verschiedenesten PCs und unter verschiedenen Telephon-Anbietern und mit verschiedensten Modems (analog, ISDN und nun DSL) in verschiedensten Orten Deutschlands - seit nun rund sechs oder sieben Jahren.

Langsam drängt sich mir der Verdachr auf, daß SUSELINUX gar nicht ins Internet _kann_ ... Alles nur Werbegedöhns war und ist.

Kannst Du mich von diesem schrecklichen Verdacht befreien? (Oder ein Mitleser?).

Ja, LINUX soll nicht mit WIN verglichen werden - aber dort funktioniert wenigstens alles reibungslos (seit x Jahren). Das Microsoft-Spiel von immer teurer für immer weniger Leistung will ich nun aber nicht mehr mitmachen und "erkor" mir zum wiederholten Male LINUX als Alternative. Die Schreib- und Graphikprogramme darin kenne ich ja nun langsam, aber das mit dem Internet ist anscheinend genauso konfus wie zu WIN95/A-er-Zeiten.

WIN hat es aber inzwischen geschafft (so ab WIN98SE, spätestens jedoch seit WIN2k/prof), SUSELINUX scheint aber in dieser Beziehung noch zehn Jahre hinterherzuhinken.

Sehr, sehr schade - und anscheinend _ein_ wichtiger Grund, wesewegen LINUX keine Furore macht (die diesem Betriebssystem doch zu Recht anstünde!).

Weißt Du weiter? :roll:
 

framp

Moderator
Teammitglied
Hm ... der Zugang funktioniert jetzt also. D.h. es liegt irgendwas mit der config im argen.

Beliebte Fehler sind
1) kein default gateway gesetzt
2) kein nameserver definiert

Geht beides im Yast bei den Netzwerkkarten.

Lass mal dieses Script als root laufen. Das sollte entweder meine obigen Vermutungen bestätigen und wenn nicht, liefert es weitere Infos an uns wie Dein System konfiguriert ist sofern Du den Inhalt des Ausgabefiles hier postest.
 

beleg

Member
Vermutlich fehlt die DNS Konfiguration. Unter Yast->Netzwerkdienste->DNS und Hostname mal gucken, was da steht. Auf jeden Fall sollte da drin stehen, dass Nameserver und Hostname über DHCP geändert werden. Dann müsste es gehen.
Tja, wie sagte gestern ein Bekannter von mir, der eigentlich nur Windows verwendet, aber Suse mal ausprobiert hat. Was ihn an Suse fasziniert habe, ist dass er nach der Installation sofort im Internet war. ;)
Also nicht entmutigen lassen, das klappt schon.
 
A

Anonymous

Gast
Ergebnisse 1 - 10 von ungefähr 1.070.000 für PPPoE SuSE Kinternet. (0,10 Sekunden)

Ergebnisse 1 - 10 von ungefähr 1.130.000 für Firefox Seiten öffnen sich nicht. (0,14 Sekunden)

Und bevor man solchen Unfug vom Stapel lässt:

SUSELINUX scheint aber in dieser Beziehung noch zehn Jahre hinterherzuhinken.

sollte man

a) zunächst mal lernen, wie man die Forensoftware ordentlich bedient,

b) sich darüber im Klaren sein, daß man über etwas zu urteilen versucht, von dem man offensichtlich keine Ahnung hat, weil

c) das hier möglicherweise auftretende Problem mit FF und IPv6 daran liegt, daß das ach so rückständige SuSE eine Technologie per default beherrscht, die man unter XP z.B erst zusätzlich aktivieren muss

http://de.wikipedia.org/wiki/IPv6

Windows XP
Auf expliziten Wunsch (ipv6 install) kann man bei Windows XP einen experimentellen IPv6-Protokollstapel installieren. Ab ServicePack 1 hat dieser Protokollstapel „Production Quality“, und wird als Protokoll in den Netzwerkeigenschaften hinzugefügt. Ab ServicePack 2 kann IPv6 ebenfalls unter den Netzwerkeigenschaften hinzugefügt werden, mit dem Namen Internet Protokoll Version 6. In Bezug auf den Mobility-Support gilt für Windows XP ab Service Pack 1 das Gleiche wie für Windows Server 2003: correspondent nodes sind verfügbar, mobile nodes und home agent nodes dagegen nicht.
Im Rahmen des Mobile IPv6 Technology Preview-Programms sind entsprechende Erweiterungen verfügbar; man kann mit einer „serienmäßigen“ Unterstützung mit einem der nächsten Service Packs rechnen.

Viele Anwendungen (vor allem aus dem Bereich der Freien Software) sind inzwischen ebenfalls IPv6-fähig. Im heimatlichen LAN kann man so schon relativ problemfrei IPv6 benutzen. Jenseits des eigenen Border-Routers sieht es derzeit noch düster aus: Es gibt noch keine größeren Provider, die IPv6-Anbindung aktiv im Endkundenbereich verkaufen, so dass man im Moment auf bisweilen unbefriedigende Bastel-Lösungen mit Tunneling zurückgreifen muss.

weshalb man dieses Feature leider manchmal abschalten muss (meine Hardware spielt da übrigens mit, aber ist auch kein Wunder, denn auf meinem WLAN-Router läuft schliesslich ein Linux), weil hier Windows noch ein paar Jahre hinterherhinkt.

Aber keine Sorge, mittlerweile hat auch Windows "erfunden"

Windows Vista
IPv6 wird hier von Anfang an unterstützt, da es mit einer „Dual-IP-Layer-Architektur“ arbeitet und somit sowohl IPv4 als auch IPv6 unterstützt. Stehen in einem Netzwerk keine IPv6-Einträge zur Verfügung, so greift der PC automatisch auf IPv4 zurück.

was unixoide Betriebssysteme schon lange beherrschen.

Dieter Nuhr lässt mal wieder grüssen.
 

Gimpel

Guru
Silke schrieb:
Langsam drängt sich mir der Verdachr auf, daß SUSELINUX gar nicht ins Internet _kann_ ... Alles nur Werbegedöhns war und ist.

Kannst Du mich von diesem schrecklichen Verdacht befreien? (Oder ein Mitleser?).

Da können wir dich beruhigen. Mit fast keinem Linux kommt man leichter ins Internet als mit SuSE, v.a. damals zu ISDN Zeiten war SuSE loxoriös einfach zu konfigurieren.

Das ist in deinem Fall also reines PEBCAK ;)
 
OP
S

Silke

Newbie
framp schrieb:
Hm ... der Zugang funktioniert jetzt also. D.h. es liegt irgendwas mit der config im argen.

Beliebte Fehler sind
1) kein default gateway gesetzt
2) kein nameserver definiert

Geht beides im Yast bei den Netzwerkkarten.

Lass mal dieses Script als root laufen. Das sollte entweder meine obigen Vermutungen bestätigen und wenn nicht, liefert es weitere Infos an uns wie Dein System konfiguriert ist sofern Du den Inhalt des Ausgabefiles hier postest.




Hier nun das Ergebnis:

nordler@linux-e0s6:~> su -
Passwort:
linux-e0s6:~ # cd/home
-bash: cd/home: No such file or directory
linux-e0s6:~ # home
-bash: home: command not found
linux-e0s6:~ # /home
-bash: /home: is a directory
linux-e0s6:~ # cd /home
linux-e0s6:/home # /nordler
-bash: /nordler: No such file or directory
linux-e0s6:/home # /nordler/SELBER
-bash: /nordler/SELBER: No such file or directory
linux-e0s6:/home # cd /home/nordler/SELBER
linux-e0s6:/home/nordler/SELBER # chmod 700 collectNWData.sh
linux-e0s6:/home/nordler/SELBER # collectNWData.sh h
-bash: collectNWData.sh: command not found
linux-e0s6:/home/nordler/SELBER # collectNWData.sh -h
-bash: collectNWData.sh: command not found
linux-e0s6:/home/nordler/SELBER # collectNWData.sh -w
-bash: collectNWData.sh: command not found
linux-e0s6:/home/nordler/SELBER # collectNWData.sh -f
-bash: collectNWData.sh: command not found
linux-e0s6:/home/nordler/SELBER # collectNWData.sh -c
-bash: collectNWData.sh: command not found
linux-e0s6:/home/nordler/SELBER # collectNWData.sh -shwc
-bash: collectNWData.sh: command not found
linux-e0s6:/home/nordler/SELBER # collectNWData.sh -shwfc
-bash: collectNWData.sh: command not found
linux-e0s6:/home/nordler/SELBER # cd
linux-e0s6:~ # home/nordler/SELBER
-bash: home/nordler/SELBER: No such file or directory
linux-e0s6:~ #




#!/bin/bash
#
# Summary:
# Short script which collects network informations on Linux systems. It's tested on SuSE 9.3 to 10.2 but
# should work also on other Linux distributions.
#
# Useful to collect problem determination information which can be passed to people to help to solve network problems
# (e.g.foren). Since v0.4.0 the information is also checked for common errors by the NWEliza component
#
# Author: linux@framp.de
#
# Feel free to extend this script. But please let me know about any useful extensions or improvements.
#
# Nobody is perfect ... When you find any errors just invoke the script with -d and send the console output
# together with collectNWData.out to the author.
#
# History:
# 04/08/06 - Initial version
# 06/07/06 - Added iptables -L -vn
# 06/23/06 - Comments and empty lines removed from resolv.conf
# 06/23/06 - cat /proc/sys/net/ipv4/ip_forward added
# 07/12/06 - added -n to route and iptables -t nat -L
# 07/18/06 - added lspci, lsusb and iwconfig, pingMyLocalIPs and ping www.sue.de via name and IP
# 07/21/06 - added uname -a and query of suse version
# 07/29/06 - Introduced flags in order to control the amount of output and reduced numer of output lines
# 09/02/06 - removed bug in pingLocalIPs on German systems
# detail level can now be controlled with options
# /etc/sysconfig/network/ifcfg-* files will be included (wireless credentials are filtered)
# 09/22/06 - added masquerading of WLAN keys with test support from Rain_Maker
# 10/08/06 - added masquerading of WLAN encryption key in iwconfig with test support from Rain_Maker
# 11/03/06 V0.3.4 - added output of invocation parameters in log
# 02/03/07 V0.3.5 - added additional ouput of config files (ssh, dhcp, proxy, ...) and some usability enhancements
# 02/04/07 V0.3.6 - combined all pings and some usability enhancements
# 03/04/07 V0.4.0 - first experimental NWEliza function added, localization for German and English added
# - check for missing or invalid default gateway
# - check for missing or invalid DNS entry
# 03/11/07 V0.4.1 - check for existance of any nics and whether they miss an IP
# - check whether two different nics go into the same subnet
# 04/04/07 V0.4.2 - use lspci to check whether there is a network card available on the system
# 04/06/07 V0.4.3 - use lsmod and arp to get further info
# 04/13/07 V0.4.3.1 - minor enhancements
# 04/13/07 V0.4.3.2 - minor enhancements (progress messages)
# 05/14/07 V0.4.4 - removed restriction to SuSE distri
# 05/20/07 V0.4.4.1 - some typos removed
# 05/20/07 V0.4.4.2 - mod check corrected
# 05/25/07 V0.4.4.3 - reduced number of messages and changed progress message
# 05/29/07 V0.4.4.4 - fixed bug in checkForValidNic (no result for message returned)
# 06/01/07 V0.4.5 - NWeliza now executes all tests and doesn't terminate when the first problem was found
# Added comments and question for execution host
#
# For more details and the latest version got to http://www.linux.framp.de/collectNWData

# --- constants

VERSION="V0.4.5"
MYSELF=`basename $0`
RESULT=${MYSELF/.sh/}.out
ELIZA_RESULT=/tmp/${MYSELF_e}$$
AUTHOR="linux@framp.de"
SEPARATOR="=================================================================================================="
VERSION_STRING="$MYSELF $VERSION"
LOG="/tmp/${MYSELF}$$"

# --- tools needed by the script

AWK=`which awk 2>/dev/null`
SED=`which sed 2>/dev/null`
IFCONFIG=`which ifconfig 2>/dev/null`
IWCONFIG=`which iwconfig 2>/dev/null`
IPTABLES=`which iptables 2>/dev/null`
LSPCI=`which lspci 2>/dev/null`
GREP=`which grep 2>/dev/null`
PERL=`which perl 2>/dev/null`
ARP=`which arp 2>/dev/null`
ROUTE=`which route 2>/dev/null`
LSUSB=`which lsusb 2>/dev/null`
LSMOD=`which lsmod 2>/dev/null`
MODS="AWK SED IFCONFIG IWCONFIG IPTABLES LSPCI GREP PERL ARP ROUTE LSUSB LSMOD"

# --- cleanup in case of failure

function cleanup {
rm -f $LOG
rm -f $ELIZA_RESULT
exit
}

trap 'cleanup' 0 1 2 15

# --- Messages in English and German

MSG_UNDEFINED=0
MSG_E[$MSG_UNDEFIND]="Undefined message. Pls inform the author $AUTHOR"
MSG_G[$MSG_UNDEFINED]="Unbekannte Meldung. Bitte den Author $AUTHOR informieren."
MSG_ELIZA_WELCOME=1
MSG_E[$MSG_INTERNAL_ERROR]="Internal error occured. Pls inform the author $AUTHOR"
MSG_G[$MSG_INTERNAL_ERROR]="Interner Fehler aufgetreten. Bitte den Author $AUTHOR informieren"
MSG_ELIZA_START_ANALYZE=2
MSG_E[$MSG_ELIZA_START_ANALYZE]="--- Analyzing the collected data for common errors..."
MSG_G[$MSG_ELIZA_START_ANALYZE]="--- Die eben gesammelten Daten werden nach häufigen Fehlern analysiert..."
MSG_START_COLLECTING=3
MSG_E[$MSG_START_COLLECTING]="--- Collecting information about your networkconfiguration..."
MSG_G[$MSG_START_COLLECTING]="--- Es werden Netzwerkinformationen gesammelt..."
MSG_MAIN_ROOT_ERROR=4
MSG_E[$MSG_ROOT_ERROR]="!!! You have to invoke this script as root."
MSG_G[$MSG_ROOT_ERROR]="!!! Dieses Script muss als root aufgerufen werden."
MSG_EMPTY_LINE=5
MSG_E[$MSG_EMPTY_LINE]=""
MSG_G[$MSG_EMPTY_LINE]=""
MSG_MAIN_SUSE_ONLY=6
MSG_E[$MSG_MAIN_SUSE_ONLY]="!!! Script tested on SuSE systems only. Data collection and analysis steps may fail and is ignored!"
MSG_G[$MSG_MAIN_SUSE_ONLY]="!!! Das Script wurde nur auf SuSE Installationen getestet. Datensammlungs- und Analyseschritte können abbrechen und werden übersprungen!"
MSG_MAIN_PROG_REQUIRED=7
MSG_E[$MSG_MAIN_PROG_REQUIRED]="!!! Program %1 required but not found."
MSG_G[$MSG_MAIN_PROG_REQUIRED]="!!! Das Programm %1 wird vom Script benötigt und ist nicht verfügbar."
MSG_MAIN_NO_ERROR_DETECTED=8
MSG_E[$MSG_MAIN_NO_ERROR_DETECTED]="--- No obvious errors detected. Post contents of file %1."
MSG_G[$MSG_MAIN_NO_ERROR_DETECTED]="--- Keine offensichtlichen Fehler gefunden. Die Datei %1 posten."
MSG_MAIN_ERROR_DETECTED=9
MSG_E[$MSG_MAIN_ERROR_DETECTED]="--- Configuration errors detected. Please read and follow the messages marked with >>> above."
MSG_G[$MSG_MAIN_ERROR_DETECTED]="--- Konfigurationsfehler gefunden. Die vorherigen Meldungen mit >>> lesen und befolgen."
MSG_MAIN_VERSION=10
MSG_E[$MSG_MAIN_VERSION]="%1 %2"
MSG_G[$MSG_MAIN_VERSION]="%1 %2"
MSG_GET_TOPLOLOGY=11
MSG_E[$MSG_GET_TOPOLOGY]="--- What's the type of networktopology?"
MSG_G[$MSG_GET_TOPOLOGY]="--- Welche Netzwerktopologie liegt vor?"
MSG_UNSUPPORTED_TOPOLOGY=12
MSG_E[$MSG_UNSUPPORTED_TOPOLOGY]="--- Unknown topology."
MSG_G[$MSG_UNSUPPORTED_TOPOLOGY]="--- Netzwerktopology unbekannt."
MSG_STRING=13
MSG_E[$MSG_STRING]="%1."
MSG_G[$MSG_STRING]="%1."
MSG_PLEASE_CORRECT_ANSWER=14
MSG_E[$MSG_PLEASE_CORRECT_ANSWER]="--- Please answer with 1-%1: "
MSG_G[$MSG_PLEASE_CORRECT_ANSWER]="--- Bitte mit 1-%1 anworten: "
MSG_TOPO_DM_LC=15
MSG_E[$MSG_TOPO_DM_LC]="--- (1) DSL modem <---> LinuxClient"
MSG_G[$MSG_TOPO_DM_LC]="--- (1) DSL modem <---> LinuxClient"
MSG_TOPO_DR_LC=16
MSG_E[$MSG_TOPO_DR_LC]="--- (2) DSL (Linux)Router <---> LinuxClient"
MSG_G[$MSG_TOPO_DR_LC]="--- (2) DSL (Linux)Router <---> LinuxClient"
MSG_TOPO_DM_LR_LC=17
MSG_E[$MSG_TOPO_DM_LR_LC]="--- (3) DSL modem <---> (Linux)Router <---> LinuxClient"
MSG_G[$MSG_TOPO_DM_LR_LC]="--- (3) DSL modem <---> (Linux)Router <---> LinuxClient"
MSG_TOPO_DR_LR_LC=18
MSG_E[$MSG_TOPO_DR_LR_LC]="--- (4) DSL router <---> (Linux)Router <---> LinuxClient"
MSG_G[$MSG_TOPO_DR_LR_LC]="--- (4) DSL router <---> (Linux)Router <---> LinuxClient"
MSG_CANT_PING_EXTERNAL_IP=19
MSG_E[$MSG_CANT_PING_EXTERNAL_IP]="!!! The system can't ping an external IP address."
MSG_G[$MSG_CANT_PING_EXTERNAL_IP]="!!! Das System kann keine externe IP pingen."
MSG_CANT_PING_EXTERNAL_NAME=20
MSG_E[$MSG_CANT_PING_EXTERNAL_NAME]="!!! The system can't resolve an external DNS name."
MSG_G[$MSG_CANT_PING_EXTERNAL_NAME]="!!! Das System kann keine externen DNS Namen auflösen."
MSG_NO_NAMESERVER_DEFINED=21
MSG_E[$MSG_NO_NAMESERVER_DEFINED]="!!! No nameserver defined in /etc/resolv.conf"
MSG_G[$MSG_NO_NAMESERVER_DEFINED]="!!! Kein Nameserver in /etc/resolv.conf definiert."
MSG_CHECK_DEFAULT_GATEWAY_SETTING=22
MSG_E[$MSG_CHECK_DEFAULT_GATEWAY_SETTING]=">>> Check your default gateway setting. Gateway's IP is %1 and interface is %2"
MSG_G[$MSG_CHECK_DEFAULT_GATEWAY_SETTING]=">>> Überprüfe die Einstellungen zum Standardgateway. Das Gateway hat die IP %1 und das Interface %2"
MSG_CHECK_NAMESERVER_DEFINITION=23
MSG_E[$MSG_CHECK_NAMESERVER_DEFINITION]=">>> Check the nameserver definition in /etc/resolv.conf"
MSG_G[$MSG_CHECK_NAMESERVER_DEFINITION]=">>> Nameserver Einstellungen überprüfen in /etc/resolv.conf"
MSG_CHECK_FORWARDING_ENABLED=24
MSG_E[$MSG_CHECK_FORWARDING_ENABLED]=">>> Enable forwarding on your router"
MSG_G[$MSG_CHECK_FORWARDING_ENABLED]=">>> Forwarding am Router einschalten"
MSG_CHECK_FIREWALL_ICMP_ENABLED=25
MSG_E[$MSG_CHECK_FIREWALL_ICMP_ENABLED]=">>> Open firewall for pings (ICMP)"
MSG_G[$MSG_CHECK_FIREWALL_ICMP_ENABLED]=">>> Pings (ICMPs) in der Firewall erlauben?"
MSG_NO_DEFAULT_GATEWAY_SET=26
MSG_E[$MSG_NO_DEFAULT_GATEWAY_SET]=">>> Set a default gateway on your system"
MSG_G[$MSG_NO_DEFAULT_GATEWAY_SET]=">>> Ein default gatway auf dem System definieren"
MSG_NO_VALID_NIC_FOUND=27
MSG_E[$MSG_NO_VALID_NIC_FOUND]="!!! There was no active network card found on your system"
MSG_D[$MSG_NO_VALID_NIC_FOUND]="!!! Es wurde keine aktive Netzwerkkarte auf dem System gefunden"
MSG_NO_IP_ASSIGNED_TO_NIC=28
MSG_E[$MSG_NO_IP_ASSIGNED_TO_NIC]="!!! Network card %1 has no IP address"
MSG_D[$MSG_NO_IP_ASSIGNED_TO_NIC]="!!! Die Netzwerkkarte %1 hat keine IP Adresse"
MSG_CHECK_NIC_CONFIGURATION=29
MSG_E[$MSG_CHECK_NIC_CONFIGURATION]=">>> Check your network card hardware configuration (missing kernel modules?)"
MSG_D[$MSG_CHECK_NIC_CONFIGURATION]=">>> Die Hardwarekonfiguration der Netzwerkkarte prüfen (fehlen kernelmodule?)"
MSG_CHECK_NIC_IP_ASSIGNMENT=30
MSG_E[$MSG_CHECK_NIC_IP_ASSIGNMENT]=">>> Check your network card configuration. If you use DHCP check for an DHCP server"
MSG_D[$MSG_CHECK_NIC_IP_ASSIGNMENT]=">>> Die Netzwerkkartenkonfiguration prüfen. Wenn DHCP benutzt wird muss ein DHCP Server aktiv sein"
MSG_DUPLICATE_NETWORKS=31
MSG_E[$MSG_DUPLICATE_NETWORKS]="!!! There are more than multiple network cards defined in the same subnet: %1"
MSG_D[$MSG_DUPLICATE_NETWORKS]="!!! Es sind mehr als eine Netzwerkkarte im selben Subnetz definiert: %1"
MSG_CHECK_DUPLICATE_NETWORKS=32
MSG_E[$MSG_CHECK_DUPLICATE_NETWORKS]=">>> There shouldn't be two nics in the same subnet"
MSG_D[$MSG_CHECK_DUPLICATE_NETWORKS]=">>> Mehr als eine Netzwerkarte darf nicht in einem Netzwerk definiert sein"
MSG_MAIN_POST_FILE=33
MSG_E[$MSG_MAIN_POST_FILE]="--- If you don't have success post the contents of file %1."
MSG_D[$MSG_MAIN_POST_FILE]="--- Wenn das nicht zum Erfolg führt den Inhalt der Datei %1 posten."
MSG_NO_NIC_FOUND=34
MSG_E[$MSG_NO_NIC_FOUND]="!!! Neither a network card nor a wireless card was found on the system."
MSG_D[$MSG_NO_NIC_FOUND]="!!! Weder eine Netzwerkkarte noch eine Wirelesskarte kann auf dem System gefunden werden."
MSG_CHECK_HW=35
MSG_E[$MSG_CHECK_HW]=">>> Check whether your hardware card was plugged in correctly."
MSG_D[$MSG_CHECK_HW]=">>> Prüfen, ob die Hardwarekarte korrekt eingebaut wurde."
MSG_GET_HOST=36
MSG_E[$MSG_GET_HOST]="--- On which host is the script executed?"
MSG_G[$MSG_GET_HOST]="--- Auf welchem Rechner wird das Script ausgeführt?"
MSG_UNSUPPORTED_HOST=37
MSG_E[$MSG_UNSUPPORTED_HOST]="--- Unknown execution host."
MSG_G[$MSG_UNSUPPORTED_HOST]="--- Ungültiger Rechner."
MSG_HOST_RT=38
MSG_E[$MSG_HOST_RT]="--- (2) LinuxRouter"
MSG_G[$MSG_HOST_RT]="--- (2) LinuxRouter"
MSG_HOST_CL=39
MSG_E[$MSG_HOST_CL]="--- (1) LinuxClient"
MSG_G[$MSG_HOST_CL]="--- (1) LinuxClient"

# --- Writes a message to the console without an NL

function writeToConsoleNoNL() { # messagenumber
local msg
msg=`getMessage $*`
echo -n $msg >> /dev/tty
}

# --- Writes a message to the console

function writeToConsole() { # messagenumber
local msg
msg=`getMessage $*`
echo $msg >> /dev/tty
}

# --- Creates a progress bar on the console

function processingMessage() { #number #maxnumber
local i
local m
local p
local ip
local mx

m=$1
echo -ne "\r \r" >> /dev/tty

if [[ $m != 0 ]]; then
let ip=($m+1)
let p=$ip*100/$2
echo -ne "($p%) "
for ((i=0;$i<=$m;i++)); do
echo -ne "#"
done
fi
}

# ---Writes a messages to the NWEliza log and console

function writeToEliza() { # messagenumber
local msg
msg=`getMessage $*`
echo $msg >> $ELIZA_RESULT
echo $msg >> /dev/tty
}

# ---Writes a messages to the NWEliza log

function writeToElizaOnly() { # messagenumber
local msg
msg=`getMessage $*`
echo $msg >> $ELIZA_RESULT
}

# --- Helper function to extract the message text in German or English and insert message parameters

function getMessage() { # messagenumber parm1 parm2 ...
local msg
local p
local i
local s

case $LANG in
de_*)
msg=${MSG_G[$1]};
;;
*)
msg=${MSG_E[$1]};
;;
esac;

for (( i=2; $i <= $#; i++ )); do
p="p=\${$i}"
eval $p
let s=$i-1
s="%$s"
msg=`$AWK -v msg="$msg" -v s=$s -v p=$p "BEGIN { sub(s,p,msg); print msg } "`
done
echo $msg
}

# --- Execute ping tests
#
# --- Ping www.suse.de with it's IP address and dns name

function pingTests() {
local I
local PING_RES
local C

MY_IPS="`$IFCONFIG 2>/dev/null | awk '/inet/ {split($2,a,":"); print a[2]}'`"

MY_IPS="$MY_IPS 195.135.220.3 www.suse.de"

for I in $MY_IPS; do

C="ping -c 1 -W 3 $I"
# processingMessage "$C"
PING_RES=`$C | grep " 0%"`

case $I in
www.suse.de )
if [[ -z $PING_RES ]]; then
pingTests_DNS=0
else
pingTests_DNS=1
fi
;;
195.135.220.3 )
if [[ -z $PING_RES ]]; then
pingTests_IP=0
else
pingTests_IP=1
fi
;;
* )
;;
esac

if [[ ! -z $PING_RES ]]; then
echo $I ": Ping OK" >> $LOG
else
echo $I ": No ping response" >> $LOG
fi
done
return 0
}

# --- Check whether there is a ethx nic available. If yes, check whether the nic has an IP address
#
# --- Returns 1 if no nic was found
# --- Returns 2 if there was a nic without an assigned ip address found
# --- Returns 0 otherwise

function checkForValidNic () {
local q
local i
local rc

q=`$IFCONFIG | $AWK ' BEGIN { numberOfNics=0; ipNotFound=0; }
/^.*eth.*Link/ { nic = $1;
mac = $5
# print nic " " mac; # nic mac
numberOfNics++;
getline;
match($2,"[0-9]+.[0-9]+.[0-9]+.[0-9]+")
ip=substr($2,RSTART,RLENGTH);
# print " " ip; # ip
match($3,"[0-9]+.[0-9]+.[0-9]+.[0-9]+")
bc=substr($3,RSTART,RLENGTH);
# print " " bc; # bc
match($4,"[0-9]+.[0-9]+.[0-9]+.[0-9]+")
nm=substr($4,RSTART,RLENGTH);
# print " " nm; # nm
if ( ip == "" ) {
print nic;
ipNotFound=1;
}
}
END { if ( numberOfNics == 0) {
exit 1;
}
if ( ipNotFound != 0) {
exit 2;
}
exit 0;
}
'`

rc=$?
checkForValidNic_Result=$q
return $rc
}

# --- Check whether there is at least one networkdevice available. Use lspci
#
# -- Return the number of devices found

function checkForAtLeastOneNic () {
local q
q=`$LSPCI | $AWK ' BEGIN { numberOfNics=0; }
/(Ethernet|Network) controller/ { numberOfNics++;
}
END { exit numberOfNics }
'`
rc=$?
# echo "RC: " $rc

return $rc

}

# --- Check whether there are multiple nics in the same subnet.
#
# --- Return 0 if no nics are in the same subnet
# --- Return -1 if there are nics in the same subnet

function checkForNicsInSameSubnet() {
q=`$IFCONFIG | $PERL -e 'my $nic; my %nicsFound;
# collect all nics with their ip and netmask
while (my $line=<STDIN>) {
# print "$line \n";
if ( $line=~/^([a-z0-9]+).*/) {
$nic=$1;
} else {
# $1 (ip) $2 (bc) $3 (mask)
$line=~/.*:(\d+\.\d+\.\d+\.\d+).*:(\d+\.\d+\.\d+\.\d+).*:(\d+\.\d+\.\d+\.\d+)/;
if ( $1 != "") {
my @ipNibbles=split /\./, $1, 4;
my @maskNibbles=split /\./, $3, 4;
$netNibbles[0]=$ipNibbles[0] + 0 & $maskNibbles[0];
$netNibbles[1]=$ipNibbles[1] + 0 & $maskNibbles[1];
$netNibbles[2]=$ipNibbles[2] + 0 & $maskNibbles[2];
$netNibbles[3]=$ipNibbles[3] + 0 & $maskNibbles[3];
my $maskedIP="$netNibbles[0]\.$netNibbles[1]\.$netNibbles[2]\.$netNibbles[3]";
$nicsFound{$nic} = $maskedIP;
# print "$nic - $maskedIP";
}
}
}

# check whether there are identical networks used by the nics
my @nics=keys %nicsFound;
my $size=$#nics;
for (my $i=0; $i<$size; $i++) {
for (my $j=$i+1; $j<$size; $j++) {
if ($nics[$i] == $nics[$j]) {
print "$nics[$i] $nics[$j]"
}
}
}
'`
checkForNicsInSameSubnet_Result=$q
if [[ $q != "" ]]; then
return -1
else
return 0;
fi
}


# --- Check whether there is a default route defined
#
# --- Set gloabal variable checkDefaultRoute_gateway_found
# --- to 0 if there is no default route set
# --- to 1 if there is a default route set
# --- and set global variable checkDefaultRoute_gateway_host to the hostname of the default gateway
# --- and set global variable checkDefaultRoute_gateway_nic to the nic which is used for the default gateway

function checkDefaultRoute () {
local q
local i
local v

# 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0

q=`route -n | $AWK '/^[0]+\.[0]+\.[0]+\.[0]+/ { print$0; } '`

if [[ $q == "" ]]; then
checkDefaultRoute_gateway_found=0
else
checkDefaultRoute_gateway_found=1
i=1
for v in $q; do
if [[ $i == 2 ]]; then
checkDefaultRoute_gateway_host=$v
fi
if [[ $i == 8 ]]; then
checkDefaultRoute_gateway_nic=$v
fi

let i=i+1
done;
fi

}

# --- Cat all config files in /etc/sysconfig/network/ifcfg-*
# --- Masquerade wireless keys and passwords

function catMyConfig() {
local C

# masquerade WLAN credentials

for C in `ls /etc/sysconfig/network/ifcfg-*`; do
echo $SEPARATOR >> $LOG
# processingMessage "Processing configs"
echo "*** cat $C" >> $LOG;
cat $C | grep -v "^#" | grep -v "^$" \
| $AWK "BEGIN { FS="="} \
/WIRELESS_KEY[ ]*=|WIRELESS_KEY_[0-9][ ]*=|WIRELESS_KEY_LENGTH[ ]*=\
|WIRELESS_WPA_IDENTITY[ ]*=|WIRELESS_WPA_PASSWORD[ ]*=|WIRELESS_WPA_PSK[ ]*=/ \
{ cred="******"; \
if ( \$2 ~ /['"].+['"]/ || \$2 !~ /['"]/ ) { \
if ( substr(\$2,1,1) ~ /['"]/ ) {
cred=substr(\$2,1,1) cred substr(\$2,1,1);
}
print \$1 "=" cred; next;
}
}
{ print \$0}" >> $LOG
done
return 0
}

# --- Ask use for the NW topology used

function getTopology () {
local answer
TOPOLOGY=0
TOPOLOGY_DM_LC=1
TOPOLOGY_DR_LC=2
TOPOLOGY_DM_LR_LC=3
TOPOLOGY_DR_LR_LC=4

writeToConsole $MSG_EMPTY_LINE
writeToConsole $MSG_GET_TOPOLOGY

while [[ $TOPOLOGY == 0 ]]; do
writeToConsole $MSG_TOPO_DM_LC
writeToConsole $MSG_TOPO_DR_LC
writeToConsole $MSG_TOPO_DM_LR_LC
writeToConsole $MSG_TOPO_DR_LR_LC
writeToConsoleNoNL $MSG_PLEASE_CORRECT_ANSWER 4
read answer
if [[ $answer -le 0 || $answer -gt 4 ]]; then
writeToConsole $MSG_UNSUPPORTED_TOPOLOGY
answer=-1
else
TOPOLOGY=$answer
answer=0
fi
done

writeToElizaOnly $MSG_GET_TOPOLOGY
case $TOPOLOGY in
1) writeToElizaOnly $MSG_TOPO_DM_LC;;
2) writeToElizaOnly $MSG_TOPO_DR_LC;;
3) writeToElizaOnly $MSG_TOPO_DM_LR_LC;;
4) writeToElizaOnly $MSG_TOPO_DR_LC;;
*) writeToElizaOnly $MSG_INTERNAL_ERROR;;
esac
return $answer
}

# --- Ask for the host the script was run on

function getExecutionHost () {

EXECUTION_HOST_CL=1
EXECUTION_HOST_RT=2
EXECUTION_HOST=0

if [[ $TOPOLOGY != $TOPOLOGY_DM_LC ]]; then
writeToConsole $MSG_EMPTY_LINE
writeToConsole $MSG_GET_HOST

while [[ $EXECUTION_HOST == 0 ]]; do
writeToConsole $MSG_HOST_CL
writeToConsole $MSG_HOST_RT
writeToConsoleNoNL $MSG_PLEASE_CORRECT_ANSWER 2
read answer
if [[ $answer -le 0 || $answer -ge 2 ]]; then
writeToConsole $MSG_UNSUPPORTED_HOST
else
EXECUTION_HOST=$answer
fi
done
else
EXECUTION_HOST=$EXECUTION_HOST_CL # has to be the client
fi

writeToElizaOnly $MSG_GET_HOST
case $EXECUTION_HOST in
1) writeToElizaOnly $MSG_HOST_CL;;
2) writeToElizaOnly $MSG_HOST_RT;;
*) writeToElizaOnly $MSG_INTERNAL_ERROR;;
esac

}

# --- NWEliza analysis steps

function askEliza () {
local result
local rc
local ns

askEliza_error=0

writeToConsole $MSG_ELIZA_START_ANALYZE

checkForAtLeastOneNic
rc=$?

if [[ $rc == 0 ]]; then
writeToEliza $MSG_NO_NIC_FOUND
writeToEliza $MSG_CHECK_HW
# return -1
fi

checkForValidNic
rc=$?

if [[ $TOPOLOGY != $TOPOLOGY_DM_LC ]]; then
if [[ $rc == 1 ]]; then
writeToEliza $MSG_NO_VALID_NIC_FOUND
writeToEliza $MSG_CHECK_NIC_CONFIGURATION
# return -1
elif [[ $rc == 2 ]]; then
writeToEliza $MSG_NO_IP_ASSIGNED_TO_NIC $checkForValidNic_Result
writeToEliza $MSG_CHECK_NIC_IP_ASSIGNMENT
# return -1
fi
fi

checkForNicsInSameSubnet
rc=$?

if [[ $rc != 0 ]]; then
writeToEliza $MSG_DUPLICATE_NETWORKS $checkForNicsInSameSubnet_Result
writeToEliza $MSG_CHECK_DUPLICATE_NETWORKS
fi

# check for external pings

if [[ $pingTests_IP == 0 ]]; then
askEliza_error=1
writeToEliza $MSG_CANT_PING_EXTERNAL_IP
checkDefaultRoute
if [[ $checkDefaultRoute_gateway_found == 0 ]]; then
writeToEliza $MSG_NO_DEFAULT_GATEWAY_SET
else
writeToEliza $MSG_CHECK_DEFAULT_GATEWAY_SETTING $checkDefaultRoute_gateway_host $checkDefaultRoute_gateway_nic
if [[ $TOPOLOGY != $TOPOLOGY_DM_LC ]]; then
writeToEliza $MSG_CHECK_FORWARDING_ENABLED
writeToEliza $MSG_CHECK_FIREWALL_ICMP_ENABLED
fi
fi
# return
fi

# check for external dns pings

if [[ $pingTests_DNS == 0 ]]; then
askEliza_error=1
writeToEliza $MSG_CANT_PING_EXTERNAL_NAME
ns=`grep nameserver /etc/resolv.conf`
if [[ $? != 0 ]]; then
writeToEliza $MSG_NO_NAMESERVER_DEFINED
else
writeToEliza $MSG_CHECK_NAMESERVER_DEFINITION
fi
fi

return $askEliza_error
}

# --- List of commands executed to collect valuable informations about the network and it's configuration

function collectData () {

# network inspection commands

# standard
i=0;FLAG[$i]="s";MSG[$i]="uname";CMD[$i]="uname -a"
i=$i+1;FLAG[$i]="s";MSG[$i]="SuSE release";CMD[$i]="cat /etc/SuSE-release"
i=$i+1;FLAG[$i]="s";MSG[$i]="/etc/resolv";CMD[$i]="cat /etc/resolv.conf | grep -v "^#" | grep -v "^$""
i=$i+1;FLAG[$i]="s";MSG[$i]="/etc/hosts";CMD[$i]="cat /etc/hosts | grep -v "^#" | grep -v "^$" | grep -v "::""
i=$i+1;FLAG[$i]="s";MSG[$i]="IP forwarding";CMD[$i]="cat /proc/sys/net/ipv4/ip_forward"
i=$i+1;FLAG[$i]="s";MSG[$i]="IP NAT";CMD[$i]="$IPTABLES -t nat -L"
i=$i+1;FLAG[$i]="s";MSG[$i]="route";CMD[$i]="$ROUTE -n"
i=$i+1;FLAG[$i]="s";MSG[$i]="arp";CMD[$i]="$ARP -n"
i=$i+1;FLAG[$i]="s";MSG[$i]="ifconfig";CMD[$i]="$IFCONFIG"
i=$i+1;FLAG[$i]="s";MSG[$i]="ping tests";CMD[$i]="pingTests"
# hardware
i=$i+1;FLAG[$i]="h";MSG[$i]="PCI devices";CMD[$i]="$LSPCI"
i=$i+1;FLAG[$i]="h";MSG[$i]="UDSB devices";CMD[$i]="$LSUSB"
i=$i+1;FLAG[$i]="h";MSG[$i]="List of loaded modules";CMD[$i]="$LSMOD"
# firewall
i=$i+1;FLAG[$i]="f";MSG[$i]="iptables rules";CMD[$i]="$IPTABLES -L -vn"
i=$i+1;FLAG[$i]="f";MSG[$i]="SuSE firewall configuration";CMD[$i]="cat /etc/sysconfig/SuSEfirewall2 | grep -v "^#" | grep -v "^$""
# sysconfigs
i=$i+1;FLAG[$i]="c";MSG[$i]="Network config";CMD[$i]="cat /etc/sysconfig/network/config | grep -v "^#" | grep -v "^$""
i=$i+1;FLAG[$i]="c";MSG[$i]="Sysctl";CMD[$i]="cat /etc/sysconfig/sysctl | grep -v "^#" | grep -v "^$""
i=$i+1;FLAG[$i]="c";MSG[$i]="dhcp definitions";CMD[$i]="cat /etc/sysconfig/network/dhcp | grep -v "^#" | grep -v "^$""
i=$i+1;FLAG[$i]="c";MSG[$i]="proxy definitions";CMD[$i]="cat /etc/sysconfig/proxy | grep -v "^#" | grep -v "^$""
i=$i+1;FLAG[$i]="c";MSG[$i]="ssh definitions";CMD[$i]="cat /etc/sysconfig/ssh | grep -v "^#" | grep -v "^$""
# wireless
# mask encryption key if present
# "Encryption key:xx xxx-xxxx-xxxx-xxxx-xxxx-xxxxxxx Security mode:eek:pen"
# "Encryption key:eek:ff Security mode:eek:pen"
# config
i=$i+1;FLAG[$i]="w";CMD[$i]="$IWCONFIG | $SED "s/\(Encryption key:\)\([^o][^f][^f][^ ]*\)\(.*\)/\1xx xxx-xxxx-xxxx-xxxx-xxxx-xxxxxxx\3/""
i=$i+1;FLAG[$i]="c";CMD[$i]="catMyConfig"
let NUMBER_OF_TESTS=$i+1

i=0
writeToConsole $MSG_START_COLLECTING

while [ -n "${CMD[$i]}" ]; do

R=`echo $FLAGS | grep "${FLAG[$i]}"`

if [[ $? == 0 ]]; then
processingMessage $i $NUMBER_OF_TESTS

# fill log file with informations

echo $SEPARATOR >> $LOG
echo "*** ${CMD[$i]} " >> $LOG
eval ${CMD[$i]} 2>> $LOG 1>> $LOG
fi
let i=i+1
done
processingMessage 0
}

#################################################################################
# --- Start of main
#################################################################################

# check for root invocation

if [ $UID -ne 0 ]; then
# SUDO="/usr/bin/sudo"
# if test -x $SUDO ; then
# if test $UID -ne 0; then
# exec $SUDO $0 $*
# fi
# fi

writeToConsole $MSG_MAIN_ROOT_ERROR
exit 1
fi

# list version

if [[ $1 == "-v" ]]; then
writeToConsole "$MSG_MAIN_VERSION $VERSION_STRING by $AUTHOR"
exit 0
fi

# help

if [[ $1 == "-?" || $1 == "--help" ]]; then
echo $IDENTITY
echo "Collect helpful network problem determination information"
echo "Invocation: $MYSELF [-shwfc]"
echo "Default: -s"
echo "-s: standard network info"
echo "-h: hardware info"
echo "-w: wireless info"
echo "-f: firewall info"
echo "-c: config info"
echo "-v: list version"
exit 0
fi

for i in $MODS; do
cc=`echo $i | tr [A-Z [a-z]`
eval "c=\${${i}}"
if [ ! -x "$c" ]; then
writeToConsole $MSG_MAIN_PROG_REQUIRED $cc
exit 1
fi
done

if [[ $1 = "" ]]; then
FLAGS="-shwfc"
else
FLAGS="${1}"
fi

if [[ `echo $FLAGS | grep "d"` ]]; then
set -o xtrace
set -o verbose
fi

if [[ ! -e /etc/SuSE-release ]]; then
writeToConsole $MSG_MAIN_SUSE_ONLY
writeToConsole $MSG_MAIN_SUSE_ONLY
writeToConsole $MSG_MAIN_SUSE_ONLY
fi

#################################################################################
# --- Start of processing
#################################################################################

rm $RESULT 2>/dev/nul
writeToEliza $MSG_MAIN_VERSION $VERSION_STRING
getTopology
getExecutionHost
collectData
askEliza

#################################################################################
# --- Paperwork
#################################################################################

if [[ $askEliza_error == 0 ]]; then
writeToConsole $MSG_MAIN_NO_ERROR_DETECTED $RESULT
else
writeToConsole $MSG_MAIN_ERROR_DETECTED $RESULT
writeToConsole $MSG_MAIN_POST_FILE $RESULT
fi

cat $ELIZA_RESULT >> $RESULT
echo $SEPARATOR >> $RESULT
cat $LOG >> $RESULT





Ich bin völlig überfordert. Warum geht denn alles unter verschiedensten Windows-Varainten innert zwei, drei Minuten (mit Hansenet sogar nur 30 Sekunden seit WIN 98SE) und hier mit SUSE geht überhaupt nicht trotz stundenlangem Quälen.

Mag ja sein, daß jahrelange SUSE-Benutzer ebenfalls den WWW-Anschluß in Minuten konfigurieren. Hier aber geht gar nichts!

Das ist wirklich so schade.

Es ist doch hanebüchen vielzeilige Skripts verwenden zu müssen, nur um einen funktionierenden Internet-Anschluß zu Laufen zu bringen.

So langsam verliere ich die Lust - trotz eurer wirklich gutgemeinten :twisted: Hilfe.

Es ist einfach alles so kompliziert - und das bei einer an sich so einfachen Sache wie dem Einrichtem eines WWW-Anschlusses. Unter WIN95A war es ähnlich kompliziert.....

Gibt es denn da wirklich keine Möglichkeit mehr?

Warum läuft es unter ALLEN Windows-System (außer WIN31)?
Und unter ALLEN bisher probierten SUSE-Varianten (7.x, 9.x und nun 10.2) nie und nie und nie - und das bei verschiedensten Anbietern und mit verschiedensten PCs... Doch das schrieb ich ja bereits.

WAS IST DENN DA NOCH VERKEHRT ??????

Das kann doch bloß noch ´ne Winzigkeit sein.

H I L F E !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 

Gimpel

Guru
Du sollst das script ausführen, und die Ausgabe hier posten, nicht das ganze Script.
Und wenn du mal die Ausgabe von BASH zu dem Nonsens den du da eintippst lesen würdest...

Code:
./collectNWData.sh

Das ./ ist wichtig.

Und nochmal: es liegt nicht an Linux oder an SuSE, sondern daran, dass du dich echt, sorry, saublöd anstellst :roll:
 
Hi,

musste ein wenig grinsen als ich das hier las ...

Silke, wenn das mit Suse alles nicht klappt (selber noch nie Suse genutz, aber kenne einige Anfaenger die bei weitem kaum Probleme hatten beim Umstieg) Probier doch mal andere Distributionen?! .. Ich selber fing mit Mandrake und Fedora Core an .. ebenfalls ISDN udn nacher DSL PPPOE, da gabs damals ne schönes eingabe maske und alles war toll :) alles lief :)

Aber wenn du dich noch nicht mal damit auseinander setzt wie man richtig in ein Verzeichniss kommt, dann kann das alles nicht klappen ..

Es gibt einige schöne Bücher die man sich zu Gemüte führen kann, um so Bash ein wenig (und schnell) zu lernen.

Und Linux ist NICHT kompliziert .. Linux ist anders .. (und meines erachtens wesentlich leichter als Windows) ...

Kenne 2 Leute die immer nur Linux genutz haben, und als sie das erste Mal vor Windows sassen hatten sie die gleichen Probleme wie du nun Quasi .. kein Plan von nix :>

Aufmerksam lesen und verstehen, dann klappt das meiste schon :)

Gruss
 
Oben