मैं होस्ट मशीन से वर्चुअलबॉक्स पर वेब सर्वर तक कैसे पहुँच सकता हूँ [बंद]


29

मेरे पास एक विंडोज़ विस्टा मशीन है जिस पर वर्चुअलबॉक्स ubuntu चल रहा है।

उबंटू में मैं http://127.0.0.1:3000/ पते पर एक वेबसर्वर चला रहा हूं

मैं अपने होस्ट मशीन (विंडोज़ बॉक्स) से इस पते पर कैसे पहुँच सकता हूँ?


पोर्ट फॉरवार्डिंग का उपयोग करना सबसे सरल विकल्प है। इसे सेटिंग-> नेटवर्क के तहत कॉन्फ़िगर किया जा सकता है। इस लिंक को देखें
संयमी

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

जवाबों:


28

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

संपादित करें:

उपरोक्त चरणों का पालन करने के बाद, उबंटू को पुनः आरंभ करें और आवंटित आईपी लोड के बाद स्वागत स्क्रीन पर दिखाई देगा। यानी स्वागत संदेश में इसे कुछ इस तरह कहना चाहिए:

Eth0: 192.168.1.3 के लिए आईपी पता

मेजबान मशीन के ब्राउज़र बार में इस पते का उपयोग करें और इसके बाद पोर्ट का उपयोग करें। यदि पोर्ट 80 के अलावा इसका कुछ भी। यानी यदि आप इसे पोर्ट 666 का उपयोग करने के लिए सेट करते हैं, तो पता 192.168.1.16-166 होगा।

आईपी ​​को खोजने का दूसरा तरीका है कि आप अपने राउटर में निर्मित HTTP सर्वर से कनेक्ट करें और LAN सेटिंग्स में देखें। नेटवर्क पर प्रत्येक मशीन को होस्ट नाम और आईपी द्वारा सूचीबद्ध किया जाना चाहिए। मेरे राउटर में जो अन्य मेरे पास है, आप एड्रेस बार में 192.168.1.1 टाइप करके ऐसा कर सकते हैं। यदि वह विफल रहता है तो पोर्ट 81 पर एक ही पते की कोशिश करें। यदि वह विफल रहता है तो MANUAL पढ़ें।


लेकिन फिर आप कैसे पता लगा सकते हैं कि आईपी एड्रेस क्या है? Thx
SSH यह

यह काम करेगा लेकिन होस्ट-ओनली फ्लॉप का विकल्प कॉर्पोरेट नेटवर्क के लिए उस vm को उजागर करता है
कार्लोस गार्सिया

2
क्या मैं यहां केवल वही हूं जो यह सोचता है कि 127.0.0.1 के मेहमान के समापन बिंदु को केवल अतिथि के भीतर से पहुँचा जा सकता है (यह स्थानीय बात है)? अतिथि मशीन के बाहर किसी भी चीज से उस तरह के समापन बिंदु तक पहुंचने का कोई तरीका नहीं होना चाहिए (क्योंकि यह लूपबैक एडॉप्टर है, इसे स्थापित नेटवर्क कार्ड की भी आवश्यकता नहीं है)।
म्लादेन बी।

अगर मैं इस 192.1681.3 को Godaddy पर एक रिकॉर्ड के लिए IP के रूप में दर्ज करता हूं तो यह काम नहीं करता है, जाहिर है कि यह एक बाहरी आईपी पते की उम्मीद करता है, अगर मैं यह कहता हूं, अभी भी कुछ रियोज़न के लिए काम नहीं करता है, तो मैं स्थानीय स्तर पर एक डोमेन का परीक्षण करना चाहता हूं। EC2
PirateApp

10

निर्भर करता है कि आप उबंटू अतिथि ओएस पर नेटवर्किंग कैसे सेटअप करते हैं। यदि आप NAT का उपयोग करने के लिए इसे सेट करते हैं और आपके नेटवर्क पर DHCP सर्वर चल रहा है, तो बस इसे चलाएं:

ifconfig | grep inet

उबंटू बॉक्स पर - आपको उबंटू अतिथि को सौंपा गया आईपी पता दिखाई देगा।

उदाहरण:

#ifconfig | grep inet
  inet addr:10.0.0.2  Bcast:10.255.255.255  Mask:255.255.255.0
  inet addr:127.0.0.1  Mask:255.0.0.0

फिर बस http ://10.0.0.2:3000 मारा


वैसे मेरे मामले में पता 10.0.2.15:3000/public होना चाहिए और डिफ़ॉल्ट रूप से विस्टा डीएचसीपी मोड में चलता है .. (ubuntu मशीन NAT का उपयोग करने के लिए भी कॉन्फ़िगर किया गया है) हालांकि मुझे कोई प्रतिक्रिया नहीं मिल रही है :(
Argh

ह्म्म्म को बस एहसास हुआ कि मेरे पास डीएचसीपी सर्वर नहीं है - मैं विस्टा घर चला रहा हूँ ...
अर्घ

वर्चुअलबॉक्स का अपना स्वयं का डीएचसीपी सर्वर है जो वर्चुअल मशीनों को संभालता है - अन्यथा वर्चुअल मशीनें स्वचालित रूप से एक आईपी एड्रेस प्राप्त नहीं करती हैं जो उन्हें सांख्यिकीय रूप से सेट किए बिना होती है। मुझे लगता है कि आपकी समस्या यह हो सकती है कि आप अपाचे को सभी इंटरफेस पर नहीं सुन रहे हैं - सिर्फ लोकलहोस्ट (127.0.0.1)। सुनिश्चित करें कि में / etc / apache2 / साइटों से उपलब्ध / डिफ़ॉल्ट कि सुनो निर्देश का कहना है 80, प्रति नहीं 127.0.0.1:80 help.ubuntu.com/9.04/serverguide/C/httpd.html
कोरी Plastek

शायद यही कारण है।
fsckin

4

आपका विंडोज बॉक्स और उबंटू बॉक्स (चाहे वे भौतिक हों या आभासी इस उदाहरण में वास्तव में कोई फर्क नहीं पड़ता) दोनों को एक ही सबनेट पर एक आईपी एड्रेस होना चाहिए ताकि वे टीसीपी / आईपी के माध्यम से एक दूसरे से बात कर सकें। आप निजी IP सबनेट ( RFC 1918 देखें ) में से किसी एक का उपयोग करके प्रत्येक OS को एक अतिरिक्त पता दे सकते हैं । एक बार जब वे दोनों एक ही सबनेट पर एक पता रखते हैं, तो आपने जो उबंटू दिया था, उसे सुनने के लिए वेब सर्वर को कॉन्फ़िगर करें और फिर इसे लोड करने के लिए विंडोज के भीतर ब्राउज़र में उस आईपी का उपयोग करें।

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


2

आपकी समस्या को हल करने के लिए, मुझे लगता है कि आप एक नया नेटवर्क एडेप्टर जोड़ते हैं और इसे होस्ट-ओनली एडॉप्टर के रूप में कॉन्फ़िगर करते हैं ।

अब आप वर्चुअल बॉक्स इंस्टेंस चलाते हैं और फिर fsckin देखते हैं कि नए नेटवर्क का आईपी क्या है ।

इस तरह आपके पास आपके कंप्यूटर और आपकी वर्चुअल मशीन के साथ एक सबनेट है।


इसलिए ... जैसा आपने कहा, मैंने अपना IP पता पकड़ा है। फिर मैंने वेबसर्वर (जिसे मैं 127.0.0.1:3000 के रूप में अतिथि के रूप में एक्सेस कर सकता हूं ) को आवंटित राशि का उपयोग करने की कोशिश की: 3000 और मुझे जवाब नहीं मिला। लेकिन मैं मेजबान से आईपी पिंग कर सकता था
अर्ग

आपको पोर्ट 3000 पर फ़ायरवॉल खोलने की आवश्यकता है।
fampinheiro

होस्ट-केवल बॉक्स से बाहर काम नहीं करेगा: serverfault.com/questions/205477/…
givanse

0

सबसे पहले, आपको वह करने की ज़रूरत है जो उत्तर 1 कहता है:

"आप अपने गेस्ट नेटवर्किंग मोड को NAT से Bridged में बदल सकते हैं। बस अपने Ubuntu अतिथि को बंद करें, VirtualBox में सेटिंग्स पृष्ठ पर जाएं, नेटवर्क श्रेणी का चयन करें और अटैच्ड को NAT से Bridged मोड में बदलें।"

फिर, अपना आईपी पता पाने के लिए:

अपने वर्चुअल मशीन पर, कमांड प्रॉम्प्ट खोलें और करें:

ip addr show

आपको शायद एक पंक्ति दिखाई देगी जो कुछ इस तरह दिखती है:

inet 192.168.43.96/24 ....

इससे पहले की भी एक लाइन है

inet 127.0.0.1

लेकिन आप ऐसा नहीं चाहते हैं! आप 192 का पता चाहते हैं। यह आपके स्थानीय नेटवर्क पर आपकी वर्चुअल मशीन का पता है। यह उसी स्थानीय नेटवर्क पर हुक किए गए किसी भी उपकरण द्वारा सुलभ होना चाहिए।

अब अपने होस्ट मशीन पर, फ़ाइल / etc / होस्ट्स को संपादित करें (Not ~ / etc) फ़ाइल का नाम होस्ट है (यह एक फ़ोल्डर नहीं है)

इस तरह दिखने वाली एक लाइन जोड़ें:

192.168.43.96 myvm.nameofmywebsite.com

अब अपने होस्ट मशीन ब्राउजर पर जाएं और myvm.nameofmywebsite.com टाइप करें

उम्मीद है कि ऐसा करेंगे!

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

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