Diese Software von mir für die Netzwerkkonfiguration zu verwenden, ist sehr einfach.
http://code.google.com/p/badvpn/wiki/NCD
Das folgende NCD-Programm reicht aus. Außerdem wird gezeigt, wie Sie die Konfiguration erweitern können. In diesem Fall führen Sie etwas aus, wenn das Netzwerk auf / ab geht.
process eth0 { # Set device. var("eth0") dev; # Wait for device to appear, set it up, and wait for cable to be plugged in. net.backend.waitdevice(dev); net.up(dev); net.backend.waitlink(dev); # DHCP configuration. # net.ipv4.dhcp() will block here until it obtaines an IP address. # It doesn't check the obtained address in any way, # so as a basic security measure, do not proceed if it is local. net.ipv4.dhcp(dev) dhcp; ip_in_network(dhcp.addr, "127.0.0.0", "8") test_local; ifnot(test_local); # Assign IP address to interface, as obtained by DHCP. net.ipv4.addr(dev, dhcp.addr, dhcp.prefix); # Add default route. net.ipv4.route("0.0.0.0", "0", dhcp.gateway, "20", dev); # Add DNS servers. net.dns(dhcp.dns_servers, "20"); # Run an external program when network comes up or goes down. list("/some/program/to/run/when/up", "argument") do; list("/some/program/to/run/when/down", "argument") undo; run(do, undo); }
Beachten Sie, dass hier nicht nur das eingesteckte oder herausgezogene Netzwerkkabel gehandhabt wird, sondern auch die Netzwerkschnittstelle selbst erscheint und verschwindet (nützlich, wenn es sich um USB handelt).
Der Vorteil der Verwendung von NCD im Vergleich zu anderer Software wie ifplugd besteht darin, dass das Design eine große Flexibilität ermöglicht. Grundsätzlich können Sie Ihre eigene Netzwerkkonfiguration programmieren, anstatt auf eine begrenzte Anzahl fest codierter Funktionen beschränkt zu sein.
UPDATE: Ich habe Ubuntu-Pakete für BadVPN und NCD erstellt. Ich habe das Wiki auch mit Installations- und Verwendungsanweisungen für Ubuntu aktualisiert: http://code.google.com/p/badvpn/wiki/NCD#Running_it