Linux bequemes Netzwerking
Ich hab mal wieder mit ein wenig mit ifplugd und guessnet gespielt. ifplugd ist ein kleiner Daemon, der ein Interface überwacht und falls dieses Interface einen Link hat (sprich: Kabel eingestöpselt oder im Falle Wlan in einen AP eingebucht) ein ifup auf das Interface ausführt. Sehr praktisch; heimkommen, Kabel rein, Netz tut, ab in die Uni, Wlankarte rein, Netz tut.
Ein Auszug aus meiner /etc/network/interfaces
mapping eth0
script /usr/sbin/guessnet-ifupdown
map default: dhcp
mapping eth1
script /usr/sbin/guessnet-ifupdown
map default: dhcp
map verbose: true
iface home inet static
address 192.168.156.66
netmask 255.255.255.0
network 192.168.156.0
broadcast 192.168.156.255
gateway 192.168.156.144
dns-nameservers 192.168.156.144
up /usr/local/sbin/neednet
test peer address 192.168.156.144 mac 00:40:33:A6:43:88
iface brenzstrasse-wlan inet dhcp
up /etc/init.d/openvpn start brenzstrasse-wlan
down /etc/init.d/openvpn stop brenzstrasse-wlan
test peer address 10.22.0.1 mac 00:17:31:B4:21:28
iface uni-wlan inet dhcp
wireless-essid welcome
wireless-mode managed
up /usr/local/sbin/uni-ulm-kiz-gast.pl
test peer address 134.60.237.254 mac 00:50:8B:EB:6A:A0
iface dhcp inet dhcp
Über das mapping eines Device wird ein default Ergebnis festgelegt, zum Beispiel ein auf DHCP konfiguriertes iface.
guessnet im ifupdown-Modus wird elegant über /etc/network/interfaces konfiguriert. Dazu müssen die Zeilen innerhalb eines iface mit test anfagen und zum Beispiel mit peer, wireless oder command weitergehen.
Die test peer address Zeile testet auf die MAC-Adressen bestimmter Rechner
Das ganze lässt sich noch mit wpa_supplicant kombinieren, das wenn es ein Wlan findet nach bestimmten Regeln die Wlankarte konfiguriert, so das ifplugd dann einen Link feststellen kann (sollten mehrere Netze verfuegbar sein).