سؤال كيفية الحصول على VM VirtualBox لاستخدام DNS للمضيف؟


أنا أستعمل فيرتثلبوإكس ل VMs بلدي. إعداد شبكة مكتبي هو لاسلكي ، بمعنى أنني أقوم بالاتصال بشبكة WiFi الخاصة بشركتي ، والتي لديها DNS محلي لحل أسماء محلية (مثل something.mycompany.com الذهاب إلى 123.45.67.89). عندما أقوم بإنشاء جهاز VM جديد ، يمكنه الاتصال بالإنترنت الخارجي الذي يرث اتصال المضيف ولكنه لا يحل الأسماء المحلية باستخدام DNS المحلي. لذلك يجب أن أذهب إلى /etc/hosts على VM وجعل إدخال يدويا بعد أن حل اسم على المضيف ، وهو أمر مزعج.

هل هناك طريقة لجعل VirtualBox يقوم تلقائيًا بتوصيل الضيف إلى DNS الخاص بالمضيف حتى لا يلزم القيام بالخطوة اليدوية هذه؟ مضيفي هو أسد أسد الجبل، VMs عادة أوبونتو لكن أشك في أنه يجب أن يهم.


60
2017-09-06 15:48


الأصل




الأجوبة:


لتحقيق ذلك ، يمكنك الإعداد وضع وكيل DNS باستخدام محلل المضيف باستخدام الأمر التالي:

VBoxManage modifyvm "VM name" --natdnshostresolver1 on

ونتيجة لذلك ، سيتم اعتراض طلبات نظام أسماء النطاقات (DNS) الخاصة بالضيوف وحلها باستخدام مضيف DNS API ، بدلاً من توصيل نظام التشغيل بالضيف لخوادم DNS الخارجية كما هو الحال مع --netdnsproxy1 on.

يمكنك الحصول على اسم VM عن طريق تشغيل VBoxManage list runningvms.


85
2018-02-28 04:35



لمزيد من المعلومات للآخرين: يجب تشغيل هذا من المضيف. إذا كان مضيفك هو Windows ، فافتح "موجه الأوامر" ، cd إلى "C: \ Program Files \ Oracle \ VirtualBox" ، ثم قم بتشغيل هذا الأمر. لا يبدو أن هناك أي خيار في واجهة المستخدم الرسومية VirtualBox Manager (على الأقل في جميع الإصدارات من 4. * إلى 5.0.20) والتي تمكنك من ضبط هذا بأي طريقة أخرى. - Graham
أود أن أضيف أنك تحتاج إلى تشغيل هذا الأمر كمسؤول. لقد حاولت ذلك من كمد بلدي وأنه لم يعمل بالنسبة لي ، ولكن بعد ذلك ركضت كمد كمسؤول وعملت كل شيء على ما يرام تماما. - SergeyOvchinnik
هذا كان يعمل لي ، ولكن ليس مع Ubuntu 16.04 وأحدث virtualbox لـ Windows - Shanteva
لا يعمل بالنسبة لي كذلك :( - Pavel Durov
هذا لا يزال يعمل مع MacOs High Sierra كمضيف ، VirtualBox 5.2.6 ، يعمل بنظام التشغيل Windows 7 في VM. - John Eikenberry


نعم هذا ممكن. هناك العديد من الأوضاع المتاحة في فيرتثلبوإكس لإقامة التواصل بين الضيف والمضيف. بدلاً من استخدام وضع NAT (الافتراضي) ، يمكنك استخدام وضع الجسر حيث يمكن التعامل مع جهاز الضيف ككيان منفصل تمامًا على شبكتك. لذلك ، ليس فقط المضيف الخاص بك ، ولكن سوف ترى أي جهاز آخر (مثل خادم DNS الخاص بك) ضيفك كآلة منفصلة.

بمجرد إعداد وضع الجسر ، اذهب إلى ضيف ubuntu واحصل عليه لاستخدام اسم خادم DNS الخاص بشركتك أو ip. اقرأ هذا البرنامج التعليمي لمزيد من المعلومات: http://prahladyeri.wordpress.com/2012/08/02/how-to-setup-a-virtual-lan-on-your-machine-using-oracle-virtualbox/


5
2017-09-06 16:55





كانت هذه إحدى أهم نتائج Google ، لذا أردت توضيح للآخرين. يعمل حل يوشيا بالنسبة لي مع إضافة إضافة السطر:

"hosts: files dns" to /etc/nsswitch.conf

كما أشار آخرون ، لا يعمل الحل الأصلي أعلاه Ubuntu 16.04. ضيفي VM هو Ubuntu 16.04.

مرجع خلق خادم لينكس


4
2018-04-02 17:27



مرحبًا بك في Super User! يمكنك أن تقترح ذلك كتحرير لجواب يوشيا ، والذي من شأنه أن يساعد أولئك الذين يبحثون :) - bertieb
شكرا على الاكرامية! لقد حاولت إضافة تعليق فقط ، ولكن لم يكن مسموحًا به. لقد قدمت التعديل بدلاً من ذلك. - pretzel11


لا شيء من هذه عملت بالنسبة لي مع بلدي القديم أوبونتو 12.04 VM. كانت مشكلتي مع محول الشبكة 10 VirtualBox المضيف - Windows فقط. تعيين DNS على خوادم DNS لـ Google في TCP / IPv4 تم إصلاح هذه المشكلة بالنسبة لي. (انظر الفيديو والصور المرفقة)

  1. افتح لوحة تحكم Windows> مركز الشبكة والمشاركة
  2. انقر فوق "تغيير إعدادات محول"
  3. انقر بزر الماوس الأيمن فوق رمز "VirtualBox Host-Only Network"
  4. اختر "خصائص"
  5. حدد "Internet Protocol Version 4 (TCP / IPv4)
  6. انقر فوق "خصائص" زر
  7. أضف خوادم DNS المفضلة لديك في المربع
  8. انقر على زر "موافق"
  9. انقر على زر "إغلاق"

تم التعرف على هذا التغيير في جهاز VM الخاص بي بعد إعادة تشغيل VM ، يمكنك أيضًا ifdown / ifup الشبكة من VM لسحب إعدادات DNS الجديدة دون إعادة تشغيل VM.

لقطة شاشة لخطوات تغيير TCP / IPv4 DNS في Windows 10

Quick Tweak (VirtualBox): خسارة اتصال الشبكة بسبب تكوين DNS


-2
2017-10-17 21:13



أنت أساءت فهم السؤال تمامًا السؤال هو حول حل الأسماء في الشبكة المحلية ، وليس في الإنترنت بشكل عام. يعمل بالفعل كما هو متوقع ولا يحتاج إلى تغيير DNS. - GabrielaGarcia