लिनक्स VM में मैक एड्रेस बदलने का उचित तरीका?


13

मैंने एक ubuntu VM (वर्चुअलबॉक्स) में मैक पते को बदलने की कोशिश की, लेकिन इसके बाद उसने बूट के दौरान बहुत सारी त्रुटियां फेंक दीं, और तब मेरे पास कोई इंटरनेट कनेक्शन नहीं था।

तब मैंने देखा कि इंटरफ़ेस का नाम बदलकर eth1 कर दिया गया था, इसलिए मैंने eth0 को eth1 में बदलने के लिए / etc / network / इंटरफेस को एडिट किया, रिबूट किया गया (नेटवर्क को रिस्टार्ट करना नहीं जानता), और बूट अब तेज हो गया था और इंटरनेट ने ठीक काम किया।

लेकिन अब हर बार लॉग इन करने के बाद, मुझे 1 या 2 त्रुटि संदेश मिलते हैं जो कुछ नहीं कहते हैं, वे केवल मुझसे पूछते हैं कि क्या मैं उन्हें रिपोर्ट करना चाहता हूं।

तो मैं सोच रहा था, क्या इन मुद्दों से बचने के लिए मैक पते को बदलने का एक उचित तरीका है?


1
एक मैक पते को एक वीएम में या अन्यथा बदलने में कई कारक शामिल हैं। क्या आप बता सकते हैं कि आप मैक क्यों बदलना चाहते हैं, यह सबसे अच्छा समाधान खोजने में मदद कर सकता है ( meta.stackexchange.com/questions/66377/what-is-the-xy-problem )
पॉल

@Paul मैं सीखने की कोशिश कर रहा हूं कि विभिन्न कार्यक्रम आपकी गतिविधि को कैसे ट्रैक करते हैं, इसे कैसे करते हैं, और इससे कैसे बचें। जैसे: आईपी, कुकीज, ब्राउजर फिंगरप्रिंटिंग आदि। अब मैं यह देखना चाहता हूं कि कुछ प्रोग्राम मैक एड्रेस चेंज का जवाब कैसे देते हैं।
HappyDeveloper

जवाबों:


15

यदि आप VirtualBox में उन्नत नेटवर्क सेटिंग्स में ऐसा कर रहे हैं, तो मैक पते को बदलने के लिए "सही" विधि का उपयोग करने की संभावना है। हालांकि, ज़ूल द्वारा अन्य उत्तर के रूप में एक अस्थायी परिवर्तन आपके उद्देश्यों के लिए सबसे अच्छा हो सकता है, क्योंकि यह बहुत अधिक अतिरिक्त समस्याएं पैदा किए बिना मैक को बदल देगा - हालांकि यह एक रिबूट नहीं बचेगा।

वर्चुअलबॉक्स में इसे बदलने से बेशक रिबूट बच जाएगा, लेकिन आप जिस मुद्दे का सामना कर रहे हैं वह है udev। यह वह प्रक्रिया है जो हार्डवेयर को देखती है और उस हार्डवेयर को सेट करती है /dev(या जो कुछ भी करने की आवश्यकता हो सकती है)। यह डिफ़ॉल्ट रूप से करता है चीजों में से एक नेटवर्क इंटरफेस कार्ड [nics] के लिए लगातार नाम बनाए रखने की कोशिश करना है। ऐसा इसलिए है क्योंकि जब आपके पास कई nics हैं, तो आप उन्हें हमेशा एक ही एथिक्स नाम देना चाहते हैं, ताकि आपका /etc/network/interfacesकॉन्फ़िगरेशन सही निक प्रत्येक बूट को लक्षित करे। ओएस हर बार एक ही स्थान पर केवल शारीरिक रूप से उन पर भरोसा नहीं कर सकता है - आप उन्हें उदाहरण के लिए चारों ओर ले जा सकते हैं, या कुछ सिस्टम एक ही क्रम में प्रत्येक बूट में अपने भौतिक कनेक्शन की रिपोर्ट नहीं करते हैं।

इसलिए udevनेटवर्क कार्ड के मैक पते के आधार पर दृढ़ता नियमों का उपयोग करता है। यदि यह एक ज्ञात मैक पते के साथ eth1 के लिए एक प्रविष्टि है और एक कार्ड एक अलग मैक पते के साथ दिखाई देता है तो यह इंटरफ़ेस के लिए एक अलग एथएक्स डिवाइस नाम आवंटित करेगा।

इससे निपटने के लिए, आपको बस udevनियमों को अपडेट करने की आवश्यकता है। संपादित करें:

vi /etc/udev/rules.d/70-persistent-net.rules

और अपने वर्तमान मैक के साथ लाइन की तलाश करें:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="11:22:33:44:55:66", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

यदि आप मैक पते को यहां एक नए में बदल देते हैं जिसे आपने वर्चुअलबॉक्स सेटिंग्स में चुना है, तो यह अगले बूट के समान ईएक्सएक्स देव नंबर को बनाए रखेगा।

सबसे अच्छा अनुक्रम शायद इसे पहले यहां संपादित करना होगा, फिर वीएम को बंद करना, फिर वीबी मैक सेटिंग को संपादित करना, फिर बूट करना।


फ़ाइल को मैन्युअल रूप से संपादित करना मेरे लिए काम नहीं करता था, लेकिन मुझे यह पढ़कर याद आया कि आप इस फ़ाइल को पूरी तरह से हटा सकते हैं और रिबूट करने के बाद, यह अपने आप जेनरेट हो जाता है। और यह वास्तव में काम किया :) फ़ाइल स्थान दिखाने के लिए +1।
एडुआर्ड लुका

@Paul ऐसा क्यों है, कि मैं एक भौतिक मशीन से एक ही प्रकार (लेकिन विभिन्न मैक पते) के लिए एक लिनक्स सिस्टम को क्लोन कर सकता हूं और इस तरह की परेशानी में नहीं चल सकता?
अर्नी

1
@ हर्नी मुझे लगता है कि यह पूरी तरह से एक अलग एनआईसी है, न केवल मैक-एड्रेस परिवर्तन। पॉल द्वारा उल्लिखित फ़ाइल में, आप देख सकते हैं ATTR{dev_id}=="0x0":। यह अलग होना तय है।
मारियो

@ हार्नी मुझे लगता है कि आप सही हैं Arney, यदि निक मौजूद नहीं है, तो udv नियम लागू नहीं किया जाएगा। यह वैसा ही है जैसे यह एक नई मशीन थी। त्रुटियों के बिना यह कहना कठिन है। लेकिन दृढ़ता नियमों को हटाने से अगर यह udv है तो मदद मिलेगी।
पॉल

8

आप ifconfig का उपयोग करके मैक पते को 4 सरल चरणों में बदल सकते हैं :

एक टर्मिनल खोलें (कीबोर्ड शॉर्टकट: ctrl+ alt+ t)

  1. वर्तमान मैक पता खोजें:

    ifconfig | grep HWaddr
    
  2. इंटरफ़ेस बंद करें ( eth0अगले चरणों के लिए इसे मानते हुए ) :

    ifconfig eth0 down
    
  3. नया मैक पता सेट करें:

    ifconfig eth0 hw ether 00:1E:68:35:FF:91
    
  4. ध्वज इंटरफ़ेस सक्रिय होने का कारण बनता है:

    ifconfig eth0 up
    

अब आप अपना इंटरफ़ेस मैक पता पुन: जाँच सकते हैं:

ifconfig eth0 |grep HWaddr

नोट: आप किसी भी 48 बिट हेक्साडेसिमल पते को अपने मैक पते के रूप में चुन सकते हैं।


पूर्णता के उद्देश्य के लिए, आप चरण 2 और 3 को एक पंक्ति में जोड़ सकते हैं:

ifconfig eth0 down hw ether 00:00:00:00:00:01

@DownVoter: यदि मेरे उत्तर में कोई समस्या है, तो एक टिप्पणी मुझे आगे बढ़ाने के लिए एक लंबा रास्ता तय करेगी! टी.के.एस।
ज़ुलुल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.