Як отримати доступ до мого локального сервера на моїй віртуальній машині VirtualBox?


9

Ось моя настройка:

  • На моїй машині працює локальний сервер (Mac OS, Snow Leopard). Я можу отримати доступ до нього через свій браузер, зробивши це

    localhost: 3000

  • У мене віртуальна машина, що використовує Virtual Box, що працює під управлінням Windows XP. Якщо я спробую отримати доступ за допомогою localhost: 3000, це не вдасться. Те саме, якщо я використовую ip машини Mac.

  • Віртуальна машина має доступ до Інтернету.

Як я можу отримати доступ до свого локального сервера у своїй віртуальній машині?


якщо ви спробуєте отримати доступ до "localhost" на віртуальній машині, він намагається підключитися до себе, а не до сервера macosx. Я думаю, що відповіді до цих пір пропустили це питання
брендстаеттер

1
Я знаю , що це і стара нитку, але ось відповідь stackoverflow.com/questions/1261975 / ...
deiga

Відповіді:


16

Як у вас налаштування мережі у віртуальній машині?

Здається, ви можете налаштувати його за допомогою NAT. У цій ситуації, якщо ваша хост-машина (Mac) має IP-адресу без маршрутизації (приватну), наприклад 192.168.xx, ви не зможете дістатися до хоста зсередини віртуальної машини. Причина, по якій ви не можете дістатися до господаря від гостя, полягає в тому, що ви по суті налаштовуєте дві окремі приватні мережі. Ваш комп'ютер Mac знаходиться на одному (192.168.xx), а ваш VM - на іншому (можливо, 10.xxx), і ви по суті маєте маршрутизатор між ними. Оскільки маршрутизатори не будуть маршрутизувати приватні IP-адреси, дві мережі ніколи не можуть спілкуватися безпосередньо з кожним.

Якщо ви хочете, щоб ваш хост і гостьові машини мали змогу спілкуватися, ви, ймовірно, захочете встановити мережевий адаптер VirtualBox, щоб він був приєднаний до "мостового адаптера". Це поділиться вашим інтернет-зв’язком з віртуальною машиною і дозволить вашій гостьовій машині поговорити з хостом. У цій ситуації ви по суті додаєте свій VM як додатковий вузол до локальної мережі, на якій вже працює ваш Mac.


У розділі "Мостовий адаптер" і хост, і гість матимуть IP-адреси в одній підмережі (тобто 192.168.xx), правильно?
kdbanman

@kdbanman, правильно (якщо припустити, що хост-мережа використовує DHCP), VM відображатиметься як інша машина в хост-мережі.
важкий

Це здається набагато більш природним способом налаштування VM. Чому можна використовувати окрему приватну мережу з NAT? Безпека?
kdbanman

1
Так, NAT забезпечує ізоляцію. Крім того, деякі мережі не дозволять підключитися будь-якому хосту, тому використання NAT дозволяє дозволити ВМ отримати доступ до мережевих ресурсів через інтерфейс хостів. З цієї причини він також використовується як за замовчуванням, його налаштування менш схильне до помилок, але я згоден, що я віддаю перевагу мостові в більшості ситуацій.
важкий

1

Залежно від мережевих налаштувань вашого vm, вам, ймовірно, потрібно буде додати додатковий IP-адресу до хост-операційної системи, яка знаходиться в тій самій підмережі, що і ваша vm, щоб вони могли спілкуватися. У вашому vm, ймовірно, є адреса 192.168.xx, тому додайте аналогічну адресу до машини Mac:

Наприклад, якщо vm має 192.168.1.99 і маску підмережі 255.255.255.0, ви можете зробити це своєму хосту:

ifconfig eth0: 0 192.168.1.199 маска мережі 255.255.255.0 вгору

можливо, вам також знадобиться перезапустити адаптер.


1

У мене була така ж точна проблема, тільки я використовував Windows 7 як гість.

Що я зробив, це «Пуск -> Виконати ->», cmdщоб вивести командний рядок.

ipconfigвивести деталі з'єднання. Шукайте адресу, яка виглядає як 10.xxx, це ваш Mac.

Тепер використовуйте це для підключення до локального сервера на вашому Mac.

Для мене зазвичай це щось на кшталт http://10.0.2.2:80/blah

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.