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

dhcp-client mit wlan und lan - nur lan hat I-Net

kalti

Newbie
Moin auch,

ich habe das Problem, das bei meinem Laptop meine externe W-Lan Karte nur das interne Netz zur Verfügung steht, Internet ist nicht. Mit der onboard LAN Karte kein Problem.
Ich habe einen DHCP Server laufen, von dem die Karten auch brav ihre IP beziehen. Routing und DNS vom ISP wird auch per DHCP mitgegeben.

Soweit funzt das Ganze ja auch, das sehe ich ja daran, das die Onboard LAN Karte über DHCP auch ins I-Net kann. Wenn ich den Stecker jetzt abziehe, komme ich nur noch ins interne Netz.

Gibt es da ein Zauberwort, das ich der W-LAN Karte sagen muss, Onboard LAN ist grad nicht, sie muss nun den Job übernehmen ?

Gruß

Kalti
 

gaw

Hacker
Ein Zauberwort heißt route mit dem du die Standardrouten korrekt setzen kannst.

Wenn du mit beiden Karten gleichzeitig im Netz bist, werden deine Pakete trotzdem nur über eine Schnittstelle gesandt, weil deine Standardrouten entsprechend gesetzt sind. Wechselst du die Netzwerkschnittstelle so musst du die Standardrouten löschen und neu setzen.

Der Befehl ist route, sowohl unter Windows (route print in der cmd) als auch unter Linux mit dem du dir deine Routen betrachten und auch neu setzen (route add) kannst.


mfG
gaw
 
OP
K

kalti

Newbie
Danke, der Link von Martin hat mir sehr geholfen.

Die Routen waren alle korrekt gesetzt. Ich behelfe mir jetzt, indem ich die Karten auf manuell bei LAN und hotplugged bei wlan gesetzt habe.
ifdown und ifup waren mir auch noch unbekannt; zumal es da ja einen erheblicdhen Unterschied gibt zu ifconfig eth0 down usw. Ich behelfe mir jetzt, indem ich die nicht benötigte Schnittstelle mit ifdown deaktiviere und mit ifup die andere starte. bei ifup sendet er sogar dann neuen Request an den DHCP Server !!

Coole Sache, wollte die ganze Zeit schon wissen, wie ich das Äquivalent zu ipconfig /release bzw. /renew unter Linux hinkriege.

Gruß

Kalti
 

gaw

Hacker
Das müsste ich jetzt aber wissen. Wie lauten denn die Standardrouten korrekt wenn man über zwei Netzwerkkarten ins gleiche Netz routet?
Nur der Interesse halber...

mfG
gaw
 
OP
K

kalti

Newbie
Hey Gaw,

Ausgabe von /sbin/route mit deaktivierter LAN Karte:

Kernel IP Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
link-local * 255.255.0.0 U 0 0 0 eth1
loopback * 255.0.0.0 U 0 0 0 lo
default 192.168.1.5 0.0.0.0 UG 0 0 0 eth1

so wars nach dem booten ....
die LAN Karte dazu:

Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 0 0 0 eth1
loopback * 255.0.0.0 U 0 0 0 lo
default 192.168.1.5 0.0.0.0 UG 0 0 0 eth1

etho ist LAN, eth1 ist W-LAN

den GW wird per DHCP mitgegeben.(ist mein DSL Router (der GW, ncht der DHCP-Server))

Das Problem ist, das die default Route an die erste Schnittstelle gebunden wird die zu haben ist:
- wenn, wie im Beispiel oben, nur die W-LAN Karte angeschlossen ist, läuft die default route über sie, da kann dann auch später so'ne LAN-Karte ankommen, dat macht nüscht, wer zuerst kommt, ...

Was ich jetzt durch herumprobieren herausgefunden habe:

wenn ich beide mit ifdown abschalte und dann erst eth0 (LAN) und dann eth1 (W-LAN) wieder in Betrieb nehme, siehts so aus:

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
link-local * 255.255.0.0 U 0 0 0 eth0
loopback * 255.0.0.0 U 0 0 0 lo
default 192.168.1.5 0.0.0.0 UG 0 0 0 eth0

Die Route ist an eth0 gebunden.

Wenn ich die Karte jetzt deaktiviere:

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
loopback * 255.0.0.0 U 0 0 0 lo

LAN Karte ist wech, default route ist wech.

Die Karte erst mit ifdown eth1 , dann mit ifup eth1 reanimiert:

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
loopback * 255.0.0.0 U 0 0 0 lo
default 192.168.1.5 0.0.0.0 UG 0 0 0 eth1

default route auf die W-LAN Karte !!!

Mein Problem war also nicht, das die Route falsch gesetzt wurde (zumindest soweit ich das sehen kann ..), sondern das die erste Karte im System an die Route gebunden wird, was bei mir die LAN Karte war.
Und die dann ohne Kabel an die W-LAN Karte zu verleihen, tu ich dann mit ifdown und ifup und rauf und runter ....

Im Grunde hast du ja recht, das Gelbe vom Ei kann das für einen Shell Erfahrenen Linux Profi und alle, die es werden wollen ( zähle mich zu Letzteren), nicht sein. Mit

route add default gw 192.168.1.5 dev eth1

binde ich die Default-Route zwar auch die W-LAN Karte:

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
link-local * 255.255.0.0 U 0 0 0 eth0
loopback * 255.0.0.0 U 0 0 0 lo
default 192.168.1.5 0.0.0.0 UG 0 0 0 eth1
default 192.168.1.5 0.0.0.0 UG 0 0 0 eth0

aber dann bekomme ich irgendswie Probleme mit die DNS-Auflösung; 'ne IP kann ich anpingen, aber keine I-Net Adresse. So für mich als Murks-Around kriege ich das mit if-usw akzeptabel hin.

Gruß

Kalti
 

gaw

Hacker
Mein Problem war also nicht, das die Route falsch gesetzt wurde (zumindest soweit ich das sehen kann ..), sondern das die erste Karte im System an die Route gebunden wird, was bei mir die LAN Karte war.

Das eine ist ein Synonym für das andere. Ich sprach davon dass die Standardrouten falsch gesetzt waren, was wohl auch so war bzw. immer noch so ist. Die einzelne Route mag zwar syntaktisch korrekt sein, aber für das Forwarding benutzt du zwei sich ausschließende Weiterleitungsregeln: zum einen sollen alle Pakete mit der Netzwerkadresse 192.168.1.0 über eth0 deinen Rechner verlassen und als nächstes sollen alle Pakete mit der gleichen Netzwerkadresse über eth1 deinen Host verlassen. Das ist für das reine Forwarding ein Widerspruch. Dieser Widerspruch wird insofern von der Software ignoriert in dem die erste Regel angewandt wird auf die die IP-Soubroutine im Kernel trifft. Trotzdem bleibt diese Regelkombination unsinnig, auch wenn sie im Betrieb solange die erste Karten läuft, keinen Effekt zeigt. Der tritt aber dann ein, wenn die erste Karte ausfällt. Dann zeigt sich nämlich dass die Kombination beider Regeln nicht funktioniert, mit anderen Worten die Standardrouten sind falsch gesetzt, meine Worte.

Mehrere Routen auf das gleiche Netz benötigen ein Routingprotokoll (RIP) und den Einsatz eines entsprechenden Daemon, zum Beispiel routed oder gated. In entprechenden Konfigurationsdateien können dann die Regeln festgelegt werden wann die Pakete über das eine oder das andere Interface laufen. Das ist dann übrigens echtes Routing im Gegensatz zum Forwarding was du betreibst. Eleganter wäre diese Lösung allemal, da du damit bei starken Traffic beide Karten nutzen kannst, zum Beispiel über die eine Dateien von Rechner zu Rechner schaufeln und währenddessen über die andere surfen.

Für das reine Weiterleiten sind aber mehrere Regeln für die gleiche Schnittstelle überflüssig, da nur eine von beiden genutzt wird. Beim Umschalten oder Ausfall eines der Karten zeigt sich ja, dass diese Doppelbelegung nicht läuft.

Ob die Routen mit ifdown oder mit route oder mit ip gesetzt wurden, spielt dabei keine Rolle. Wichtig ist immer nur was route anschließend ausgibt.
Eine Lösung besteht wohl darin, ein Skript zu schreiben, dass zwischen beiden Netzwerkkarten umschaltet und dabei jeweils eine der beiden Standardrouten korrekt setzt oder wie schon erwähnt RIP zu implementieren.

Das Problem mit deiner DNS-Auflösung kann mehrere Ursachen haben. Benutzt du einen eigenen DNS-Server und auf welchem Rechner läuft dieser?

mfG
gaw
 
Oben