Bu yazılımı benim ağ yapılandırması için kullanmak çok kolay.
http://code.google.com/p/badvpn/wiki/NCD
Aşağıdaki NCD programı yapılacaktır. Ayrıca, bu durumda ağ yukarı / aşağı gittiğinde bir şeyler çalıştırarak yapılandırmayı nasıl genişletebileceğinizi gösterir.
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);
}
Bunun yalnızca takılı olan veya çıkarılan ağ kablosunu değil, aynı zamanda ağ arayüzünün kendisinin de görünüp kaybolacağını unutmayın (USB ise faydalıdır).
İfplugd gibi diğer yazılımlara kıyasla NCD kullanmanın avantajı, tasarımının büyük bir esneklik sağlamasıdır. Temel olarak, sınırlı sayıda sabit kodlanmış özelliklerle sınırlı olmanın aksine, kendi ağ yapılandırmanızı programlamanıza izin verir.
GÜNCELLEME: BadVPN ve NCD için Ubuntu paketleri hazırladım. Wiki'yi Ubuntu için kurulum ve kullanım talimatları ile de güncelledim: http://code.google.com/p/badvpn/wiki/NCD#Running_it
ifplugd
venetplugd
sürdürücüsü görünür. Ancak bu benzer soru udev kurallarını kullanarak iyi (basit) bir cevabı var gibi görünüyor - ek bir pakete gerek yok. serverfault.com/a/312296/275255