मैं मान रहा हूं कि आप लिनक्स चला रहे हैं और आगे, कि आप एक RedHat / CentOS- आधारित वितरण का उपयोग कर रहे हैं। अन्य यूनिक्स के और वितरण को समान चरणों की आवश्यकता होगी - लेकिन विवरण अलग होगा।
परीक्षण से शुरू करें (ध्यान दें कि यह @ पीटर के उत्तर के समान है। मैं निम्नलिखित मान रहा हूं:
- eno0 isp0 है और इसमें समग्र डिफ़ॉल्ट गेटवे है
- eno1 isp1 है और इसमें गेटवे 192.168.1.1 के साथ IP / रेंज 192.168.1.2/24 है
आदेश इस प्रकार हैं:
$ echo 200 isp1 >> /etc/iproute2/rt_tables
$ ip rule add from eno1 table isp1
$ ip route add default via 192.168.1.1 dev eno1 table isp1
फ़ायरवॉल किसी भी तरह से शामिल नहीं है। उत्तर पैकेट हमेशा सही आईपी से भेजे गए होंगे - लेकिन पहले गलत इंटरफ़ेस के माध्यम से भेजे जा रहे थे। अब सही IP से इन पैकेट्स को सही इंटरफ़ेस के माध्यम से भेजा जाएगा।
उपरोक्त काम को मानते हुए, आप अब नियम और मार्ग परिवर्तन को स्थायी बना सकते हैं। यह इस बात पर निर्भर करता है कि आप यूनिक्स के किस संस्करण का उपयोग कर रहे हैं। पहले की तरह, मैं एक आरएच / सेंटोस-आधारित लिनक्स वितरण मान रहा हूं।
$ echo "from eno1 table isp1" > /etc/sysconfig/network-scripts/rule-eno1
$ echo "default via 192.168.1.1 dev eno1 table isp1" > /etc/sysconfig/network-scripts/route-eno1
परीक्षण करें कि नेटवर्क परिवर्तन स्थायी है:
$ ifdown eno1 ; ifup eno1
यदि वह काम नहीं करता है, तो आरएच / सेंटोस के बाद के संस्करणों पर आपको दो विकल्पों में से एक के साथ जाने की आवश्यकता है:
- डिफ़ॉल्ट NetworkManager.service का उपयोग न करें ; इसके बजाय network.service का उपयोग करें । मैंने इसके लिए आवश्यक सटीक चरणों का पता नहीं लगाया है। मैं कल्पना करूंगा कि इसमें सेवाओं को सक्षम / अक्षम करने के लिए मानक chkconfig या systemctl कमांड शामिल हैं।
- NetworkManager-dispatcher-routing-rules पैकेज स्थापित करें
व्यक्तिगत रूप से मैं नियम पैकेज स्थापित करना पसंद करता हूं क्योंकि यह अधिक समर्थित दृष्टिकोण है।
$ yum install NetworkManager-dispatcher-routing-rules
एक और मजबूत सिफारिश यह है कि arp छानने को सक्षम किया जाए क्योंकि यह दोहरी नेटवर्क कॉन्फ़िगरेशन के साथ अन्य संबंधित मुद्दों को रोकता है। RH / CentOS के साथ, /etc/sysctl.conf फ़ाइल में निम्न सामग्री जोड़ें:
net.ipv4.conf.default.arp_filter=1
net.ipv4.conf.all.arp_filter=1