Computer >> कंप्यूटर ट्यूटोरियल >  >> सॉफ्टवेयर >> आभासी मशीन

KVM ब्रिज्ड नेटवर्किंग में मास्टर करें: चरण-दर-चरण गाइड

ठीक है, अब तक, आप KVM के साथ काफी पारंगत हैं। हमारे पास कुछ ट्यूटोरियल रहे हैं, जिसमें बुनियादी परिचय और मध्यवर्ती सेटअप और उपयोग, नेटवर्क और स्टोरेज कॉन्फिगरेशन और VirtualBox के साथ KVM सेटअप शामिल हैं। अगला तार्किक कदम ब्रिज्ड नेटवर्किंग के बारे में सीखना है ताकि हम अपने वर्चुअल मशीन को उपयोग योग्य एक्सटर्नल IP पते दे सकें, यदि हमें पोर्ट फॉरवर्ड करने की आवश्यकता है और क्या नहीं।

आज मैं आपको जो दिखाने जा रहा हूं वह अधिकांश अन्य ट्यूटोरियल में आपने जो देखा है उससे थोड़ा अलग होगा। अर्थात्, मैं अन्य ट्यूटोरियल में आपके द्वारा देखे गए ब्रूट-फोर्स दृष्टिकोण के आसपास काम करने की कोशिश करूंगा। मैं आपके वर्चुअल मशीन को बाहरी दुनिया में उजागर करने के दो संभावित तरीके दिखाऊंगा। उनमें से एक एक हैक है, लेकिन यह बिल्कुल प्रतिभाशाली है। आपने इसे पहले कभी नहीं देखा! और हम सीमाओं और संभावित समस्याओं के बारे में थोड़ी बात करेंगे।

नोट: छवि विकिपीडिया से ली गई, CC BY-SA 3.0 के तहत लाइसेंस प्राप्त; इंडेक्स टीज़र, वही शर्तें।

बुनियादी तैयारी

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

उदाहरण: आपका राउटर 10.0.0.X रेंज में पते देता है। आपका भौतिक होस्ट 10.0.0.4 का उपयोग करता है, लेकिन आपकी वर्चुअल मशीन 192.168.2.133 के साथ चलती है। सिस्टम द्वारा पैकेट की व्याख्या करने के तरीके में कुछ बदलाव के बिना, 10.0.0 नेटवर्क पर क्लाइंट 192.168.2 नेटवर्क पर क्लाइंट से बात नहीं कर पाएंगे।

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

डिफ़ॉल्ट रूप से, KVM अपना खुद का ब्रिज बनाता है, 192.168.122.1। यह डिवाइस आपकी वर्चुअल मशीन के लिए एक वर्चुअल राउटर के रूप में कार्य करता है और उन्हें इस रेंज में IP पते देगा। हालांकि, हम चाहते हैं कि हमारी मशीनें एक्सटर्नल पते लीज पर लें। इस ट्यूटोरियल में, यह 192.168.2 रेंज है।

दो वैकल्पिक समाधान

ऐसे दो तरीके हैं जिनसे हम इसे आज़मा सकते हैं।

एक, हम एक ब्रिज बनाएंगे। दो डिवाइस ब्रिज्ड होंगे। हमारा भौतिक डिवाइस eth1 और वर्चुअल डिवाइस जिसे vnet0 कहा जाता है। यह सुनिश्चित करने के बाद कि हमारा ब्रिज ठीक से काम करता है, हम परिवर्तनों को डिस्क पर नेटवर्क कॉन्फिगरेशन फाइल में कमिट करेंगे। वर्चुअल मशीन राउटर से अपने IP पते लीज पर लेंगी। यह VirtualBox के साथ हमने जो किया उसके समान है। यह वह विधि है जिसे हम यहां कवर करेंगे।

दूसरी विधि के काम करने की गारंटी नहीं है, लेकिन यह बस काम कर सकती है। यदि आपका नेटवर्क एडाप्टर बॉक्स से बाहर ब्रिजिंग का समर्थन करता है, तो आप इसे सीधे उपयोग करने में सक्षम हो सकते हैं। आपको केवल एक छोटे सबनेट को अपने वर्चुअल ब्रिज में KVM में असाइन करने की आवश्यकता होगी, जो भौतिक होस्ट द्वारा नेटवर्क पर उपयोग किए जाने वाले पतों के साथ ओवरलैप नहीं करता है।

सीमाएं

कई चीजें गलत हो सकती हैं। आपका राउटर ब्रिजिंग का समर्थन नहीं कर सकता है। आपका नेटवर्क इंटरफेस ब्रिजिंग का समर्थन नहीं कर सकता है। आपके उपलब्ध IP एड्रेस लीज का पूल सीमित हो सकता है। आपके पास एक फायरवॉल हस्तक्षेप कर सकता है। अंत में, विशेष रूप से Ubuntu के लिए, यदि Network Manager ब्रिज्ड इंटरफेस का प्रबंधन कर रहा है तो आपको समस्याओं और संघर्षों का सामना करना पड़ सकता है।

अधिक पढ़ने के लिए, कृपया निम्नलिखित दस्तावेज़ देखें:

Linux Foundation पर ब्रिज सेटअप

KVM Networking - Ubuntu Community Documentation

ठीक है, अब आप जानते हैं कि हमारे आगे क्या है। ब्रिजिंग निश्चित रूप से एक सरल चीज नहीं है। कई चीजें हैं जिन पर आपको विचार करने की आवश्यकता है। पहला, क्या आपका नेटवर्क एडाप्टर बिल्कुल ब्रिजिंग का समर्थन करता है? उदाहरण के लिए, कुछ लैपटॉप पर, वायरलेस एडाप्टर वास्तव में काम के इस मोड का समर्थन नहीं करते हैं। दूसरा, क्या आप नेटवर्क सेटिंग्स के साथ छेड़छाड़ करने में सहज हैं? तीसरा, आप क्या हासिल करने की कोशिश कर रहे हैं? शायद NAT आपके लिए पर्याप्त है?

बुनियादी नेटवर्किंग अवधारणाएं

जबकि मेरा टेस्ट बॉक्स Ubuntu है, मैं इस ट्यूटोरियल को डिस्ट्रो-अज्ञेयवादी बनाना चाहूंगा। Ubuntu KVM कम्युनिटी दस्तावेज़ का पालन करना एक अच्छी बात है, लेकिन यह केवल Debian-आधारित सिस्टम के लिए काम करेगा। इसलिए, आइए थोड़ा विचलित करें और नेटवर्किंग अवधारणाओं को पेश करें जो RedHat और SUSE सिस्टम दोनों के लिए लागू हैं।

Debian-आधारित सिस्टम जैसे Ubuntu पर, लगातार नेटवर्क कॉन्फिगरेशन /etc/network/interfaces के तहत रखे जाते हैं। RedHat-आधारित सिस्टम प्लस SUSE दोस्तों और परिवार पर, नेटवर्क कॉन्फिगरेशन व्यक्तिगत फाइलों में /etc/sysconfig/network के तहत संग्रहीत होते हैं, आमतौर पर ifcfg-ethX या ifcfg-eth-MAC-address से प्रीफिक्स्ड। जेनेरिक eth को अपने सिस्टम पर ifconfig कमांड का उपयोग करके देखे गए संबंधित इंटरफेस नाम से बदलें।

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

ब्रिज बनाएं

अब, हम खेलने के लिए तैयार हैं। मैं सुझाव देता हूं कि आप brctl, ifconfig और dhclient कमांड का उपयोग करके शुरू करें। यदि मैं इनके उपयोग पर बहुत अधिक विवरण में नहीं जाता तो आप मुझे क्षमा करेंगे। यदि लोकप्रिय मांग है, तो एक अतिरिक्त ट्यूटोरियल होगा। सामान्य तौर पर, क्रम इस प्रकार है (sudo या रूट के साथ) - मान लीजिए br0, भौतिक और/या वर्चुअल डिवाइस eth0/1 और स्विच या राउटर से DHCP लीज:

ifconfig eth0 0.0.0.0
ifconfig eth1 0.0.0.0
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
dhclient br0

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

यदि आप अपने ब्रिज इंटरफेस को अपने DHCP सर्वर से एक्सटर्नल पता लीज पर लेते हुए देखते हैं, तो आप सही रास्ते पर हैं। घरेलू उपयोगकर्ताओं के लिए, DHCP सर्वर राउटर होगा। यदि आपके पास डायरेक्ट इंटरनेट कनेक्शन है, तो यह संभव नहीं हो सकता है, क्योंकि आपका ISP प्रति उपयोगकर्ता एक से अधिक IP पते की अनुमति नहीं दे सकता है।

एक बार ब्रिज्ड इंटरफेस आने के बाद, सुनिश्चित करें कि आपकी नेटवर्क कार्यक्षमता अपरिवर्तित रहती है। आपको अपने /etc/resolv.conf को संपादित करने और संभवतः रूटिंग टेबल को ठीक करने की आवश्यकता हो सकती है।

KVM ब्रिज्ड नेटवर्किंग में मास्टर करें: चरण-दर-चरण गाइड

और कुछ STP मज़ा - आवाज़ शरारती लगती है, है ना?

KVM ब्रिज्ड नेटवर्किंग में मास्टर करें: चरण-दर-चरण गाइड

वर्चुअल मशीन बनाएं

हमने पहले सीखा था कि यह कैसे करना है, इसलिए यह नई बात नहीं है। अंतिम चरण में, उन्नत विकल्पों के तहत, नेटवर्क एड्रेस असाइनमेंट बदलें और सुनिश्चित करें कि वर्चुअल एडाप्टर का एक अद्वितीय MAC पता है जो किसी अन्य के साथ संघर्ष नहीं करता है।

KVM ब्रिज्ड नेटवर्किंग में मास्टर करें: चरण-दर-चरण गाइड

KVM ब्रिज्ड नेटवर्किंग में मास्टर करें: चरण-दर-चरण गाइड

यदि आप भाग्यशाली हैं, तो आपको विशेष ब्रिजिंग सेटअप करने की भी आवश्यकता नहीं हो सकती है; आपका नेटवर्क एडाप्टर बॉक्स से बाहर इसका समर्थन कर सकता है, और फिर आप ठीक हैं! लेकिन आप शायद भाग्यशाली नहीं होने वाले हैं, इसलिए कुछ कठिन कीबोर्ड श्रम की अपेक्षा करें।

सुनिश्चित करने के लिए कि सब कुछ काम करता है:

KVM ब्रिज्ड नेटवर्किंग में मास्टर करें: चरण-दर-चरण गाइड

यदि आप इसे पिंग कर सकते हैं, तो आप इसे हैक कर सकते हैं। यह लगभग वही है जो हमने VirtualBox के साथ किया था। अब, आप सेवाओं को उजागर कर सकते हैं, डेटा शेयर कर सकते हैं और जो कुछ भी आपको चाहिए। आनंद लें।

वैकल्पिक सेटअप (काम न करे, लेकिन यह प्रतिभाशाली है)

आप इतने भाग्यशाली नहीं हो सकते। Network Manager सहयोग करने से इनकार कर सकता है और आपके सेटअप के साथ टन अन्य मुद्दे हो सकते हैं। इस अंत तक, आप एक अलग वर्चुअल नेटवर्क एडाप्टर बनाना चाह सकते हैं और इसे एक भौतिक डिवाइस पर रूट कर सकते हैं जो आपको लगता है कि बॉक्स से बाहर ब्रिजिंग का समर्थन करता है। परस्पर विरोधी IP पतों का ध्यान रखें।

अंत में, यदि यह आपके लिए काम करता है, तो आप एक बहुत गंदा हैक आज़माना चाह सकते हैं। एक वर्चुअल नेटवर्क बनाएं जो आपके नेटवर्क के साथ समान /24 स्पेस साझा करता है। उदाहरण के लिए, यदि आपका राउटर 192.168.2.0 नेटवर्क पर है, तो एक वर्चुअल नेटवर्क बनाएं जो 192.168.2.160 से शुरू होता है और इसे केवल एक छोटी रेंज दें, शायद कुल मिलाकर 16 पते। सुनिश्चित करें कि आपका राउटर नेटवर्क पर अन्य क्लाइंट को कभी भी उन पतों को नहीं देता है।

यहां एक उदाहरण है: मैंने एक नेटवर्क 192.168.2.160/28 बनाया। मुझे उम्मीद नहीं है कि मेरा राउटर कभी उस रेंज में पता लीज पर देगा, लेकिन मैं इसके DHCP असाइनमेंट को सीमित कर सकता हूं। फिर, वर्चुअल नेटवर्क को एक भौतिक डिवाइस पर रूट करें, इस मामले में, एक वायरलेस एडाप्टर eth1।

और अब, अपनी वर्चुअल मशीन बनाएं और eth1 पर रूट करें, ठीक ऊपर की तरह। एक बार जब यह ऑनलाइन हो जाता है, तो प्यारा सहयोग देखें। होस्ट का .102 पता है, वर्चुअल NIC virbr1 का .161 पता है, जबकि वर्चुअल मशीन .168 पते के साथ आई।

और यहां एक ही नेटवर्क पर एक भौतिक Windows 7 बॉक्स से पिंग है, .103 पते के साथ, Ubuntu Lucid बॉक्स पर .161 पते के साथ वर्चुअल एडाप्टर को पिंग कर रहा है, दोनों वायरलेस, दोनों एक ही राउटर के माध्यम से जुड़े हुए हैं, यह दिखा रहा है कि यह सेटअप वास्तव में कितना प्यारा और स्मार्ट है। अब, यह हमेशा काम नहीं करेगा, लेकिन जब यह करता है, तो यह प्रतिभाशाली है।

मौजूदा वर्चुअल मशीन

मौजूदा वर्चुअल मशीन के लिए, आप /etc/libvirt/ के तहत निर्देशों को बदलकर सेटिंग्स को संपादित भी कर सकते हैं। प्रत्येक वर्चुअल मशीन की एक अलग .xml कॉन्फिगरेशन फाइल होती है। किसी भी बदलाव को प्रभावी होने के लिए आपको अपनी वर्चुअल मशीन को पावर साइकिल करने की आवश्यकता होगी। उदाहरण के लिए:

<interface type='bridge'>
<mac address='00:11:22:33:44:55'/>
<source bridge='br0'/>
</interface>

निष्कर्ष

KVM ब्रिज्ड नेटवर्किंग सेटअप वास्तव में सहज नहीं है। यह उतना ही अनुकूल है जितना VirtualBox कुछ दो या तीन साल पहले था। लेकिन यह प्रबंधनीय है, हालांकि आपकी वास्तविक सीमाएं नेटवर्क टोपोलॉजी की समझ और कार्यक्षमता होंगी। यह निश्चित रूप से समय के साथ बेहतर होगा।

यदि आप भाग्यशाली हैं, तो आपके नेटवर्क एडाप्टर बॉक्स से बाहर ब्रिजिंग का समर्थन करेंगे। यदि नहीं, तो आपको एक ब्रिज एडाप्टर बनाने और भौतिक और वर्चुअल नेटवर्क डिवाइस असाइन करने की आवश्यकता होगी। फिर, DNS, DHCP या रूटिंग के साथ किसी भी संभावित मुद्दे को हल करें। अंत में, एक गंदे हैक के रूप में, आप अपनी नेटवर्क रेंज का दुरुपयोग करना और सबनेट के भीतर एक सबनेट बनाना चाह सकते हैं, सुनिश्चित करें कि IP पते कभी ओवरलैप न हों, और फिर अपने वर्चुअल एडाप्टर को अपने भौतिक डिवाइस पर रूट करें।

यह ट्यूटोरियल एक चालाक मोड़ के साथ काफी बुनियादी है, लेकिन कई मुद्दे अनकवर्ड रह सकते हैं। यदि आपके पास प्रश्न, सुझाव हैं या KVM में कठिन नेटवर्क सेटअप पर काबू पाने के लिए टिप्स की आवश्यकता है, तो मुझे एक मेल भेजें और मैं इन नई समस्याओं को संबोधित करने वाला एक सीक्वल हाउ-टू बना सकता हूं।

चीयर्स।

  1. एकाधिक VMs के लिए वर्चुअलबॉक्स NAT नेटवर्किंग कॉन्फ़िगर कैसे करें एकाधिक VMs के लिए वर्चुअलबॉक्स NAT नेटवर्किंग कॉन्फ़िगर कैसे करें

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

  1. KVM स्टोरेज प्रबंधन में महारत हासिल करना: एक व्यापक ट्यूटोरियल KVM स्टोरेज प्रबंधन में महारत हासिल करना: एक व्यापक ट्यूटोरियल

    ठीक है, कुछ दिन पहले, मैंने आपको कर्नेल-आधारित वर्चुअल मशीन (KVM) तकनीक से परिचित कराया, एक मुफ्त और ओपन-सोर्स वर्चुअलाइज़ेशन समाधान जिसे आप वर्चुअलबॉक्स और VMware उत्पादों के बजाय उपयोग करने पर विचार कर सकते हैं - या शायद उनके साथ। किसी भी तरह, हमने बुनियादी प्रबंधन में डब किया, लेकिन स्टोरेज और ने

  1. VirtualBox में मास्टरी: डिस्क छवियों को क्लोन करने के लिए चरण-दर-चरण गाइड VirtualBox में मास्टरी: डिस्क छवियों को क्लोन करने के लिए चरण-दर-चरण गाइड

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