[Tipp] Universelle Netzwerkkonfiguration

chaos

*nix'ler
Hallo,

ich möchte einen Tipp dokumentieren, den ich gestern im irc erhalten habe, in der Hoffnung, dass er irgendwem nützlich sein möge.

Hintergrund
Manchmal möchte man vielleicht ein Bootmedium so konfigurieren, dass ein Netzwerkinterface initialisiert wird und man weiß vorab nicht, wie das Netzwerkinterface heißt (etwa bei einem Notfall USB-Stick).

Etwa wenn man ein Notfallbootmedium (USB-Stick) erstellen möchte, das möglichst bald Netzwerkzugriff gewährt, um etwa die Installation/Notfallaktionen remote durchführen zu können. Sinn des Notfallmediums ist natürlich mit möglichst vielen Rechnern zurecht zu kommen.

Brute Force Lösung
In die /etc/rc.conf "einfach" für alle möglichen Netzwerkkarten eine Zeile der Art
Code:
ifconfig_re0="DHCP"
ifconfig_em0="DHCP"
......
schreiben. Aber das ist die Brute Force Methode, außerdem übersieht man garantiert irgendeinen Netzwerkchip, und der ist im Notfalleinsatz dann gerade verbaut.

Lösung ohne Brute Force
Mit ifconfig kann man den Namen eines netzwerinterfaces umbenennen, so wird mit
Code:
ifconfig re0 name hansi0
aus dem Interface re0 das Interface hansi0.
Das kann man sich in der /etc/rc.conf zu Nutzen machen, indem man die folgenden beiden Zeilen einfügt:
Code:
ifconfig `ifconfig -l ether | cut -d ' ' -f 1` name eth0
ifconfig_eth0="DHCP"
Mit der ersten Zeile macht man aus dem ersten gefundenen Interface das Interface eth0, in der zweiten Zeile konfiguriert man dieses wie gewohnt (hier: DHCP).

Stolpersteine
Der Befehl
Code:
ifconfig -l ether
gibt alle Ethernet-Netzwerkinterfaces aus, anschließend suche ich mir das erste aus, in der Hoffnung, dass dieses auch angeschlossen ist. Sollte das erste Netzwerkinterface nicht angeschlossen sein, dann hat man leider auch kein Netzwerk. Ob die Reihenfolge der Interfaces bei ifconfig stabil ist, weiß ich auch nicht.

Danksagung
Danke an dinoex für den Hinweis gestern abend im irc, den ifconfig befehl habe ich noch ein wenig optimiert.

ciao
chaos
 
Es geht auch einfacher:

rc.conf(5) schrieb:
In addition to the ifconfig_<interface> form, a fallback
variable ifconfig_DEFAULT may be configured. It will be used
for all interfaces with no ifconfig_<interface> variable.

Also einfach
Code:
ifconfig_DEFAULT="DHCP"
setzen und alle Interfaces werden automatisch konfiguriert.
 
Zurück
Oben