विशिष्ट होस्ट के लिए मार्ग के लिए इंटरफ़ेस खोजें


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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.