क्या मैं एक उपयोगकर्ता (और उनके ऐप्स) को एक नेटवर्क इंटरफ़ेस तक सीमित कर सकता हूं?


15

मुझे वास्तव में इसे लागू करने के लिए दो परिदृश्य मिले हैं:

  1. मल्टीसैट डेस्कटॉप: इंटरनेट गेटवे के साथ दो नेटवर्क कनेक्शन और प्रत्येक पर बैंडविड्थ-गहन कार्य करने वाले दो खाते। मैं उन्हें विभाजित करना चाहता हूं इसलिए केवल एक खाता eth0 का उपयोग करता है और दूसरा खाता केवल eth1 का उपयोग करता है।

  2. सर्वर: मेरे पास एक सर्वर पर दो आईपी हैं और मैं यह सुनिश्चित करना चाहता हूं कि मेल उपयोगकर्ता केवल दूसरे आईपी से ईमेल भेजता है (eth0: 1 aias)

दूसरा शायद उस इंटरफ़ेस के माध्यम से ईमेल ट्रैफ़िक को रूट करने के लिए IPTabled (मुझे अभी पता नहीं है) कैसे हो सकता है लेकिन सबसे पहले सभी प्रकार के ट्रैफ़िक से निपटना होगा ताकि उपयोगकर्ता-आधारित होने की आवश्यकता हो। यदि कोई उपयोगकर्ता-आधारित समाधान है, तो मैं इसे दोनों स्थानों पर लागू कर सकता हूं।

जवाबों:


6

आप iptables मालिक मॉड्यूल और शायद कुछ चतुर पैकेट मैनबलिंग का उपयोग करना चाहते हैं ।

मालिक यह मॉड्यूल स्थानीय रूप से निर्मित पैकेट के लिए पैकेट निर्माता की विभिन्न विशेषताओं से मेल खाने का प्रयास करता है। यह केवल OUTPUT श्रृंखला में मान्य है, और फिर भी कुछ पैकेट (जैसे ICMP पिंग प्रतिक्रिया) का कोई मालिक नहीं हो सकता है, और इसलिए कभी मेल नहीं खाता है।

- यूआईडी-मालिक userid मेल खाता है यदि पैकेट एक प्रक्रिया के द्वारा दिए गए प्रभावी (संख्यात्मक) उपयोगकर्ता आईडी के साथ बनाया गया है।

-गिड-ओनर ग्रुपिड मेल खाता है यदि पैकेट एक प्रक्रिया के द्वारा दिए गए प्रभावी (संख्यात्मक) समूह आईडी के साथ बनाया गया है।

-पिड-ओनर प्रोसिडिड मेल खाता है यदि पैकेट एक प्रक्रिया द्वारा दी गई प्रक्रिया आईडी के साथ बनाया गया था।

- sid-owner sessionid यदि दिए गए सत्र समूह में एक प्रक्रिया द्वारा पैकेट बनाया गया हो तो मेल खाता है।


आप चिह्न सेट करने के लिए iptables का उपयोग कर सकते हैं, जिसे आप बाद में रूटिंग तालिका में उपयोग कर सकते हैं। MARK और CONNMARK लक्ष्य देखें। Iproute में, इसका तत्कालीन 'ip रूल fwmark X जोड़ देता है ...' मुझे आश्चर्य नहीं होगा, वास्तव में, अगर iproute2 अकेले ऐसा कर सकता है ...
derobert

3
मालिक मिलान के साथ व्यापक काम करने वाले व्यक्ति होने के नाते, मैं कह सकता हूं कि यह हमेशा वांछित परिणाम नहीं देगा। यानी, सभी पैकेटों के मालिक नहीं हैं, जैसे आप उम्मीद करते हैं। ICMP और ESP एक प्रकार के होते हैं, जो कि कर्नेल (या रूट) के स्वामित्व वाले होते हैं, चाहे वे किसी भी तरह के मूल अनुप्रयोग के हों और जिनका मिलान नहीं किया जाएगा -m owner। यह टीसीपी और यूडीपी के साथ काफी विश्वसनीय है, लेकिन अन्य प्रकार इतने विश्वसनीय नहीं हैं। इस 100% को प्राप्त करने का एकमात्र विश्वसनीय तरीका VM या कंटेनर के साथ है।
बहमट

7

आप भौतिक मशीन पर दो आभासी मशीनों को स्थापित कर सकते हैं, और नेटवर्क इंटरफ़ेस को ब्रिजिंग सेट कर सकते हैं ताकि एक VM eth0 का उपयोग करे और दूसरा VM eth1 का उपयोग करे। ब्रिजिंग नेटवर्किंग पर वर्चुअल बॉक्स प्रलेखन अनुभाग देखें ।


1

मुझे यकीन नहीं है कि यह पहले बिंदु के लिए संभव है। आप उपयोगकर्ता के उपयोगकर्ता के आधार पर कुछ रूटिंग हेरफेर करना चाहते हैं। पिछली बार जब मैंने जांच की तो मुझे यह संभावना दिखाई नहीं दी।

दूसरे बिंदु के लिए, यह iptables नहीं है जिसे आप उपयोग करना चाहते हैं लेकिन iproute2 (http://lartc.org/howto/ और http://www.policyrout.org.org/iproute2.doc.html पूर्ण डॉक्टर के लिए)। यह ifconfig / मार्ग आदेशों के लिए प्रतिस्थापन है क्योंकि उन्हें अप्रचलित माना जाता है। iproute2 अपने स्रोत के अनुसार पैकेट को रूट करने के लिए यो की अनुमति देता है। ये वही है जो आप चाहते हो

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