कुछ वर्चुअल मैक एड्रेस बनाएं


11

मैं अपने नेटवर्क एडाप्टर या वायरलेस एडाप्टर के लिए कुछ वर्चुअल मैक पते बनाना चाहता हूं, इसलिए मैं एक कंप्यूटर या लैपटॉप से ​​एक से अधिक आईपी पते के साथ नेटवर्क से कनेक्ट कर सकता हूं।

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


आपको यह निर्दिष्ट करना होगा कि आप किस ऑपरेटिव सिस्टम का उपयोग कर रहे हैं और अंततः, कौन सा वितरण।
andcoz

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

जवाबों:


19

आपको बस इतना करना है

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

फिर वर्चुअल नेटवर्क इंटरफ़ेस चालू करें

ifconfig eth0.1 up

और फिर वैकल्पिक रूप से dhcp के माध्यम से एक आईपी प्राप्त करें

dhclient -v eth0.1

13

आपको एक नेटवर्क नेटवर्क पर एक से अधिक आईपी पते के लिए एक मैक पते की अधिक आवश्यकता नहीं है। इस तकनीक को आईपी ​​अलियासिंग कहा जाता है ।

प्रत्येक ऑपरेटिव सिस्टम में थोड़ा अलग सिंटैक्स होता है, लेकिन आमतौर पर, एक ही इंटरफ़ेस पर अलग-अलग आईपी पते सेट करने के लिए, आपको केवल कुछ करने की आवश्यकता होती है:

ifconfig eth0 192.168.100.200 netmask 255.255.255.0
ifconfig eth0:1 192.168.120.200 netmask 255.255.255.0
ifconfig eth0:2 192.168.130.200 netmask 255.255.255.0

ऊपर दिया गया उदाहरण लिनक्स पर काम करता है। बीएसडी पर, आपको कुछ इस तरह की आवश्यकता है:

ifconfig lnc0 192.168.100.200 netmask 255.255.255.0
ifconfig lnc0 192.168.120.200 netmask 255.255.255.0 alias
ifconfig lnc0 192.168.130.200 netmask 255.255.255.0 alias

हमारे विश्वविद्यालय के वायरलेस नेटवर्क में, सिस्टम सुबह 8 बजे से 9 बजे तक प्रत्येक मैक पते पर एक आईपी पता देता है, और अगर मैं वर्चुअल मैक एड्रेस बना सकता हूं, तो सिस्टम प्रत्येक आईपी को अधिकतम 32KB की गति तक सीमित कर देता है, इसलिए यह पता नहीं लगा सकता है एक के रूप में मेरा लैपटॉप और यह मुझे एक से अधिक आईपी एड्रेस देगा।
मोईन होसेनी

कृपया @ Moein7tl, अपने प्रश्न को संपादित करें और निर्दिष्ट करें कि आप अपने विश्वविद्यालय के dhcp सर्वर द्वारा एक से अधिक आईपी पते निर्दिष्ट करने के लिए एक विधि खोज रहे हैं ।
andcoz

4

संपादित करें: वर्चुअल डिवाइस की स्थापना के लिए संकेत जोड़ें:

पहले एक अतिरिक्त डिवाइस सेट करें जैसे:

ifconfig eth0:1 up

आप इसके अतिरिक्त एक आईपी जोड़ सकते हैं। उदाहरण के लिए:

ifconfig eth0:1 10.0.0.20 broadcast 10.255.255.255 netmask 255.255.255.255

यदि आप वास्तव में चाहते हैं, तो आप मैक-पता भी बदल सकते हैं:

ip link set eth0:1 address 02:73:53:00:ca:fe

ध्यान दें कि पहले बाइट के दूसरे बिट को स्थानीय रूप से प्रशासित पते (LAA) को इंगित करने के लिए सेट किया जाना है - जो कहता है कि यह मैक-पता केवल स्थानीय रूप से मान्य है (जैसे आपके एंटरप्राइज़ नेटवर्क के भीतर) और अद्वितीय विश्वव्यापी नहीं हो सकता (इसलिए आप आधिकारिक तौर पर उन्हें पंजीकृत करने की आवश्यकता के बिना अपने स्वयं के मैक-पते असाइन कर सकते हैं)।


लेकिन जब मैं इसके साथ अपने घर के वायरलेस नेटवर्क से जुड़ता हूं, तो यह केवल मैक एड्रेस को बदल सकता है, और मेरा मॉडेम मुझे 2 या अधिक आईपी एड्रेस नहीं देता है। मुझे अपने मॉडेम पेजों में केवल एक मैक एड्रेस दिखाई देता है।
मोईन होसैनी

आपको निश्चित रूप से, पहले एक अतिरिक्त वर्चुअल डिवाइस सेट करना होगा। यही कारण है कि मैंने कहा "भी"। अपने प्रश्न के उत्तर को देखें जो आईपी-अलियासिंग को रेखांकित करता है। मैं इनके लिए 255.255.255.255 के नेटमास्क का उपयोग करना पसंद करता हूं। लेकिन आपने वर्चुअल आईपी के लिए नहीं पूछा, और कभी-कभी एक मैक के साथ डिवाइस को चलाने और चलाने के लिए पर्याप्त है।
निल्स

1
जहाँ तक मुझे पता है, आपके लिए अलग मैक पते नहीं हो सकते हैं eth0और :eth0: 1,। eth0:1जैसा कि आप वर्णित के अनुसार बनाते हैं । यह सुनिश्चित करने के लिए, मैंने इसे अपने सिस्टम पर परीक्षण किया। अंतिम कमांड ( ip link ...) ने दोनों "इंटरफेस" के मैक पते को बदल दिया है। इसका मतलब eth0है कि खुद भी नया मैक एड्रेस मिल गया है। कारण यह है, कि ifconfig eth0:1 upएक नई कड़ी नहीं बनेगी। यह केवल एक मौजूदा एक आईपी पते को जोड़ेगा। macvlanलिंक बनाने से जाने का रास्ता मालूम पड़ता है।
जोजोतएक्सजीएमई

3

यह मेरे लिए लिनक्स (काली) पर काम कर रहा है। आपको अपनी व्यक्तिगत स्थिति के आधार पर पते, गेटवे, या नेटमास्क बदलने की आवश्यकता हो सकती है। क्षमा करें यदि आपको इसकी आवश्यकता नहीं है, तो अगले व्यक्ति के लिए यहाँ ठोकर खाना है, जैसा कि मैंने कुछ समय पहले किया था।

कहाँ <your-nicN>क्या आप एक से देख रहा है ifconfigके रूप में इस तरह के eth0याwlan0

sudo ip link add link <your-nicN> mac0 type macvlan && sudo ifconfig mac0 up

यह mac0 नामक एक नया "वर्चुअल" इंटरफ़ेस बनाता है और इसे ऊपर लाता है। मैंने अप कमांड को जोड़ा क्योंकि पहले मुझे लगा कि यह काम नहीं कर रहा है, लेकिन इसके sudo ip link show [tab][tab]अलावा एक डबल टैब एक सूची के साथ पूरा हुआ जिसमें mac0 शामिल था, फिर मैंने इसे ifconfig के साथ लाने और इसे एक पता देने के लिए आगे बढ़ाया।

बस इसे एक आईपी पता निर्दिष्ट करने के लिए याद रखें या इसे dhcp का उपयोग करने के लिए कहें

ifconfig mac0 inet 192.168.1.107 netmask 255.255.255.0 #static/manual config

या

dhclient mac0 # For a dhcp-client, to get ip from router.

यदि आपको एक डिफ़ॉल्ट गेटवे निर्दिष्ट करने की आवश्यकता है:

sudo ip route add default via 192.168.1.1 

जिस जगह से मुझे यह मिला है वह यहाँ है: http://www.pocketnix.org/posts/Linux%20Networking :% 20MAC % 20VLANs % 20and % 20Virtual % 20Eeetets

Edit3: मैंने "बॉन्ड" के साथ खिलवाड़ करने की कोशिश की, ifenslaveलेकिन मुझे उस पर थोड़ा और अध्ययन करने की ज़रूरत है, मैं वास्तव में इसका पता नहीं लगा सका। हालांकि मैंने GNS3 में एक "इथरस्विच राउटर" स्थापित करने के लिए क्या किया था और फिर macNएक "अंत" पर उपकरणों के दस "क्लाउड" को सौंपा और फिर vmware होस्ट को केवल एडाप्टर के लिए एक और "क्लाउड" दिया, वर्चुअलबॉक्स शायद एक ही काम करेगा दूसरे "अंत" पर, मैं उस बिट के साथ गड़बड़ करने जा रहा हूं और देखूंगा कि क्या मैं macN"एकत्रीकरण" का अनुकरण करने के लिए उपकरणों पर गति को सीमित कर सकता हूं या यदि मैं "वृद्धि" के लिए दस कनेक्शनों में लोड वितरित कर सकता हूं बैंडविड्थ। शायद अगर मैं उन सभी को txqueuelen: 10 पर लिनक्स पर सेट करूँ। मेरे पास इसके दूसरे "अंत" पर ड्रैगनफ्लाईबीएसडी है, मैं इसे जीएनएस 3 के माध्यम से अपने वास्तविक राउटर से जोड़ने का प्रयास करूंगा।

Edit2: यहाँ एक त्वरित स्क्रिप्ट है, जितना कि आपको dhclient की आवश्यकता है। इसे जड़ के रूप में चलाने की जरूरत है। तो फ़ाइल बनाएँ, chmod 750 <script>और sudoयदि आप कर सकते हैं / के साथ इसे चलाएं । मैं इसे इस तरह से उपयोग करता हूं: ./crazy-mac.sh 20यह पहला तर्क लेता है और प्रत्येक मैक और आईपी पते के साथ कई नए इंटरफेस बनाता है। कोई विवेक जांच नहीं है, इसलिए इसे बुद्धिमानी से उपयोग करें, या कुछ स्वयं जोड़ें;)

नोट: पहले अपने सामान्य wlan0 के साथ जुड़ना सुनिश्चित करें अन्यथा यह अभ्यस्त कार्य नहीं होगा। कैसे-कनेक्ट-मैन्युअल-से-एक वायरलेस-एपी इसके अलावा, अगर उनकी राउटर पर मैक एक्सेस कंट्रोल सूची है, तो आपको राउटर द्वारा स्वीकार किए गए मैक पते की सूची हासिल करने के लिए कुछ सूँघने की आवश्यकता हो सकती है। फिर आपको उस सूची के साथ फ़ाइल पार्स करने के लिए स्क्रिप्ट को संपादित करने की आवश्यकता होगी और $iयादृच्छिक मैक पते बनाने की अनुमति देने के बजाय अनुक्रम में प्रत्येक के लिए एक पंक्ति का उपयोग करना होगा ।

नोट 2: आप sleep <N>कहीं न कहीं लूप में कुछ डालना चाह सकते हैं , इससे कई "डिवाइस" क्रमिक रूप से सामने आएंगे और संभवत: कुछ लाल झंडे उठाएंगे यदि कोई भी नेटवर्क पर ध्यान दे रहा है। मुझे नहीं लगता कि सामान्य परिस्थितियों में 20 कुछ उपकरण इस तरह से पॉप अप होंगे।

#!/bin/sh
## crazy-mac.sh
for i in $(seq ${1}); do
    ip link add link wlan0 mac${i} type macvlan && \
    ifconfig mac${i} up && \
    dhclient mac${i};
done

और उन्हें नीचे लाने के लिए: फिर से बस एक त्वरित स्क्रिप्ट ...

#!/bin/sh
## crazy-down.sh
for i in $(seq ${1}); do
    ifconfig mac${i} down && \
    ip link delete mac${i};
done

और अगर आपको मैक पतों की एक सूची की आवश्यकता है, तो यह बैश के साथ काम कर रहा है जब एक फ़ाइल प्रति पंक्ति एक मैक पते की एक सूची है।

#!/bin/bash
## crazy-mac2.sh
## Usage : crazy-mac2.sh <N> </path/to/mac-list.txt>
MACLIST=($(cat ${2}))

# This is for testing, comment this and uncomment out the other for loop
# if this one works the other should also.
for i in $(seq ${1}); do
    echo "mac${i} :  ${MACLIST[${i}-1]}"; done

#for i in $(seq ${1}); do
#    ip link add link wlan0 mac${i} address ${MACLIST[${i}-1]} type macvlan && \
#    ifconfig mac${i} up && \
#    dhclient mac${i};
#done

unset MACLIST

संपादित करें: मैं सिर्फ "लैग" उपकरणों (यूनिक्स के लिए कम से कम) के बारे में पढ़ रहा था, जिनका उपयोग प्रदर्शन बढ़ाने के लिए या गिरने के कारण प्रदान करने के लिए एक एकल "लैग" इंटरफेस में कई इंटरफेस को एकत्र करने के लिए इस्तेमाल किया जा सकता है।

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

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