DHCP funktioniert nicht mit 2 Interfaces
Hallo zusammen, ich habe ein Notebook mit SuSE 7.3. Ich habe einen 10/100 MBit - Netzwerkanschluß (für's Netzwerk zuhause) und eine WirelessLan-PCMCIA Karte ( für Uni ), beide werden über DHCP (dhcpcd) konfiguriert. Wenn ich allerdings zuerst die PCMCIA-Karte einschiebe und dann den Rechner hochfahre, habe ich über die WirelessLan-Karte keine Verbindung, ich muß sie erst rausnehmen und dann wieder einschieben, dann hab ich auch ne Verbindung. Auf dem Syslog erscheint: cardmgr[572]: dhcp client is already running..done Beim Einschieben erscheinen zwar auch ein paar Fehlermeldungen z.B. "infinite lease time" und "starting service dhcp client on eth1..failed", aber die Verbindung steht dann trotzdem! Kann mir irgendjemand dazu was sagen? Gruß Christoph
"Christoph Keppner" wrote:
ich habe ein Notebook mit SuSE 7.3. Ich habe einen 10/100 MBit - Netzwerkanschluß (für's Netzwerk zuhause) und eine WirelessLan-PCMCIA Karte ( für Uni ), beide werden über DHCP (dhcpcd) konfiguriert.
So ähnlich geht's mir auch (10/100-Mbit-Ethernet eingebaut, WLAN per PCMCIA-Karte). Allerdings benutze ich in der Uni dank Ethernet-Anschluß am Arbeitsplatz beides abwechselnd bzw. habe in Übergangsphasen auch schon mal beide Interfaces gleichzeitig in Betrieb.
Wenn ich allerdings zuerst die PCMCIA-Karte einschiebe und dann den Rechner hochfahre, habe ich über die WirelessLan-Karte keine Verbindung, ich muß sie erst rausnehmen und dann wieder einschieben, dann hab ich auch ne Verbindung.
Hm, soweit ich mich erinnere, habe ich bisher noch nicht mit bereits eingesteckter WLAN-Karte gebootet (oder ich hatte zumindest keine Probleme dabei, an die ich mich erinnere). Außerdem habe ich an den Skripten eine ganze Menge herumgebastelt, weshalb bei mir wohl ohnehin einiges anders ist...
Auf dem Syslog erscheint:
cardmgr[572]: dhcp client is already running..done
Beim Einschieben erscheinen zwar auch ein paar Fehlermeldungen z.B. "infinite lease time" und "starting service dhcp client on eth1..failed", aber die Verbindung steht dann trotzdem!
Grundsätzlich ist es kein Problem, gleichzeitig für mehrere Interfaces je einen dhcpcd laufen zu lassen, das kommt bei mir häufiger vor. Die Frage ist, was die Skripte tun, die den dhcpcd starten. Das Skript /etc/rc.d/dhclient von SuSE 7.3 kommt beispielsweise nicht darauf klar, wenn bereits für ein anderes Interface ein dhcpcd läuft. Was die Originalskripte für das PCMCIA-/WLAN-Zeug genau tun, weiß ich gerade nicht. Meine Vermutung ist, daß Du beim Hochfahren in jedem Fall das Ethernet-Interface aktivierst (sprich: den zugehörigen dhcpcd starten läßt) und eines oder mehrere der Skripte keinen zweiten dhcpcd mögen. Ich habe einiges herumgebastelt, um das Verhalten an meine Bedürfnisse anzupassen, und das Ergebnis ist leider nicht ganz übersichtlich (aber funktioniert). Für denn von Dir geschilderten Anwendungsfall (entweder nur Ethernet oder nur WLAN) könnte vielleicht das Tool ifplugd[1] eine bequeme Lösung ermöglichen. Dabei handelt es sich um einen Daemon, der die Ethernet-Schnittstelle überwacht und auf das Herstellen bzw. Trennen der Verbindung reagieren, also z.B. den entsprechenden dhcpcd starten bzw. beenden kann. Statt beim Booten den Dienst dhclient zu starten, könntest Du also den ifplugd laufen lassen, der dann den dhcpcd für das Ethernet-Interface erst startet, wenn tatsächlich ein Ethernet angeschlossen wird. Ich finde den ifplugd für meine Zwecke sehr nützlich, und ein für SuSE 7.3 angepaßtes Init-Skript für ifplugd kann ich bei Bedarf zur Verfügung stellen. Vielleicht hilft das ja weiter. Ich kann aber auch nicht ausschließen, daß sich das konkrete Problem ganz einfach mit "Bordmitteln" lösen läßt. Eilert Footnotes: [1] http://freshmeat.net/projects/ifplugd/ -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Eilert Brinkmann -- Universitaet Bremen -- FB 3, Informatik eilert@informatik.uni-bremen.de - eilert@tzi.org http://www.informatik.uni-bremen.de/~eilert/
participants (2)
-
Christoph Keppner
-
Eilert Brinkmann