Netzwerkkonfiguration beim booten auswählen

Hallo,

ich würde gerne die Netzwerk-Einstellung während des Bootens (oder aber auch während dem Betrieb) ändern können. Ich habe dazu nichts im Netz gefunden. Bisher muss ich immer entweder sysinstall aufrufen oder aber die rc.conf ändern und das system neubooten.
Hintergrund ist, dass ich meinen Laptop an verschiedene Netze anschließe, die aber teilweise keinen DHCP-Server haben. Somit müsste also die Auswahl zum einen ermöglichen, dass ich z.B. eine Konfiguration auswähle, bei der die eigene IP und der Gateway-Server fest sind, oder zum anderen eine Konfiguration auswähle, bei der alles vom DHCP-Server zugewiesen wird.
Es soll aber vor allem auch möglich sein verschiedene "Nicht-DHCP"-Konfigurationen auszuwählen.

Dafür muss es doch irgendwie eine einfach Lösung geben? Hab sie leider nicht gefunden.

Vielen Dank im voraus!
Gruß
Peter
 
Hi.


Ich bin zwar noch ziemlich neu bei FreeBsd und wie es beim booten geht, weiss ich auch net, aber ich würde sagen:

ifconfig um ip fest zu legen
route add default * um den gateway anzugeben


ich hoffe, das hilft
 
Danke für deine schnelle Antwort.
So etwas hatte ich mir auch überlegt, allerdings wäre das ja immer ziemlich umständlich. einfacher wäre es dann, ein script zu haben.
das wäre aber ziemlich viel aufwand zu schreiben. außerdem standen ja bestimmt schon genug andere leute vor dem selben problem.
es muss doch dazu eine elegantere methode geben!?
 
Ich denk mal ein kleines Script dafür sollte doch schnell geschrieben sein.
Du kannst ja entweder für jede Verbindung ein Script schreiben oder du machst dir eins mit Parameter für IP, Netmask und Gateway.

ich denke, das s würde ungefähr so aussehen:

ifconfig <device> <ip> # hier muss noch irgendwie die netmask hin, weiss aber gerade net wie
route add default <gateway_ip>

das ganze in eine Datei speichern und mit chmod 700 <dateiname> (oder so) ausführbar machen und du kannst es schon benutzen.
 
Hallo

Ich habe dafür ein Script erstellt, welchem ich einen Parameter mitgebe.

Beispiel:

./network {hl|hw|ol|ow}
hl = home lan
hw = home wireless
ol = office lan
ow = office wireless​

im Script kannst du dann so vorgehen:

case "$1" in
hl)
ifconfig sk0 192.168.1.1 netmask 255.255.255.0 up
route delete 0.0.0.0
route add 192.168.1.50
;;
hw)
...
;;
*)
echo usage network.sh {hl|hw|ol|ow}
;;
esac​

Somit muss ich mich nur kurz als su anmelden und das Script aufrufen.

Vielleicht gibt es noch elegantere Lösungen?

Gruss

Dom
 
Hi!

das sieht nicht schlecht aus! ich werd mir dein script auch gleich mal schnappen und an meine bedürfnisse anpassen. das ist auf jeden fall mal eine lösung.

ich hatte aber auch noch an eine elegantere lösung gedacht. das problem hatten doch bestimmt schon zig leute, dabei müsste doch auch schon mal mehr als ein kleines script entstanden sein!? außerdem vertrete ich die meinung dass das rad nicht jedesmal neu erfunden werden muss.

vor allem bei einem Betriebssystem wie FreeBSD, das schon immer mit netzwerken zu tun hatte müsste doch sowas vielleicht auch schon direkt vom system unterstützt werden?

man findet dazu aber irgendwie nichts im netz. alle beiträge beschreiben, wie man sein system als dhcp-client konfiguriert.

Gruß
Peter
 
Hallo,

ich kenn zwar jetzt auch keine elegante Lösung, aber man könnte ja das Skript von dfa auch erweitern. Ich denke da an "Sudo". Man müsste sich dann nicht mehr als root anmelden. Einfach in der sudo.conf die Befehle "ifconfig" und "route" für den entsprechenden User freigeben.

Gruß, Sven
 
Du koenntest auch noch ein skript schreiben, welches erst versucht mit dhcp die IP-Einstellungen zu setzen und im Falle eines Misserfolges mit ifconfig + route + /etc/resolv.conf die wahrscheinlichste Netzconfig einstellt. Kann er dann einen Host im Netz pingen, beendet sich das Skript, geht der Ping nicht, verpasst das Skript dem Interface die IP-Adresse eines anderen Netzes und pingt wieder, usf..
Das verzoegert den den Bootvorgang zwar um ein paar Sekunden, aber du brauchst dann kein Skript nach dem Booten von Hand auszufuehren.
 
ja das hört sich nicht schlecht an. das einzige was mir daran eben immer noch nicht gefällt ist, dass es sowas ja eigentlich schon geben sollte. genug leute haben ja ein notebook, das sie immer irgendwohin mitnehmen und deshalb unterschiedliche einstellungen brauchen. naja, ich werd das jetzt aber auf jeden fall mal so machen, bis ich ne elegantere lösung gefunden hab.
Vielen Dank trotzdem!

Gruß
Peter
 
Hmmm, ich hab zwar im Moment auch nur ein script, was ich manuell ausfuelle um die Netzconfig zu setzen, aber mal schaun, vielleicht mach ich was in den Semesterferien und wenns was ordentliches werden sollte, kann ich ja nen Port draus stricken...
 
Ich nutze DHCP, das macht auf nem LapTop sinn. Wenn kein DHCP-Server erreichbar ist wird meine Standardnetzkonfiguration für zu Hause geladen.
Dann geht alles automatisch und ein Menü ist überflüssig.
 
@quarzsnoopy, wie machst du, dass automatisch deine Standardnetzwerkkonfiguration für zuhause geladen wird, wenn kein dhcp-server erreichbar ist?
bei mir hat das irgendwie nicht funktioniert. kannst du mir mal den entsprechenden teil aus deiner rc.conf zeigen? Danke!

@laemodost: wow, hätte gar nicht gedacht, dass man mit so ner kleinen frage in nem forum soviel erreichen kann. würd mich jedenfalls sehr freuen, zukünftig einen Port dafür zu haben!
 
@quarzsnoopy, wie machst du, dass automatisch deine Standardnetzwerkkonfiguration für zuhause geladen wird, wenn kein dhcp-server erreichbar ist?
bei mir hat das irgendwie nicht funktioniert. kannst du mir mal den entsprechenden teil aus deiner rc.conf zeigen? Danke!
Ohne das selbst getestet zu haben, steht im Manual zum dhclient, dass, wenn kein DHCP-Server erreicht wird, eine statische Lease benutzt wird wenn diese vorhanden. Die kann man in der dhclient.conf konfigurieren.

Ebenfalls Theorie: Über das "dhclient-script" wird ja, wenn vorhanden, das Script "/etc/dhclient-exit-hooks" ausgeführt. Dort könnte man dann dann auf "$reason == FAIL" reagieren.
 
Back
Top