powerbook_blog

klein, praktisch, unverdaulich seit 2004

DHCP-Goodness

| Keine Kommentare

Folgenden Inhalt habe ich geklaut – oder besser ausgeborgt, aus einem Blog, was leider nicht mehr existiert. Da der ursprüngliche Autor hier mE hin und wieder liest, möge er laut schreien, wenn er sein geistiges Eigentum selbst anderswo veröffentlichen will, ich konserviere es nur solange hier:

Nach langwierigen Experimenten mit lustigen „Profil-Managern“ scheine ich nun die Lösung für meine Netzwerkprobleme gefunden zu haben. Da ich mit meinem Laptop ständig wechselnd an Kundennetze, mein Netz im Büro und an ca. 5-6 vermischte Access-Points gehe, wurde es langsam schwierig, den Überblick zu behalten. Mit den folgenden Tools habe ich es geschafft, das ganze weitgehend zu automatisieren:

WPA-Supplicant sorgt dafür, daß in Reichweite befindliche WLANs, für die ich die Zugangsdaten habe, automatisch assoziiert werden. Solange nicht manuell priorisiert wurde, gewinnt das WLAN mit der größten Signalstärke. Glaube ich, denke ich. Leider habe ich hier ziemlich viel Zeit verloren, bis ich feststellen mußte, daß in der aktuell unter Debian verfügbaren Version von wpasupplicant die Unterstützung für WEP kaputt ist. Ich habe das Progrämmchen jetzt selbst übersetzt und schnell in den Debian-Initscripts den Pfad zum Binary geändert. Das ist nicht uneingeschränkt toll, aber ich habe schon schlimmeres überstanden.

Der ifplugd sorgt dafür, daß Netzwerkschnittstellen, die entweder assoziiert sind (WLAN) oder einen Carrier haben (Ethernet) automatisch mit „ifup“ gestartet werden. Wenn keine Verbindung mehr da ist, werden sie mit „ifdown“ gestoppt. Die Interfaces werden nun beim Systemstart nicht automatisch gestartet, sondern das erledigt ifplugd.

ifmetric sorgt dafür, daß wenn beide Interfaces aktiv sind, alles übers Ethernet geroutet wird. Aus Sicherheitssicht ist das Aktivhalten beider Interfaces alles andere als lupenrein, aber in Grenzfällen kann man das Radio ja einfach per Tastenkombination ausschalten, woraufhin ifplugd das WLAN-Interface runterfahren wird.

Man kann bei installiertem ifmetric unter Debian in /etc/network/interfaces einfach pro Interface das Schlüsselwort metric setzen.

/etc/dhclient-exit-hooks (beachtlich, was man alles durch blauäugiges Manpage-Lesen herausfinden kann) ist ein selbstgeschriebenes Shellscript, das, nachdem ein Interface per DHCP aktiviert wurde, verwendet werden kann, um weitere Aktionen durchzuführen, die nicht zum normalen Funktionsumfang von DHCP gehören. Mittels beliebiger Verfahren (der Phantasie sind keine Grenzen gesetzt) kann der Rechner in dieser Phase nach Aktivierung des Interface feststellen, in welchem Netzwerk er sich befindet und in Abhängigkeit davon weitere Aktionen starten.

Alternativ kann man auch ein Script im Verzeichnis /etc/network/if-up.d/ abwerfen und das Debian-Paket guessnet benutzen.

Letzteres ist der Punkt, den ich am erfreulichsten finde, denn damit – und mit etwas Kreativität beim Erkennen der Netzwerkumgebung – werden alle anderen manuell bedienten Methoden zum Verbiegen von Einstellungen und Verwalten von Profilen überflüssig.

Supplicant heißt auf Deutsch übrigens „Bittsteller“. Muß ich erwähnen, daß ich den Namen dieses Stücks Software nicht nur unaussprechlich, sondern auch unverständlich finde? :-)

Schreib einen Kommentar

Pflichtfelder sind mit * markiert.