क्लोन किया हुआ लिनक्स सिस्टम और /etc/udev/rules.d/70-persistent-net.rules


9

मैंने एक उबंटू प्रणाली स्थापित की और इसे ठीक से कॉन्फ़िगर किया, जिसमें परिभाषित करना भी शामिल eth0है /etc/network/interfaces। मैंने तब उस प्रणाली की नकल की और एक नई प्रणाली पर क्लोन किया।

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

मेरे शुरुआती शोध ने मुझे कोशिश करने की अनुमति दी ifdown -aऔर ifup -aजो मैंने कुछ समय तक बिना किसी स्पष्ट प्रभाव के किया।

अनुसंधान ने अंततः मुझे इंगित किया /etc/udev/rules.d/70-persistent-net.rules, जहां मुझे पता चला कि नई प्रणाली के लिए मैक पते ने eth1 बनाया था। अच्छा विचार है, लेकिन वह नहीं जो मैं होना चाहता था।

जब मैंने अभी-अभी बूट किया, तो मैंने पाया कि /etc/udev/rules.d/70-persistent-net.rulesअब छह अलग-अलग एचडब्ल्यू एड्रेस के लिए छह प्रविष्टियाँ हैं, जो मुझे अजीब लगती हैं क्योंकि केवल एक इंटरफ़ेस है।

मेरा सवाल है: क्या मेरा ifup -aकिसी तरह का उपयोग नए मैक पते बनाने के लिए किया गया था? यदि नहीं, तो क्या इस पर कोई विचार हैं? मैंने /etc/udev/rules.d/70-persistent-net.rulesवर्तमान HW पते का नाम बदल दिया है eth0और यह काम करने लगता है, लेकिन क्या मुझे आश्वासन दिया जा सकता है कि पता फिर से रिबूट पर नहीं बदलेगा?


इस क्यू के भविष्य के आगंतुक: यह एक वीएम नहीं है, यह एक भौतिक प्रणाली है जिसे ओपी ने नए हार्डवेयर पर क्लोन किया है!
स्लम

जवाबों:


7

मैंने समय-समय पर CentOS के तहत इस समस्या को उसी समय तक चलाया है जब मैंने वर्चुअल मशीन (VM) को क्लोन किया है। ईथरनेट डिवाइस को सेटअप करने के लिए मूल वीएम से इस फाइल में एंट्री पाने में समस्या उपजी है eth0

नमूना .rules फ़ाइल

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# net device () (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:dd", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

जब आप पहले वीएम को क्लोन करते हैं तो समस्या अपने बदसूरत सिर को उठाती है, इससे कुछ वर्चुअलाइजेशन तकनीकों जैसे केवीएम के लिए एक के लिए एक नया मैक एड्रेस बनता है। यह नया मैक पता ऑटो का पता लगाया जाता है जब क्लोन वीएम को बूट किया जाता है और एक नए ईथरनेट डिवाइस के रूप में देखा जाता है /lib/udev/write_net_rules, और इसलिए उपरोक्त फ़ाइल में 2 डी प्रविष्टि जोड़ी जाती है।

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:de", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

मैं आमतौर पर 70-persistent-net.rulesएक संपादक में, और बस लाइनों को मजबूत करता हूं ताकि नए मैक पते को eth0डिवाइस और रिबूट को सौंपा जाए ।

...
# net device () (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:de", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

EDIT # 1

ओपी ने निम्नलिखित नई जानकारी के साथ प्रश्न का पालन किया।

आइटम # 1: हम्म। यह मेरे मामले में काम नहीं करेगा क्योंकि मैं एक फ्लेक्स लाइसेंस के साथ सॉफ्टवेयर चला रहा हूं जो मैक पते से जुड़ा हुआ है। लगातार बदलते पते रेंडर ने कहा बेकार सॉफ्टवेयर ।।

@Zobal - मैं फ्लेक्स से परिचित हूं। चूंकि यह एक वीएम है आप वीएम के मैक (वीएम सॉफ़्टवेयर में - वर्चुअलबॉक्स, केवीएम, आदि) को बदल सकते हैं।

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

उदाहरण के लिए:

$ hostid
a8c0c801

आइटम # 2: मेरे मामले में यह एक VM नहीं है। मैंने एक भौतिक प्रणाली को दूसरे भौतिक तंत्र पर क्लोन किया है।

जिस पर मैंने जवाब दिया: वैसे तो आपका एकमात्र विकल्प नई प्रणाली के मैक पते को दूसरे सिस्टम के मैक के समान बदलना है। एहसास करें कि ये 2 सिस्टम एक ही नेटवर्क पर मौजूद नहीं हो सकते हैं, अन्यथा वे एक-दूसरे के साथ संघर्ष करेंगे। इसके अलावा फ्लेक्स लाइसेंसिंग आमतौर पर मैक का उपयोग नहीं करता है, वे उस संख्या का उपयोग करते हैं जो कमांड का उपयोग करके पहचाने जाने योग्य है hostid!

संदर्भ


हममम। यह मेरे मामले में काम नहीं करेगा क्योंकि मैं एक फ्लेक्स लाइसेंस के साथ सॉफ्टवेयर चला रहा हूं जो मैक पते से जुड़ा हुआ है। लगातार बदलते पते ने कहा कि सॉफ्टवेयर बेकार है ...
जोबल

@Zobal - मैं फ्लेक्स से परिचित हूं। चूंकि यह एक वीएम है आप वीएम के मैक (वीएम सॉफ़्टवेयर में - वर्चुअलबॉक्स, केवीएम, आदि) को बदल सकते हैं।
SLM

मेरे मामले में यह वीएम नहीं है। मैंने एक भौतिक प्रणाली को दूसरे भौतिक तंत्र पर क्लोन किया है।
जोबल

@Zobal - ठीक है, तो आपका एकमात्र विकल्प नए सिस्टम के मैक पते को दूसरे सिस्टम के मैक के समान बदलना है। एहसास करें कि ये 2 सिस्टम एक ही नेटवर्क पर मौजूद नहीं हो सकते हैं, अन्यथा वे एक-दूसरे के साथ संघर्ष करेंगे। इसके अलावा फ्लेक्स लाइसेंसिंग आमतौर पर मैक का उपयोग नहीं करता है, वे उस संख्या का उपयोग करते हैं जो कमांड का उपयोग करके पहचाने जाने योग्य है hostid!
स्लम

फ्लेक्स लाइसेंस वे लाइसेंस हैं जो हमने अपने सॉफ़्टवेयर को एक विशिष्ट मशीन से जोड़ने के लिए बनाए हैं, और इस मामले में यह मैक का उपयोग करता है। नया विकास: मैंने UBUNTU को स्क्रैच (छवि से नहीं) से पुन: स्थापित किया और समान व्यवहार प्राप्त कर रहा हूं। यह वास्तव में केवल गंदे शटडाउन पर दिखाई देता है (शक्ति समाप्त हो जाती है)। कोई विचार?
ज़ोबल

0

होस्टिड आपके सर्वर के आईपी पते की तरह अद्वितीय है।
आपके उदाहरण में hostid a8c0c801 है, क्या आपके सर्वर का IP पता 192.168.1.200 है?
A8C0 C801 -> C0A8 01C8
C0: 192
A8: 168
01: 1
C8: 200

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