নেটওয়ার্ক কনফিগারেশনের জন্য আমার এই সফ্টওয়্যারটি ব্যবহার করা খুব সহজ।
http://code.google.com/p/badvpn/wiki/NCD
নিম্নলিখিত এনসিডি প্রোগ্রামটি করবে। নেটওয়ার্কটি উপরে / নিচে নামার সময় কোনও কিছু চালিয়ে আপনি কীভাবে কনফিগারেশনটি প্রসারিত করতে পারবেন তা এটিও দেখায়।
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);
}
মনে রাখবেন এটি কেবল নেটওয়ার্ক কেবলটি প্লাগ ইন বা আউট হওয়া পরিচালনা করবে না, তবে নেটওয়ার্ক ইন্টারফেস নিজেই উপস্থিত হবে এবং অদৃশ্য হয়ে যাবে (এটি ইউএসবি থাকলে দরকারী)।
অন্যান্য সফ্টওয়্যার যেমন আইপিপ্লাগডের সাথে তুলনা করে এনসিডি ব্যবহারের সুবিধা হ'ল এর নকশাটি দুর্দান্ত নমনীয়তার জন্য মঞ্জুরি দেয়। এটি মূলত আপনাকে নিজের নেটওয়ার্ক কনফিগারেশন প্রোগ্রাম করার মঞ্জুরি দেয়, হার্ডকডযুক্ত ক্ষমতাগুলির সীমিত সংখ্যায় সীমাবদ্ধ থাকার বিপরীতে।
আপডেট: আমি ব্যাডভিপিএন এবং এনসিডির জন্য উবুন্টু প্যাকেজ তৈরি করেছি। আমি উবুন্টুর জন্য ইনস্টলেশন ও ব্যবহারের নির্দেশাবলীর সাথে উইকিটি আপডেট করেছি: http://code.google.com/p/badvpn/wiki/NCD# রুনিং_ইট
ifplugd
এবংnetplugd
অবিস্মরণীয় প্রদর্শিত। তবে এই অনুরূপ প্রশ্নের মতো দেখে মনে হচ্ছে এটির একটি ভাল (সরল) উত্তর আছে উদেব বিধিগুলি ব্যবহার করে - কোনও অতিরিক্ত প্যাকেজের প্রয়োজন নেই। serverfault.com/a/312296/275255