DHCP für alle Netzwerkkarten

Hi,

ich habe mir per SuseStudio einen USB-Stick mit OpenSuse 11.3 (Gnome) gemacht, quasi als Hosentaschen-OS. Fürs Netzwerk habe ich DHCP zum Adressenholen gesetzt. Wenn ich den in einen anderen Rechner einstecke, dann bekommt die Netzwerkkarte einen neuen Namen, etwa eth2. Hierfür ist dann aber kein DHCP eingeschaltet. Im YAST steht die “neue” Netzwerkkarte als “not configured”. Wenn ich für die Karte dann den Wizard durchlaufe, klappt das auch. Aber das ist nervig.

Jetzt meine Frage. Gibt es eine Möglichkeit, DHCP für alle jetzigen und alle zukünftigen Netzwerkkarten zu aktivieren?

Oder gibt es eine Möglichkeit, per Kommandozeile (für ein Startscript) DHCP für einzelne Adapter einzuschalten?

Das hier habe ich in einschlägigen Foren gefunden, löst aber das Problem nicht, da es eben nur den Adapter aus/einschaltet, aber nicht für DHCP konfiguriert:

sudo ip link set eth2 down
sudo ip link set eth2 up

Und dann habe ich noch solche Hinweise gefunden wie dhclient usw. Aber das Kommando gibt es bei mir nicht und auch kein entsprechendes Package.

Ich bin etwas ratlos und dankbar für Hilfe.

Stephan

Hallo,

ich versuche mal meinen Tipp dazu abzugeben.

Ich denke du hast eher ein Problem mit den udev rules in

less /etc/udev/rules.d/70-persistent-net.rules

dort wird deine ethX an eine MAC Adresse gebunden, heisst das die selbe
Netzwerkkarte auch immer das selbe Interface sein soll. Dies führt
natürlich dazu das eine neue Netzwerkkarte zb nicht eth0 werden kann.

Also müssten diese regeln gelöscht werden, vielleicht in dem skript das
bei halt ausgeführt wird.

Aber nur so ne idee

Grüsse

Am 03.12.2010 09:36, schrieb stephan4712:
>
> Hi,
>
> ich habe mir per SuseStudio einen USB-Stick mit OpenSuse 11.3 (Gnome)
> gemacht, quasi als Hosentaschen-OS. Fürs Netzwerk habe ich DHCP zum
> Adressenholen gesetzt. Wenn ich den in einen anderen Rechner einstecke,
> dann bekommt die Netzwerkkarte einen neuen Namen, etwa eth2. Hierfür ist
> dann aber kein DHCP eingeschaltet. Im YAST steht die “neue”
> Netzwerkkarte als “not configured”. Wenn ich für die Karte dann den
> Wizard durchlaufe, klappt das auch. Aber das ist nervig.
>
> Jetzt meine Frage. Gibt es eine Möglichkeit, DHCP für alle jetzigen und
> alle zukünftigen Netzwerkkarten zu aktivieren?
>
> Oder gibt es eine Möglichkeit, per Kommandozeile (für ein Startscript)
> DHCP für einzelne Adapter einzuschalten?
>
> Das hier habe ich in einschlägigen Foren gefunden, löst aber das
> Problem nicht, da es eben nur den Adapter aus/einschaltet, aber nicht
> für DHCP konfiguriert:
>
>
> Code:
> --------------------
> sudo ip link set eth2 down
> sudo ip link set eth2 up
> --------------------
>
>
> Und dann habe ich noch solche Hinweise gefunden wie dhclient usw. Aber
> das Kommando gibt es bei mir nicht und auch kein entsprechendes
> Package.
>
> Ich bin etwas ratlos und dankbar für Hilfe.
>
> Stephan
>
>

Hi,

danke erstmal dafür.

Das klingt erstmal nach ner Lösung. Für mich muss diese Bindung an die MAC nicht sein. Jetzt bin ich aber damit leicht überfordert. Was muss ich denn da machen? reicht es, die Datei zu löschen? Kommt die immer wieder oder bleibt die fort? Mache ich damit was kaputt?

Herzlichst,

Stephan

> Das klingt erstmal nach ner Lösung. Für mich muss diese Bindung an die
> MAC nicht sein. Jetzt bin ich aber damit leicht überfordert. Was muss
> ich denn da machen? reicht es, die Datei zu löschen? Kommt die immer
> wieder oder bleibt die fort? Mache ich damit was kaputt?

huhu,

ja das ist leider auch gerade mein Problem :frowning:

Bis jemandem was besseres einfällt würde ein

echo “” > /etc/udev/rules.d/70-persistent-net.rules

als root wohl genügen um die rules zu leeren, ob man die abschalten kann
weiss ich gerade nicht.

Grüsse

Also ich habe die Datei jetzt mal gelöscht. Das hat dazu geführt, dass tatsächlich nach einem Neustart eine IP per DHCP geholt wurde. Aber… jetzt kann ich den Stick nicht mehr in anderen Rechnern verwenden, da er dort nicht in das graphische Login kommt.

Also Löschen geht so nicht. Ich werde es nochmal mit Leeren versuchen und mich rückmelden.

Bin dankbar für die Hinweise und weiterhin gespannt auf weitere Vorschläge.

Stephan

Die Datei /etc/udev/rules.d/70-persistent-net.rules ist nicht erforderlich. Auf manche Distros (wie ArchLinux) gibt es sie auch standardweise nicht. Wenn Du sie unter openSUSE loescht, wird sie beim naechsten Start erneut generiert. Die Netzwerk Devices erhalten Namen (eth0, eth1, etc) in der Reihenfolge, wie sie vom Kernel gefunden und damit die Treiber geladen werden. Das kann vom einem zum anderen Boot varieren. Deswegen die “persistent-net-rules”. Ohne die waere es mit mehr als eine Netzwerkkarte problematisch, da die wechselweise mal als eth0, mal als eth1, usw. auftauchen wurden.

Die Datei wird tatsächlich erneut angelegt. Aber dann bootet der Stick nicht mehr an anderen Rechnern, sondern nur noch an dem selben. Das kann schlecht ein Zufall sein, oder?

Gibt es nicht eine andere Möglichkeit, standardmäßig für alle Netzwerkkarten DHCP zu aktivieren?

Du solltest auf jedem Rechner, den Du booten willst eine DHCP Verbindung im Netzwerkmanager erstellen. Da andere Devices in /etc/udev/rules.d/70-persistent-net-rules schon vorhanden sind, werden neue Verbindungen andere Namen erhalten (etwa eth1, eth2, etc). Aber dann sollte es auch auf allen Rechner klappen. Wichtig ist, dass die Netzwerkkarten auf verchiedenen Rechner verchiedene Namen haben. Das geht, indem Du /etc/udev/rules.d/70-persistent-net-rules entsprechend editierst.

Aber das will ich doch gerade nicht. Das war doch meine Eingangsfrage. Ich will ja eben nicht auf jedem Rechner die DHCP-Verbindung neu einstellen.

Das tust Du nur einmal pro Rechner. Wenn Du hundert Rechner hast ist es natuerlich auch keine Loesung. Mir faellt ein, dass Live CD damit keine Probleme haben. Du solltest genau beoachten, was fuer Datei sie unter /etc/sysconfig/network (Ich glaube, der Networkmanager steckt woanders) erstellen und diese Dateien auf dem Stick beim herunterfahren automatisch loeschen (ueber /etc/rc.d/halt.local). /etc/udev/rules.d/70-persistent-net.rules auf jedem Fall loeschen und auch ein paar anderen. Ich habe keine openSUSE Live CD und kann auch dabei nicht viel helfen, aber ich denke mir, dass es machbar ist (und auch nicht so schwer).

Aber tendenziell sind es etliche Rechner. Und wie schon beschrieben: Nach Löschung der Datei 70-persistent-net.rules startete mein Stick nicht mehr auf anderen Maschinen.

Stephan

<edit>
Wobei es schon komisch ist. Wenn ich den Stick an einer andere Maschine betreibe kommt er nicht ins graphische login, weil angeblich die Boot-Partition kaputt sei. Wenn ich den Stick dann zurück in den ersten Rechner packe (den, auf dem ich besagte Datei gelöscht habe) macht er eine Prüfung von sda1 und startet dann normal.

Das finde ich bemerkenswert. Entweder ist der Stick im Eimer oder nicht. Hab ich bisher zumindest gedacht. Eiei. Hilfe.
</edit>

Und wenn Du die nicht loeschst, startet er ?!