यदि एक ही मशीन पर 2 एनआईसी हैं, तो क्या एक एनआईसी पर एक टीसीपी क्लाइंट दूसरे एनआईसी पर एक टीसीपी सर्वर से जुड़ सकता है?


1

मैं tun0IP 10.10.10.2 के साथ एक ट्यूनर NIC बनाने के लिए TUN / TAP का उपयोग करता हूं, और मेरे पास eth0IP 202.112.34.49 के साथ एक वास्तविक NIC है

फिर मैं एक टीसीपी क्लाइंट चलाता हूं जो अपने सॉकेट को 202.112.34.49 और एक टीसीपी सर्वर को 10.10.10.2 से बांधता है। लेकिन मैं उनके बीच एक tcp कनेक्शन स्थापित नहीं कर सकता।

तो क्या एक एनआईसी पर एक टीसीपी क्लाइंट दूसरे एनआईसी पर एक टीसीपी सर्वर से जुड़ सकता है?

जवाबों:


2

loइंटरफ़ेस पर हमेशा स्थानीय पते के पैकेट चलेंगे ; वे मशीन को कभी नहीं छोड़ेंगे। (नॉन-लो इंटरफेस पर पहुंचने वाले स्थानीय पतों के पैकेट को मार्शल माना जाता है ।)

दूसरे शब्दों में, आपके पैकेट को loसंभवतः फ़ायरवॉल के कारण इंटरफ़ेस पर अटक जाना चाहिए । अपने iptables-saveआउटपुट की जाँच करें और उन पैकेट के लिए इंटरफ़ेस tcpdumpपर loइस समस्या को डीबग करें।


आह, मुझे यह मिल गया, क्योंकि आईपी सभी स्थानीय हैं, पैकेट भेजे जाएंगे, loलेकिन ट्यून नहीं। यदि मैं स्रोत आईपी को गैर-स्थानीय आईपी में संशोधित करने के लिए कच्चे सॉकेट का उपयोग करता हूं, उदाहरण के लिए, मैं 10.10.10.2 को टीसीपी सर्वर पर एक पैकेट भेजने के लिए कच्चे सॉकेट का उपयोग करता हूं, तो क्या सर्वर उस टीसीपी SYN / ACK को प्रतिक्रिया देगा जो उस गैर के लिए किस्मत में है -लोकल आईपी। क्या मैं SYN / ACK पैकेट (TCP / IP हैडर सहित) को हुक / इंटरसेप्ट कर सकता हूं? धन्यवाद
१:30

1
दूरस्थ गंतव्यों के लिए नियत पैकेट को मशीन के राउटिंग टेबल के अनुसार भेजा जाएगा। आप निश्चित रूप से नेटवर्क इंटरफ़ेस पर प्रोमिसक मोड का उपयोग कर सकते हैं या एक स्थानीय पते पर NAT सेट कर सकते हैं, हालांकि आप LXC जैसी किसी चीज़ पर एक नज़र रखना चाहते हैं। यह आपको अलग-अलग नेटवर्क स्टैक के साथ दो न्यूनतर वर्चुअल मशीन चलाने की अनुमति देता है।
जानोस पसज़्टर

नहीं, मैं जो करना चाहता हूं वह है: मेरे पास 10.10.10.2 (जो कि tun0 है) पर सुनने वाला एक tcp सर्वर है, और मैं tun0 के लिए एक सॉकेट डिस्क्रिप्टर खोलता हूं। तब मैं सॉकेट डिस्क्रिप्टर को टीसीपी एसवाईएन पैकेट को सॉकेट डिस्क्रिप्टर पर लिखने के लिए और जवाब देने वाले टीसीपी एसवाईएन / एसीके पैकेट को पढ़ने के लिए उपयोग कर सकता हूं। क्या यह उपयोग सही है? धन्यवाद!
misteryes

"टून टू के लिए सॉकेट डिस्क्रिप्टर" से आपका क्या मतलब है?
डेविड श्वार्ट्ज

3

न तो टीसीपी क्लाइंट और न ही टीसीपी सर्वर किसी भी एनआईसी पर "चालू" हैं। टीसीपी की परत 1 पर और 2 पर व्यक्तिगत इंटरफेस को माना जाता है। 4. बहुत विशेष सॉकेट विकल्पों को छोड़कर SO_BINDTODEVICE, टीसीपी एंडपॉइंट्स किसी भी नेटवर्क इंटरफ़ेस से जुड़े नहीं हैं।

आपका टीसीपी सर्वर और क्लाइंट केवल विभिन्न स्थानीय आईपी पते के लिए बाध्य होते हैं। उनके बीच जुड़ाव ठीक काम करना चाहिए।

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