Sử dụng phần mềm này của tôi để cấu hình mạng, rất dễ dàng.
http://code.google.com.vn/p/badvpn/wiki/NCD
Chương trình NCD sau đây sẽ làm. Nó cũng cho thấy cách bạn có thể mở rộng cấu hình, trong trường hợp này bằng cách chạy một cái gì đó khi mạng lên / xuống.
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);
}
Lưu ý rằng điều này sẽ không chỉ xử lý cáp mạng được cắm vào hoặc ra mà cả giao diện mạng tự xuất hiện và biến mất (hữu ích nếu là USB).
Ưu điểm của việc sử dụng NCD so với các phần mềm khác như ifplugd là thiết kế của nó cho phép rất linh hoạt. Về cơ bản, nó cho phép bạn lập trình cấu hình mạng của riêng mình, trái với việc bị giới hạn ở một bộ khả năng mã hóa giới hạn.
CẬP NHẬT: Tôi đã tạo các gói Ubuntu cho BadVPN và NCD. Tôi cũng đã cập nhật wiki với hướng dẫn cài đặt và sử dụng cho Ubuntu: http://code.google.com.vn/p/badvpn/wiki/NCD#Rasty_it
ifplugd
vànetplugd
xuất hiện không rõ ràng. Tuy nhiên câu hỏi tương tự này có vẻ như nó có một câu trả lời tốt (đơn giản) bằng cách sử dụng các quy tắc udev - không cần gói bổ sung. serverfault.com/a/312296/275255