आप समस्या को गलत समझ रहे हैं। प्रत्येक पैकेट एक प्रतिक्रिया नहीं है और हर पैकेट को किसी अन्य पैकेट से मिलान नहीं किया जा सकता है जैसे कि "समान नेटवर्क इंटरफ़ेस जो वे अंदर आए थे" समझ में आता है। आप क्या करना चाहते हैं, इसके स्रोत आईपी पते के आधार पर एक पैकेट के लिए प्रवेश द्वार का चयन करें।
इसे स्रोत-आधारित रूटिंग या पॉलिसी रूटिंग कहा जाता है। आप इसे एक सरल iptables
नियम के साथ कर सकते हैं , लेकिन सबसे अच्छा तरीका दो राउटिंग टेबल स्थापित करना है, प्रत्येक सार्वजनिक स्रोत पते के लिए एक:
सबसे पहले, दो तालिकाओं को बनाएँ (बदलें <NAME1> और <NAME2> अपने दो प्रदाताओं के लिए समझदार नामों के साथ, समान IP1, DEV1, और इसी तरह):
echo 200 <NAME1> >> /etc/iproute2/rt_tables
echo 201 <NAME2> >> /etc/iproute2/rt_tables
प्रत्येक रूटिंग टेबल में एक गेटवे जोड़ें (यदि आवश्यक हो):
ip route add <NET1> dev <DEV1> src <SRC1> table <NAME1>
ip route add <NET2> dev <DEV2> src <SRC2> table <NAME2>
फिर एक डिफ़ॉल्ट मार्ग:
ip route add default via <IP1> table <NAME1>
ip route add default via <IP2> table <NAME2>
फिर स्रोत पते के आधार पर मार्ग तालिका का चयन करने के लिए नियम:
ip rule add from <IP1> table <NAME1>
ip rule add from <IP2> table <NAME2>
अधिक जानकारी के लिए कई अपलिंक / प्रदाताओं के लिए रूटिंग देखें ।