क्या मैं eth0 नाम का वर्चुअल ईथरनेट इंटरफेस बना सकता हूँ?


24

मैं लिनक्स पर आधारित आर्क 3.10.5-1 कर्नेल चला रहा हूं। सिस्टम ईथरनेट इंटरफेस एनपी * s और wlp * आदि के नए डी-फैक्टो नामकरण सम्मेलनों का उपयोग करता है। हालांकि यह एक समस्या है, क्योंकि मेरा शैक्षणिक संस्थान मेपल 17 नामक एक कार्यक्रम का उपयोग कर रहा है । मेपल की लाइसेंसिंग प्रणाली eth0 नाम के एक इंटरफेस के अस्तित्व पर निर्भर है क्योंकि इसे लाइसेंस को सत्यापित करने के लिए इसका MAC पता पुनः प्राप्त करना होगा। यह एक बुरा समाधान है, लेकिन मुझे इसके आसपास काम करना होगा।

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

  • कनेक्टिविटी के बिना एडेप्टर बनाना
  • En0s0 के लिए एक उपनाम बनाना, जिसका नाम eth0 है
  • Enp3s0 या लूपबैक इंटरफ़ेस का नाम बदलना।

जिन चीजों को मैं केवल नए सम्मेलनों में बदलकर और udv के पुराने संस्करणों में शामिल करने में सक्षम था। वे वैसे भी केवल RHEL और SuSe पर काम करते थे। मैंने इसे भाग्य के बिना आजमाया। (लगातार-net-names.rules और net-name-slot.rules, दोनों ने ही मेरे वास्तविक इंटरफ़ेस को काम करना बंद कर दिया और मेरा wlan इंटरफ़ेस गायब हो गया)

जवाबों:


28

ज़रूर। आप एक tapउपकरण को आसानी से बना सकते हैं , या तो tunctl(uml- उपयोगिताओं से, कम से कम डेबियन पर):

# tunctl -t eth0
Set 'eth0' persistent and owned by uid 0
# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr a6:9b:fe:d8:d9:5e  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

या साथ ip:

# ip tuntap add dev eth0 mode tap
# ip link ls dev eth0
7: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 500
    link/ether 0e:55:9b:6f:57:6c brd ff:ff:ff:ff:ff:ff

संभवतः आपको दूसरी विधि पसंद करनी चाहिए, जैसा ipकि लिनक्स पर पसंद किया जाने वाला नेटवर्क टूल है, और आपको इसकी संभावना पहले से ही है।

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


1
सही पर! वास्तव में जिस समाधान के लिए मैं उम्मीद कर रहा था, बहुत बहुत धन्यवाद :) यह एक सपने की तरह काम करता है।
स्टीन स्कुट

1
मुझे एक समस्या है। मैक के साथ बदलने की कोशिश ip link set dev eth0 address 01:23:45:67:89:abकरते समय (जबकि एडेप्टर नीचे है) यह कहता है RTNETLINK answers: Cannot assign requested address। मैंने मैकचेंजर को स्थापित करने का भी प्रयास किया, लेकिन यह एक समान त्रुटि देता है। सब कुछ जड़ के रूप में करने की कोशिश की।
स्टीन स्कुट

3
@TimeSheep यह एक मान्य मैक एड्रेस नहीं है। विशेष रूप से, यह एक बहुस्तरीय पता है। कोशिश 00: 23: 45: 67: 89: अब। वह काम करेंगे। लेकिन 02: 23: 45: 67: 89: एबी बेहतर होगा। उदाहरण के लिए, en.wikipedia.org/wiki/MAC_address#Address_details
derobert

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

@TimeSheep वास्तव में नहीं। इसका एक वर्चुअल इंटरफ़ेस, यह कहीं भी मौजूद नहीं है लेकिन कर्नेल का दिमाग ... इसलिए जब आप रिबूट करते हैं, तो यह चला गया।
derobert

4

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

https://wiki.archlinux.org/index.php/Network_Configuration#Change_device_name

बेशक, आपको udev को eth0, eth1, आदि नहीं बताना चाहिए, यदि आपके पास केवल वाईफाई कार्ड है तो मेपल क्या करता है?


मैं मेपल के बारे में पता नहीं है, लेकिन मैं अन्य "कॉपी संरक्षित" सॉफ्टवेयर है कि जाँच करता है अपने मैक और केवल नेटवर्क इंटरफेस कहा जाता है पर लग रहा है देखा है eth0और eth1। अगर आपका कहा जाता है wlan0, तो बहुत बुरा है (जब तक आप यह नहीं जानते कि इसका नाम कैसे बदला जाए या वर्चुअल इंटरफ़ेस बनाया जाए)।
गिलेस एसओ- बुराई को रोकना '

यदि आपके पास केवल एक वाईफाई कार्ड है तो मुझे लगता है कि आप भाग्य से बाहर होंगे। मैं इसके बारे में एक प्रतिनिधि के साथ बात की थी, लेकिन वे लाइसेंस प्रणाली लिखने वाले प्रतीत नहीं होते हैं। मैंने उन्हें बताया कि नामकरण सम्मेलनों में सबसे अधिक परिवर्तन हो रहा है और उन्हें बेहतर समर्थन के लिए पूरी बात को देखना चाहिए। you are correct in your suspicions of the cause of the problem with the activation, particularly the issue with the Ethernet adapter name. Unfortunately, it is a limitation of the licensing software that it has to look for an "eth0" in order to find the Host ID of the system
स्टीन स्कुट

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

@rainbowgoblin नहीं, यह हर बार शुरू होने के बाद सर्वर के साथ जांच करता है, इसलिए यह मुझे बाद में फिर से "होस्ट आईडी नहीं मिल सका" त्रुटि देना शुरू कर देगा। किसी भी तरह से derobert का समाधान एकदम सही था, और ऐसा लगता भी नहीं है कि बहुत अधिक समाधान।
Steen Schütt

2

मैं एक ऐसे ही मुद्दे को देख रहा हूं जिसमें बिना तार वाले नेटवर्क कार्ड वाले कंप्यूटर हैं। यह समाधान एक अच्छे की तरह दिखता है: http://jms.id.au/wiki/FakeEth0

असल में, विचार यह है कि डमी इंटरफ़ेस बनाने के लिए कुछ फ़ाइलों को बनाया / संशोधित किया जाए:

में /etc/modules-load.d/dummy.confजोड़ने:

# load dummy interface module
dummy

में /etc/udev/rules.d/70-persistent-net.rulesजोड़ने:

SUBSYSTEM=="net", KERNEL=="dummy0", NAME="eth0"

फिर /etc/network/interfacesजोड़ने में:

iface eth0 inet static
    hwaddress DE:AD:BE:EF:CA:FE

आपको modprobe dummyइस बिंदु पर करने में सक्षम होना चाहिए और यह सुनिश्चित करने के लिए जांचना चाहिए कि इंटरफ़ेस सही ढंग से सेट किया गया था। यदि आप रिबूट करने के बजाय modprobe का उपयोग करते हैं तो यह मैक एड्रेस सेट नहीं कर सकता है; उस स्थिति में आईपी लिंक सेट देव eth0 पता डी: विज्ञापन: होना: एफई: सीए: एफए।


-1

सबसे सरल समाधान - हालांकि यह केवल एक ईथरनेट कार्ड के साथ सिस्टम पर काम करता है:

ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules

आर्क लिनक्स "अनुमानित नामकरण" का उपयोग करता है। इससे वह बंद हो जाता है।


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