एक भौतिक नेटवर्क इंटरफेस (लिनक्स) पर कई मैक पते


20

सरल प्रश्न: मैं एक भौतिक नेटवर्क इंटरफेस (लिनक्स) पर कई मैक पते कैसे सेट कर सकता हूं?

क्यों? मेरा ISP IP चेक कर रहा है <-> GW पर मैक और मैं अपने "linuxbox" के माध्यम से ट्रैफ़िक रूट करना चाहता हूं और इसे अलग-अलग स्रोत आईपी के साथ अग्रेषित करता हूं।

आईपी ​​<-> मैक की जांच के बिना, मैं eth0, eth0: 0 का उपयोग करूंगा, लेकिन इस स्थिति में मुझे हर आईपी के लिए अद्वितीय मैक पते की आवश्यकता है।

जवाबों:


28

मैकविलेन का उपयोग आप विभिन्न मैक एड्रेस के साथ कई वर्चुअल इंटरफेस बनाने के लिए कर सकते हैं।

ip link add link eth0 address 00:11:11:11:11:11 eth0.1 type macvlan
ip link add link eth0 address 00:22:22:22:22:22 eth0.2 type macvlan

सिद्धांत रूप में, आप सभी की जरूरत होनी चाहिए, हालांकि कुछ बिंदु पर कुछ गिरी में टूट गया और यह सब कुछ के लिए एक मैक का उपयोग करने का कारण होगा। मुझे यकीन नहीं है कि उस की स्थिति क्या है; उम्मीद है कि यह तय हो गया है।

यदि नहीं, तो आप आउटपुट इंटरफ़ेस का उपयोग कर सकते हैं जो कि मैक इंटरफेस को फिर से लिखने के लिए इगोर इंटरफेस के आधार पर या डेस्टिनेशन के आधार पर इनपुट पर आधारित हो:

arptables -A OUT -o eth0.1 --arhln 06 -j mangle --mangle-hw-s 00:11:11:11:11:11
arptables -A OUT -o eth0.2 --arhln 06 -j mangle --mangle-hw-s 00:22:22:22:22:22
arptables -A IN -d 192.168.1.1 --arhln 06 -j mangle --mangle-hw-d 00:11:11:11:11:11
arptables -A IN -d 192.168.1.2 --arhln 06 -j mangle --mangle-hw-d 00:22:22:22:22:22

दुर्भाग्य से मेरे अनुभव में आर्प्टेबल्स भी काफी छोटी है।


1
नेक्रोपोस्ट के लिए क्षमा करें, लेकिन "कुछ बिंदु पर कर्नेल में कुछ टूट गया है और यह सब कुछ के लिए एक मैक का उपयोग करने का कारण होगा" भाग, यह बग नहीं हो सकता है: मुझे कर्नेल को सेट करने योग्य बनाना था "net.ipv4.conf .all.arp_ignore "1 से इस कार्य को सही ढंग से करने के लिए। अन्य एआरपी सुरंगों की भी आवश्यकता हो सकती है; अधिक स्पष्टीकरण के लिए, इसे और इसे पढ़ें ।
मूनस्वीप

4

आपके ब्रिज और TAP इंटरफ़ेस का समान मैक पता साझा करने का कारण यह है, क्योंकि ब्रिज में MAC नहीं है, जब तक कि यह एक इंटरफ़ेस से बंधा हुआ नहीं है। यदि आप BRCTL के साथ एक पुल बनाते हैं, और एक "brctl शो" करते हैं, तो आप पाएंगे कि पुल में खाली बंदरगाह हैं (इसके लिए कोई इंटरफ़ेस बाध्य नहीं है) TAP0 को br0 से बांधने में, स्वाभाविक रूप से, यह उसी मैक के रूप में दिखाई देगा। मैंने एक टेस्ट ब्रिज बनाया, उदाहरण के लिए।

# ब्रेटल एडब्र टेस्टब्र ०

[रूट @ stooge आदि] # brctl शो testbr0
पुल नाम पुल आईडी एसटीपी सक्षम इंटरफेस
testbr0 8000.000000000000 नं

मैंने तीन टेस्ट टीएपीएस बनाए। "Brctl showmacs testbr0" से आउटपुट।

[रूट @ stooge आदि] # brctl showmacs testbr0
पोर्ट नहीं मैक अतिरिक्त स्थानीय है? उम्र बढ़ने का टाइमर
  1 86: 51: b6: 95: 0e: b6 हाँ 0.00
  2 86: 58: 63: c6: d4: e7 हां 0.00
  3 8 ए: ए: एफए: 17: सी 5: 12 हां 0.00

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

[रूट @ stooge आदि] # brctl showmacs testbr0
पोर्ट नहीं मैक अतिरिक्त स्थानीय है? उम्र बढ़ने का टाइमर
  4 एए: बीबी: सीसी: डीडी: ईई: एफएफ हां 0.00
  1 86: 51: b6: 95: 0e: b6 हाँ 0.00
  2 86: 58: 63: c6: d4: e7 हां 0.00
  3 8 ए: ए: एफए: 17: सी 5: 12 हां 0.00

फिर से "ब्रैक्टल शो" का उपयोग करना;

[root @ stooge आदि] # brctl शो
पुल नाम पुल आईडी एसटीपी सक्षम इंटरफेस
testbr0 8000.00aabbccddee कोई eth0 नहीं
                                                        tap00
                                                        tap01
                                                        tap02 

TAP इंटरफेस एक नीचे चला गया है, भले ही eth0, अभी भी PORT 4 पर है। आपके पास अभी भी अद्वितीय मैक पते हैं। यदि ईथरनेट पुल एक स्रोत-मार्ग इंटरफ़ेस से जुड़ा है, तो आपके पास आईपी पते, या डीएचसीपी का उपयोग करने का कोई विकल्प नहीं है। इसके लायक के लिए, यदि आप एक स्रोत-मार्ग इंटरफ़ेस को पुल करते हैं, तो आप "गैर-स्थानीय" मैक पता दिखाएंगे। यह अगला-हॉप राउटर मैक एड्रेस है। मैं RedHat में जानता हूं, IFCONFIG का उपयोग करके एक स्रोत आईपी निर्दिष्ट करने का एक विकल्प है। मेरा पहला विकल्प, आईपी कमांड संदर्भ से परामर्श करना होगा, क्योंकि मुझे लगता है कि आप एक स्रोत आईपी निर्दिष्ट कर सकते हैं। मैंने कभी कोशिश नहीं की।


3

tapआवश्यक मैक पते और आईपी के साथ डिवाइस या किसी अन्य आभासी ईथरनेट डिवाइस बनाने की कोशिश करें और फिर उन्हें eth0 के साथ एक पुल में संलग्न करें।


मैंने कोशिश की कि पहले से ही और यह काम नहीं करता है। अगर मैं br0 (eth0, tap0, tap1) का उपयोग करता हूँ। मुझे नेटवर्किंग काम करने के लिए br0 पर IP सेट करना है। IP के बिना (ifconfig br0 0.0.0.0 अप) नेटवर्क काम नहीं करता है। इसलिए जब मैंने br0 और tap0 पर IP सेट किया। (जीत-पीसी से) मैं दोनों आईपी को पिंग कर सकता हूं लेकिन arp -a के बाद उनमें से प्रत्येक में एक ही मैक है।
अंगूर

0

ऐसा लगता है कि आप vconfig का उपयोग करने में सक्षम हो सकते हैं , एक ही भौतिक ईथरनेट पर कई मैक पते बनाने के लिए, प्रत्येक अलग मैक पते के साथ।


सभी आईपी से ट्रैफ़िक को अनटैग किया जाना चाहिए
१२:०६ पर जेलरैन १11
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.