নির্দিষ্ট হোস্টের রুটের জন্য ইন্টারফেস খুঁজুন


14

একটি মাল্টিহোমড লিনাক্স মেশিনে, কীভাবে সনাক্ত করতে পারি যে কোনও নির্দিষ্ট হোস্টে একটি প্যাকেট প্রেরণ করতে কোন নেটওয়ার্ক ইন্টারফেস ব্যবহার করা হবে? আমাকে এই প্রোগ্রামটিমেটিকভাবে করা দরকার এবং আমি নিজেই রাউটিং টেবিলটি বিশ্লেষণ এবং ব্যাখ্যা করতে পারি না।


এটিই রাউটিং টেবিলের জন্য। আমি অন্যথায় এটি কল্পনা করি না।
GioMac

উত্তর:




5

হ্যাঁ, মাইকেল হ্যাম্পটনের পরামর্শ অনুসারে, ব্যবহার করুন ip route। আপনি যদি কেবল ইন্টারফেস চান তবে এটি ব্যবহার করুন

ip -o route get $ip | perl -nle 'if ( /dev\s+(\S+)/ ) {print $1}'

উদাহরণ স্বরূপ:

# ip=8.8.8.8
# iface=$( ip -o route get $ip | perl -nle 'if ( /dev\s+(\S+)/ ) {print $1}' )
# echo $iface
eth1
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.