Welche Linux-Treiber sind für welche Geräte aktiviert?

S

Swissjustme

Gast
Hallo
ich habe knoppix hier am laufen und momentan eine Netzwerkkarte an geschlossen.
Internet usw. funktioniert. Kann alles ohne Probleme anpingen. Nun würde ich gerne herausfinden, welche Treiber alles benutzt werden für eth0.
Mit insmod seh ich nur welche treiber insgesamt aktiviert wurden. Dort steht unter anderem tulip, wobei bei used= 0 steht und auch keine anderen Treiber tulip benutzt.
Nun...wie finde ich heraus, welche treiber nun von eth0 belegt werden. Mit insmod seh ich das nicht.

Eigentliches Problem:

Knoppix: ip addr
1. lo: ...

2. eth0: mtu 1500 qdisc pfifo_fast qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.168.2.25/24 brd 192.168.2.255 scope global eth0

Nun hab ich noch ein fest installiertes Linux. Dort habe ich nun tulip.o und crc32.o installiert und danach läuft die netzwerkkarte auch ohne Probleme. Ich kann alle Rechner im Netzwerk anpingen, ich kann auch mit snarf normale dateien (inkl. Namensauflösung) runterladen!

aber: was nicht geht: ich kann keine Internet-Seiten anpingen, obwohl das gehen müsste. Es ist keine Firewall oder ähnliches installiert. Ich kann zwar die IP-der Adressen anpingen...aber die Namensauflösung funktioniert in diesem Fall nicht. (Bei Snarf ging es ja ohne Probleme)

Einstellungen folgen!
Weiss einer Rat? Könnte es am Treiber liegen?

1:lo: blba
2. dummy0: blbla
3.eth0: <BROADCAST,MULTICAST,NOTRAILERS,UP> mtu 1500 qdisc pfio_fast qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.168.2.25/24 brd 192.168.255 scope global eth0

/etc/network/interfaces
Code:
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

alternative (funktioniert auch nicht)
Code:
...

auto eth0 
iface eth0 inet static
address 192.168.2.25
netmask 255.255.255.0
#broadcast (weggelassen)
gateaway 192.168.2.1

/etc/dhcpc/config
Code:
 case ${INTERFACE} in
eth0)
SET_DNS='yes'
--> /etc/resolv.conf wird so immer neu beschrieben
 
Zuletzt bearbeitet:
Swissjustme schrieb:
aber: was nicht geht: ich kann keine Internet-Seiten anpingen, obwohl das gehen müsste.

Das ist dann aber kein Treiberproblem, eher ein Problem der DNS-Auflösung. Was steht denn in /etc/resolv.conf drinne? Dort müsste ein DNS-Server in deinem Netzwerk oder von deinem Internetprovider stehen.
 
die Frage stellt sich nun, wieso ich mit snarf normale Seiten angeben kann?

auf alle Fälle stehen im knoppix und im festinstallierten linux dasselbe in
resolv.conf
Code:
nameserver 192.168.2.1
das sollte stimmen, da die rechner alle an einem Router angeschlossen sind. Ausserdem wird er immer überschrieben falls ich was anderes dorthin schreibe wenn ich SET_DNS='yes' nicht deaktiviere.

an einem windows rechner: ipconfig/all
Code:
HOST Name  ....... x
Primary DNS Suffix    ...     # leer
Node Type  ......... unknown 
IP Routing  Enabled ...... No  
Wins Proxy enabled .... no

......
DHCP Enabled  ... yes
autoconfiguration enabled. .. yes 
ip address              192.168.2.33
subnetmask 255.255.255.0
default gateaway .....192.168.2.1
dhcp server ....... 192.168.2.1
DNS Server .... 192.168.2.1
lease obtained ... x
lease expires ...x
 
Um das ursprüngliche Problem aufzugreifen:
Mit "lspci -v" wird auch angezeigt, welche Kernel Module für die jeweilige Hardware verwendet werden.

DNS:
Welche Distribution hast du denn jetzt aktuell installiert? Knoppix?

Wenn alles auf der LiveCD funktioniert, dann versuche mit "lspci -v" das richtige Modul zu finden und schaue dir auch die Netzwerk Configuration der LiveCD an.
 
danke für die Antwort
Ich hab lspci -v auf der live cd eingegeben, aber das modul wird nicht angezeigt.

es steht nur folgendes :
Code:
0000:00:0c.0 Ethernet controlle: Linksys NC100 Network Everywhere Fast Ethernet 10/100 (rev 11)
Subsystem: Linksys: Unknown device 0574
Flags: bus master, medium devsel, latency 32, IRQ 11
I/O ports at b000 [size=256]
Memory at e1800000 (32-bit, non-prefetchable) [size=1K]
Capabilities: [c0] Power Management version 2

//Bering uClibc ist installiert. (3.1) Ich hatte das schonmal auf einem anderen Rechner mit onboard Netzwerkkarten installiert (ne ältere Version von 3.x) und dort ging das pingen ohne Problem. Diesen Rechner hab ich aber nicht mehr.
 
Hast du einmal versucht die Netzwerkeinstellungen der LiveCD auf dein System zu übertragen?

EDIT: Laut google scheint tulip auch das richtige Modul zu sein für deine Karte.
 
Zuletzt bearbeitet:
ich hab auf dem bering system nur die wenigen Einstellungen
/etc/network/interfaces
die dhcp config

die Einstellungen die ich getroffen habe, sind eigentlich standard, als würde man einfach nen windowsrechner annem router mit dhcp anschliessen ohne was gross einstellen zu müssen.
tatsächlich klappt auch alles
ich kann z.b. snarf www.test.ch/test.gif schreiben, ganz ohne Probleme
aber wieso es bei ping nicht geht, das versteh ich einfach nicht. IPtables sind noch gar nicht installiert.


/etc/network/interfaces ist alles korrekt soweit ich das sehe.

Ich werde jetzt noch andere Netzwerkkarten testen um sicher zu sein, dass es nicht am modul liegt.


edit: es liegt doch nicht an den treibern.
Zum Haare raufen
 
Zuletzt bearbeitet:
Eine andere Möglichkeit wäre das Programm "strace", ein Hilfsprogramm zur Fehlerdiagnose.
In deinem Fall wäre z.B. "strace -eopen ping www.google.de" interessant, um zu erfahren, ob ping alle relevanten Dateien öffnen kann.
 
Zur ersten Frage, also welchen Treiber ein Interface verwendet:

Code:
$ ethtool -i eth0     
driver: e100
version: 3.5.23-k4-NAPI
firmware-version: N/A
bus-info: 0000:00:0a.0
$ ethtool -i eth1
driver: 3c509
version: 1.20
firmware-version: 
bus-info:
 
vielen dank für diese Hilfe
hat geklappt und tatsächlich wurden nur die Treiber gewählt, die ich sowieso benutze.

Das Ping-Problem konnt ich noch nicht lösen.
 
Dein Ansatz "aber: was nicht geht: ich kann keine Internet-Seiten anpingen, obwohl das gehen müsste." ist falsch. Daten runterladen und ping nutzen verschiedene Protokolle für den Weg übers Netz. Ping nutzt ICMP, die Downloadprogramme nutzen in aller Regel TCP. Also wird wohl jemand auf dem Weg zwischen dir und dem Zielserver ICMP blockieren. Dabei kann sein, daß ICMP komplett oder nur bestimmte ICMP-Typen blockiert werden.

Nimm mal testweise traceroute statt ping. Traceroute nutzt (für den Rückweg zu dir) auch ICMP, aber einen anderen ICMP-Typen als Ping. Oder teste einfach mal paar andere Server. Erreichst du gar keinen per Ping? www.heise.de ist z.B. sowohl per Ping als auch per traceroute erreichbar.

Dank unfähiger Admins wird an vielen Stellen im Internet ICMP viel zu strikt oder gar komplett gesperrt, weil da Leute mit dem Gedanken "ICMP ist überflüssig oder böse" am Werk sind.
 
"aber: was nicht geht: ich kann keine Internet-Seiten anpingen, obwohl das gehen müsste."
schon klar, dass man nich so denken darf. Aber bei mir sind die DNS-Einstellungen eig. korrekt. Und das Pingen über die IP einer Homepage funzt bei mir immer. Aber schlussendlich muss was falsch eingestellt sein. Einen bug schliesse ich mal aus.

danke für den tipp:

Ich hab folgendes herausgefunden. wenn ich tracert ausprobiere, geht sowohl addresse als auch IP nicht.
( traceroute to www.heise.de (193.99.144.85), 30 hops max, 40 byte packets; Linie 1: 192.168.2.1 (192.168.2.1) 1.971 ms 2.079 ms 2.440 ms); Linie 2 * * * )
Mit ping lief wenigstens noch die IP-Addresse. (egal welche homepage)
Auf dem Windows-Rechner lief alles ohne Probleme.

Was hat das nun genau zu bedeuten?

edit: alle rechner sind am Router 192.168.2.1 angehängt, wobei dieser am Modem 192.168.1.1 angeschlossen ist.
Beim WIndowsrechner lautete Linie 2: 192.168.1.1
Scheinbar gibts mit dem Modem (nicht mit dem Router) einen Konflikt. Aber wieso sollte knoppix, windows usw. mit dem Modem ohne Probleme funktionieren, dafür bering nicht? (knoppix und bering verwenden ja exakt diesselbe Netzwerkkarten)

edit2: anderes modem ausprobiert. Fehler bleibt.
 
Zuletzt bearbeitet:
Unterscheide strikt zwischen 2 Dingen.
1.) Der Auflösung von IP-Adressen in Namen und umgekehrt.
2.) Der Erreichbarkeit irgendwelcher Ziele
Es ist logisch, daß bei Nichtfunktionieren von Punkt 1) auch Punkt 2) schief geht, wenn man Namen statt IP-Adresse als Zielangabe verwendet. Das Programm kann ja gar nicht anfangen was zu senden, wenn es den Namen des Ziels nicht in eine IP-Adresse übersetzen kann.

Und mach bitte Möglichst copy&paste der ausgeführten Befehle samt des Ergebnisses, statt lange erklärende Texte zu verfassen, bei denen ggf. wichtige Infos, z.B. Fehlermeldungen fehlen. Dann kann man viel einfacher helfen.

Den Traceroute hast du offenbar einfach schnell abgebrochen. :/ Wenn da eine Zeile "* * *" kommt, ist das kein Grund gleich abzubrechen. Warte 10 Zeilen ab. Auf jeden Fall konnte traceroute problemlos www.heise.de in 193.99.144.85 übersetzen. Punkt 1) hat also funktioniert. Punkt 2 ist erstmal egal.

Nun zum Ping: Wenn ich es richtig verstanden habe, bekommst du bei "ping 193.99.144.85" Antworten auf deine Pakete vom diesem Webserver. Bei "ping www.heise.de" geht was schief, aber was genau? Führe den Befehl nochmal aus und stelle Befehl samt Ausgabe hier rein, also etwa so:
Code:
$ ping www.heissssse.de
ping: unknown host www.heissssse.de
$

Nun zu deinem Linux. Was für ein Linux nutzt du denn nun? Woher kommt dein Ping-Programm? Von Knoppix oder von irgendeinem uclibc-basierten Linux? Ein Programm (z.B. ping), was gegen die uclibc gelinkt ist, macht die Namensauflösung (also Umwandlung Name <-->IP) anders als ein Programm, was gegen die glibc gelinkt ist.

Was sagen "ldd /bin/ping" und "file /bin/ping"? Bei einem glibc-basierten, dynamisch gelinkten Programm sieht das etwa so aus:
Code:
$ ldd /bin/ping
        linux-gate.so.1 =>  (0xffffe000)
        libresolv.so.2 => /lib/tls/libresolv.so.2 (0xb7f1e000)
        libc.so.6 => /lib/tls/libc.so.6 (0xb7dec000)
        /lib/ld-linux.so.2 (0xb7f39000)
$ file /bin/ping
/bin/ping: setuid ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.4.1, dynamically linked (uses shared libs), for GNU/Linux 2.4.1, stripped
$
 
Zuletzt bearbeitet:
copy paste wird bissl schwierig, da ich ohne GuI arbeite :/ (SSH usw. noch gar nicht eingerichtet)
Ich versuch so gut wie möglich alles abzuschreiben.

Tracert out habe ich schon mehrmals bzw. lange versucht :) Spätestens nach 10 Linien lauter Sternchen habe ich immer abgebrochen. ^^

im Klartext: Tracert kann weder mit Online-IP noch mit Namen umgehen.
Der Befehl Ping kann nur mit IP umgehen.
Code:
# ping www.heise.de
ping: bad address 'www.heise.de'


Wie oben beschrieben benutze ich Bering uClibc (3.1). Demnach wird hier die uClibc-Bibliothek verwendet.

Die Befehle "ldd /bin/ping" und "file /bin/ping" funktionieren leider nicht. Ich werde mal schauen, wie ich die zum Laufen bringe. Nachtrag folgt.

Ich werd nun noch das ganze System direkt an das Modem anschliessen, um zu überprüfen, ob der Router Probleme macht.

Grosses Edit
Ich hab nun das Problem gelöst. Es lag nun doch an den Einstellungen. Aber ich bin nun ziemlich verwirrt.
Ich hab nun dem Bering eine feste IP gegeben, in der Resolv.conf diesmal nicht
Code:
nameserver 192.168.2.1
eingegeben, wie das bei jedem anderen Computer im Netzwerk ist, sondern direkt die beiden DNS-Server unseres Providers eingegeben. Dann funktioniert das Pingen problemlos.

Wenn ich nun DHCP aktiviere und DNS etc/dhcpc/config
Code:
 case ${INTERFACE} in
eth0)
SET_DNS='yes'

so aktiviere, funktioniert das natürlich nicht mehr, da die resolv.conf automatisch mit
Code:
nameserver 192.168.2.1
beschrieben wird.
Wieso funktioniert das nun nicht? Bei allen anderen Rechnern geht das problemlos! Denn normalerweise übernimmt ja das der Router! PC ranhänken und gut ist. Selbst bei Knoppix stand in der resolv.conf 192.168.2.1

Danke trotzdem übrigens für die ganze Hilfe.

edit:
könnte es an diesen zwei Dateien liegen?

/etc/hosts.deny
Code:
# /etc/hosts.deny: list of hosts that are _not_ allowed to access the system.
#                  See hosts_access(5) and /usr/doc/net/portmapper.txt
#
# Example:    ALL: some.host.name, .some.domain
#             ALL EXCEPT in.fingerd: other.host.name, .other.domain
#
# The PARANOID wildcard matches any host whose name does not match its
# address.
ALL: PARANOID
# Prevent all access not explicitly allowed in hosts.allow
ALL: ALL

/etc/hosts.allow
Code:
# /etc/hosts.allow: list of hosts that are allowed to access the system.  See
#                   hosts_access(5) and /usr/doc/net/portmapper.txt
#
# Example:    ALL: LOCAL @some_netgroup
#             ALL: .foobar.edu EXCEPT terminalserver.foobar.edu
#
# Allow anything from the local net
ALL: 192.168.1.0/255.255.255.0

Bemerkung: # für Kommentar

edit3: Habe die Einstellungen von knoppix übernommen und das hat die Sache nicht verändert.




/etc/hosts.deny
Code:
ALL: PARANOID

/etc/hosts.allow
Code:
ALL: 127.0.0.1 LOCAL : ALLOW
ALL : ALL@ALL : DENY
 
Zuletzt bearbeitet:
Zurück
Oben