Як отримати доступ до хост-машини з гостьової машини? [зачинено]


124

Я щойно створив нову Windows XP VM на своєму Mac за допомогою VMware Fusion. ВМ використовує NAT для обміну Інтернет-з'єднанням хоста.

Як отримати доступ до програми Rails, яка доступна на самому Mac за допомогою http://localhost:3000?

Відповіді:


134

На комп'ютері XP знайдіть свою IP-адресу, перейшовши до командного рядка та ввівши ipconfig. Спробуйте замінити останнє число на 1 або 2. Наприклад, якщо ваша IP-адреса 192.168.78.128, використовуйте http://192.168.78.1:3000 .


3
врятували мені години факсу - беріть себе на спину, сер!
iancrowther

Я використовую Lion як Host та Win7 як гість, але я не зміг відвідати свою програму rails на своєму mac, використовуючи це. Чому?
larryzhao

1
якщо IP-адреса вашої локальної мережі: 192.168.1.122, тоді ви повинні використовувати 192.168.1.122:3000, і це має спрацювати
dbslone

6
Важлива примітка. Ці рішення не працюють, якщо ви підключені за допомогою VPN.
Харшай Бурадкар

80

Ви можете використовувати ім'я свого локального Mac (або будь-якого іншого Mac у мережі) "локальне" ім'я:

http: //macname.local: 3000 /

де macname - мережеве ім'я вашого хостингу (або іншого бажаного) Mac.


1
Прекрасно. Я не знав про біт .local. Дякую!
повернення вперед

це доступно лише в тому випадку, якщо VM був налаштований на цьому mac? Я переніс інший VM з іншого місця, а computername.local для мене не працює
spankmaster79

7
".local" - це лише мак. Коли ви відкриваєте системні налаштування / спільний доступ, він фактично показує ім'я комп'ютера, а нижче він зазначає, що для доступу до нього в локальній мережі слід використовувати computername.local - це стосується підключення до спільного доступу до файлів, спільного доступу до Інтернету тощо
Johnus

1
Це, мабуть, вимагає, щоб мережа VMWare була налаштована на NAT (або, імовірно, мости); конфігурація "тільки для хоста" призводить до вичерпання часу мережевого з'єднання. Мені незрозуміло, чому це має бути так, але ...
Норман Грей

Раніше я використовував цей метод, і він спрацював чудово! Але останнім часом це перестало працювати, і я не впевнений, чому. Можливо, він зупинився з оновленням до Snow Leopard або, можливо, він зупинився з оновленням до Fusion. Тепер мій machostname.local вирішує публічну адресу в Інтернеті.
Джейсон

14

Для майбутніх відвідувачів: як тільки ви зрозуміли IP-адресу, ви можете додати запис до файлу хостів Windows, який знаходиться за адресою C: \ Windows \ system32 \ driver \ і т.д. \ хости, щоб зіставити IP-адресу на (віртуальний) ім'я сервера. Додайте такий рядок:

192.168.78.1   myrubyapp

Тепер ви можете отримати доступ до сайту в IE за адресою http: // myrubyapp: 3000

Якщо ви використовуєте віртуальних хостів під Apache, вам знадобиться це, щоб вказати правильне ім’я сервера.


Чи повинен ІР залишатися фіксованим протягом сеансів на NAT? Сумніваюсь у цьому.
Лотар

10

Оскільки це питання досить старе і стосується XP, ось альтернатива для нових ОС;


Якщо ви гойдаєте Vista або Windows 7 в якості гостьової ОС, а у вас хостинг налаштування віртуальних хостів через Apache, ось як налаштувати:

В хост-ОС вам потрібно забезпечити мережеве з'єднання через NAT;

  1. Клацніть правою кнопкою миші піктограму мережі у вікні VM (праворуч знизу)
  2. Виберіть "NAT"
  3. Виберіть "Підключити"
  4. Зачекайте, коли гостьова ОС знову підключиться до мережі

Потім, в ОС гостя;

  1. Клацніть Пуск> Мережа> Центр мережі та спільного доступу
  2. Натисніть "Переглянути стан" поруч із мережевим підключенням
  3. Натисніть "Деталі"
  4. Знайти "Шлюз за замовчуванням IPv4"
  5. Відкрийте Wordpad
  6. Редагуйте C: \ Windows \ System32 \ драйвери \ тощо \ хости
  7. Додайте до файлу рядок, такий як:

    [default-gateway-IP] www.example.com
    [default-gateway-IP] example.com
    
  8. Зберегти

  9. Спробуйте відкрити http://www.example.comабо http://example.comв IE


Це дуже дивно, але мені довелося викласти 1 із шлюзу ip. Насправді, мені це вдалося дізнатися, пінгючивши хоста: ping <my-mac-host>.localі додавши цей ip у файл хостів
Крістіан

1
Замість кроків 1-4 в гостьовій ОС ви також можете відкрити діалог запуску, введіть cmd+ <enter>, потім введіть: ipconfig /all+ <enter> і знайдіть там "Шлюз за замовчуванням".
Джесс Телфорд

Дякую вам, Джес! ipconfig /allтеж був швидшим
Emerson Rocha

9
  1. На машині XP запустіть -> Підключитися до -> Показати всі з'єднання.
  2. Двічі клацніть Підключення до локальної області.
  3. Перейдіть на вкладку Підтримка.
  4. Візьміть IP шлюз за замовчуванням <gateway-ip> та натисніть http: // <gateway-ip>: 3000 у своєму браузері.

Поняття: у вас повинен бути http: // в адресі, або IE дасть вам "Веб-сторінку не відображається".


6

Для Джанго важливо зробити наступне:

./manage.py runserver [шлюз за замовчуванням-IP]: 8000

тому що

https://docs.djangoproject.com/en/dev/ref/django-admin/

Зауважте, що IP-адресу за замовчуванням 127.0.0.1 недоступна для інших машин у вашій мережі. Щоб ваш сервер розробки був видимим для інших машин у мережі, використовуйте його власну IP-адресу (наприклад, 192.168.2.1) або 0.0.0.0 або :: (з увімкненою IPv6).


5

Я просто витратив годину, намагаючись змусити це працювати, виконуючи кроки на SO, але мій в кінцевому підсумку був трохи іншим.

Налаштування VMWare

1.) Встановіть підключення VMWare до NAT
2.) запустіть> cmd> ipconfig> скопіюйте значення шлюзу за замовчуванням
3.) редагуйте файл хостів (c: / Windows / System32 / драйвери / etc / hosts)

  • додайте це у файл хостів:

<gateway-ip> yourserver.local

Налаштування OS X

1.) редагувати конфігурацію Apache (наприклад, sudo vim /etc/apache2/httpd.conf)

  • додайте цей запис vhost у свій файл httpd.conf:
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
    DocumentRoot "/ шлях / до / ваш / проект"
    Ім'я сервера yourserver.local

    <Каталог "/ шлях / до / ваш / проект">
        ДозволитиЗавершити всіх
        Параметри Усі
    </Directory>
</VirtualHost>
  • зберегти та вийти (: wq)

2.) Відредагуйте файл хостів (sudo vim / etc / hosts)

  • додайте цей рядок у файл хостів

127.0.0.1 yourserver.local

3.) Перезапустити Apache (перезапустити sudo apachectl)

Я виявив, що мені довелося переключити налаштування підключення на VMWare, щоб перезапустити з'єднання, перш ніж ці налаштування працювали на мене. Я сподіваюся, що це допомагає.

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