سؤال هل تريد الاتصال بجهاز المضيف من نظام التشغيل Guest VirtualBox؟


أود في الأساس الوصول إلى جهاز الكمبيوتر المضيف من الضيف في VirtualBox. هل هناك عنوان IP مخصص لمضيفي والذي يمكنني استخدامه من الضيف؟ هل هناك خطوات إضافية مطلوبة لإعداد هذا؟ أود الوصول إلى خدمات Apache و FTP و SSH الخاصة بالمضيف.


193
2017-07-14 22:53


الأصل


من الصعب حل دون أي تلميح أي شبكة confiuguration الضيف لديك بالفعل. البعض لا يسمح بالوصول إلى المضيف. حاول عنوان العبّارة الافتراضية للضيف. - Turbo J
اتضح أنه يمكنني الوصول إليه من خلال بوابة افتراضية في 10.0.2.2. - Naftuli Kay
ذات صلة: stackoverflow.com/q/19933550/1157054  stackoverflow.com/q/16244601/1157054 - Ajedi32


الأجوبة:


هذه الإجابة حول إعداد نظام التشغيل الضيف في VirtualBox؛ تحتاج فقط إلى استخدام عنوان بوابة الشبكة على نظام تشغيل الضيف للاتصال بنظام التشغيل المضيف من نظام تشغيل الضيف.

في إعداد Vagrant الافتراضي ، يجب أن تكون قادرًا على الوصول إلى المضيف من خلال العبّارة الافتراضية.

على الضيوف الذين يعتمدون على Windows ، يمكنك بسهولة تحديد عنوان IP هذا عن طريق تشغيل الأمر:

ipconfig

يجب أن تفريغ شيء من هذا القبيل:

Windows IP Configuration

Ethernet adapter Local Area Connection:

        Connection-specific DNS Suffix  . :
        IP Address. . . . . . . . . . . . : 10.0.2.15
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 10.0.2.2

في هذا المثال ، يمكن للضيف الوصول إلى الجهاز المضيف 10.0.2.2.


على ضيوف Unix / Linux ، استخدم الأمر:

netstat -rn

يجب أن تفريغ شيء من هذا القبيل:

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 wlan0
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 wlan0

في هذا المثال ، يمكن للضيف الوصول إلى الجهاز المضيف 192.168.1.1.


241
2017-07-15 01:49



أي فكرة عن السبب في أن الاتصال سيكون بطيئًا بشكل كبير عند الاتصال باستخدام البوابة الافتراضية حسب إجابتك؟ - Ben Swinburne
يبدو أن هذا لا يعمل بالنسبة لي (Ubuntu 12.04، Vagrant 1.0). بوابة افتراضية داخل الضيف أظهرت 10.0.2.2، وفشلت nmap لذلك IP. 192.168.33.1 يبدو أن عنوان IP الصحيح. (كان لدي config.vm.network :hostonly, "192.168.33.52" في التكوين الخاص بي.) - Ajedi32
في الواقع ، لا يهم. لقد نجحت. كان nmap فقط لا يعمل لسبب ما ؛ غير متأكد من السبب. لا يزال بإمكاني الاتصال بالخدمات التي تعمل على المضيف من IP ، على الرغم من أن nmap لم يتم عرضها. - Ajedi32
netstat -rn على CentOS 7.2 ، عرض Docker 1.11 172.17 العنوان كبوابة ، لكن عنوان IP هذا لم يتطابق مع مضيفي. لقد أتضح أن 10.0.2.2 فعل. - Spencer Williams


من السهل الوصول إلى خادم الويب الخاص بالكمبيوتر المضيف من الضيف. ويمكن القيام بذلك بسهولة باستخدام طريقتين. أولا قم بما يلي

  • اذهب إلى الأجهزة وحدد محولات الشبكة... 
  • في إعدادات المحول ، تحقق من ارتبط ب.
  • إذا كانت القيمة NAT، قم بما يلي

  • العبّارة الافتراضية عند إعداد المربع الظاهري بشكل عام 10.0.2.2 كقيمة افتراضية. إذا لم تقم بتغيير أي شيء فهذا سيعمل. ولكن إذا قمت بتغييره وجهاز الضيف لك تعمل شبابيك قم بتشغيل الأمر التالي والعثور على الإعداد الافتراضي بوابة

    ipconfig /all

    إذا كنت في Linux أو Unix أو Mac OS ، قم بتشغيل الأمر التالي إلى احصل عليه

    netstat -rn | grep 'default' | awk '{print $2}'

  • انتقل إلى متصفح الويب واكتب في هذه البوابة الافتراضية واضغط على Enter. يمكن الوصول إلى خادم الويب.

  • إذا كانت القيمة محول سدها، قم بما يلي
    • العثور على عنوان IP للمضيف والضيف
      • إذا كنت على ويندوز ، تشغيل ipconfig والحصول على عنوان IP
      • إذا كنت تستخدم Linux أو Unix أو Mac OS ، فقم بتشغيل ifconfig | grep 'inet' والحصول على عنوان IP
      • عنوان IP هو مثل 192.168.1.1
    • إذا كنت ترغب في الوصول إلى المضيف ، قم بتشغيل المتصفح في الضيف وأدخل عنوان IP للمضيف
    • إذا كنت ترغب في الوصول إلى الضيف ، قم بتشغيل المتصفح في المضيف وأدخل عنوان IP الخاص بالضيف

31
2017-07-14 12:27





طريقة أخرى للقيام بذلك هي استخدام نوع "المضيف" من الشبكة الظاهرية. يمنحك ذلك واجهة في نظام التشغيل الضيف بعنوان على شبكة فرعية محلية مختلف من الشبكة الفرعية (العالم الخارجي) التي يعمل عليها مضيفك. لجعل هذا العمل ، عليك التأكد من بعض الأشياء:

  • يحتوي جهاز VM على مهايئ "مضيف فقط" تمت تهيئته ؛
  • يجب أن تستمع خدمات المضيف لديك إلى جميع المحولات المحلية ، أو على الأقل تلك التي تريد أن تكون قادرًا على الاتصال بها ؛
  • سيحصل مضيفك على مهايئ افتراضي خاص به ، وستحتاج إلى معرفة عنوان IP الخاص به وإضافته إلى ملف "المضيفات" في نظام التشغيل الضيف (على الرغم من أن هذا يعمل مع نظام التشغيل الضيف ، على نظام التشغيل Windows XP ، فهو فقط " يستضيف "ملف مدفون في C: / WINDOWS / system32 / drivers / الخ). أضف اسمًا تريد استخدامه لاسم مضيف المضيف.

بمجرد القيام بذلك ، يجب أن تكون قادراً على "رؤية" المضيف من VM عبر الاسم الذي تم ترميزه في ملف المضيف.

على سبيل المثال ، على مضيف Ubuntu 11.04 ، أحصل على واجهة افتراضية "vboxnet0" على 192.168.56.1. تأتي المحولات في الماكينات بشيء مثل 192.168.56.101. لست بحاجة للذهاب في إلى أجهزة VM الخاصة بي ، لكنني أفترض أن ذلك ممكن عبر تغيير متماثل لملف المضيف المضيف. انا اضفت

192.168.56.1 mymachine

لملفات مضيف نظام التشغيل الضيف ، ويمكنهم (على سبيل المثال) رؤية خادم الويب الخاص بجهاز المضيف الخاص بي على

http://mymachine/whatever

يمكنك بالطبع إعداد كل من مهايئات موصلة ومضيف فقط.


8
2017-07-17 18:37





يمكنك إنشاء مجلدات مشتركة في VirtualBox. سيؤدي ذلك تلقائيًا إلى إنشاء "مشاركة عبر الشبكة" داخل Virtual Box للوصول إلى المجلدات في نظام التشغيل Host الخاص بك.

فيما يلي خطوة لائقة خطوة في نظام تشغيل Windows XP guest:

http://www.giannistsakiris.com/index.php/2007/09/28/virtualbox-access-shared-folders-from-windows-xp-guest-os/


0
2017-07-14 23:08



حتى أتمكن من الوصول إلى المضيف الخاص بي على / vboxsvr / ShareName؟ - Naftuli Kay
نعم ، يمكنك تعيين مجلد مثل C: \ STUFF ليتم مشاركته مع VirtualBox. ضمن VirtualBox Guest OS ، يمكنك الانتقال إلى ذلك vboxserver والوصول إلى المجلدات المشتركة. - kobaltz
أنا في الواقع لا أريد المجلد المشترك. أريد عنوان IP لجهاز مضيفي. عندما أحصل عليه ، أود استخدامه لاستخدام الخدمات على الجهاز المضيف ، أي: echo "GET /\r\n\r\n" | nc 192.168.100.100 80 (أرسل طلب HTTP GET إلى الجهاز المضيف الخاص بي من الضيف.) - Naftuli Kay
في هذه الحالة ، قد تحتاج إلى تعيين محول الشبكة Guest OS الخاص بك إلى Bridge. سيؤدي ذلك إلى سحب عنوان IP من DHCP أو Router الخاص بك. ستتمكن عندئذٍ من الوصول إلى جهازك المضيف من خلال عنوان IP بدلاً من المجلد المشترك VBox. - kobaltz


هنا هو حل آخر لهذه المشكلة عن طريق استخدام واجهة شبكة إضافية وإعداد حركة موجهة للمضيف لتوجيهها عبر واجهة إضافية.


0
2018-03-28 15:12



مرحبًا بك في Super User! سيكون من الرائع لتشمل الأجزاء الأساسية من الإجابة هنا ، وتوفير الرابط فقط للرجوع إليها في المستقبل. - slhck