Як отримати доступ до веб-сервера на віртуальній скриньці з хост-машини [закрито]


29

У мене є машина Windows Vista, на якій VirtualBox працює ubuntu.

В ubuntu я запускаю веб-сервер за адресою http://127.0.0.1:3000/

Як отримати доступ до цієї адреси зі свого хост-машини (вікно вікна)?


Найпростіший варіант - використовувати переадресацію портів. Його можна налаштувати в розділі Налаштування-> Мережа. Перевірте це посилання
спартанський

Якщо ви дійсно налаштували веб-сервер вашого гостя на 127.0.0.1, ви не можете отримати доступ до нього ззовні від гостя. Localhost / 127.0.0.1 є адаптером для зворотного зв'язку (в пам'яті) і навіть не вимагає, щоб мережна карта була встановлена ​​для належної роботи. Якщо ви зміните ip свого веб-сервера на щось інше, ніж циклічне зворотне зв'язування, то відповіді нижче зможуть допомогти.
Младен Б.

Відповіді:


28

Ви можете змінити свій режим гостьової мережі з NAT на Bridged. Просто закрийте свого гостя Ubuntu, перейдіть на сторінку «Налаштування» у VirtualBox, виберіть категорію «Мережа» та змініть поле «Приєднаний до списку» з NAT в Bridged Mode.

Редагувати:

Після виконання вищезазначених кроків перезапустіть Ubuntu і виділений IP з’явиться на вітальному екрані після завантаження. тобто у вітальному повідомленні слід сказати щось на кшталт:

IP-адреса для eth0: 192.168.1.3

Використовуйте цю адресу на панелі браузера хост-машини, а потім порт, який ви використовуєте. Якщо це щось інше, ніж порт 80. Тобто, якщо ви налаштували його на використання порту 666, то адреса буде 192.168.1.3:666

Ще один спосіб знайти IP - це підключитись до HTTP-сервера, вбудованого у ваш маршрутизатор, і заглянути в налаштування локальної мережі. Кожна машина в мережі повинна бути вказана за ім'ям хоста та IP-адресою. На більшості інших моїх маршрутизаторів ви можете це зробити, ввівши 192.168.1.1 в адресному рядку. якщо це не вдалося, спробуйте ту саму адресу на порту 81. Якщо це не вдалося, ПРОЧИТАТИ РУК.


Але тоді як можна дізнатися, що таке IP-адреса? Thx
SSH Це

Це буде спрацьовувати, але варіант лише для господаря не виставляв цього vm у корпоративну мережу
Карлос Гарсія,

2
Я єдиний тут, хто думає, що кінцеву точку гостя 127.0.0.1 можна досягти лише зсередини гостя (це точка локального господаря)? Не повинно бути жодного способу отримати доступ до такого типу кінцевої точки з нічого, що знаходиться поза гостьовою машиною (оскільки це адаптер для зворотного зв'язку, він навіть не потребує встановленої мережевої карти).
Младен Б.

якщо я введіть це 192.1681.3 як IP для запису A на Godaddy, він не працює, очевидно, він очікує зовнішньої IP-адреси, якщо я поставив це, все ще не працює протягом деякого reaosn, я хочу перевірити доменне ім'я раніше продовжується EC2
PirateApp

10

Залежить від налаштування мережі в гостьовій ОС Ubuntu. Якщо ви налаштували його на використання NAT і у вас в мережі працює сервер DHCP, просто запустіть це:

ifconfig | grep inet

у вікні Ubuntu - ви побачите IP-адресу, призначену гостю Ubuntu.

Приклад:

#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.1500000/public і за замовчуванням vista працює в режимі DHCP .. (машина ubuntu також налаштована для використання NAT), однак я не отримую відповіді :(
Argh,

Хммм щойно зрозумів, що у мене немає сервера DHCP - я запускаю домашній вигляд ...
Арг,

У VirtualBox є власний сервер DHCP, який обробляє віртуальні машини - інакше віртуальні машини не отримають автоматично IP-адресу, не встановлюючи їх статично. Я думаю, що ваша проблема може полягати в тому, що вам не доводиться слухати Apache на всіх інтерфейсах - просто localhost (127.0.0.1). Переконайтесь, що в / etc / apache2 / available / default / Директива прослуховування говорить 80, а не 127.0.0.1:80 за help.ubuntu.com/9.04/serverguide/C/httpd.html
Cory

Це, мабуть, причина.
fsckin

4

У вашому вікні Windows та у вікні Ubuntu (незалежно від того, фізичні вони чи віртуальні в цьому випадку, насправді не має значення) обидва повинні мати IP-адресу в одній підмережі, щоб вони могли спілкуватися один з одним через TCP / IP. Ви можете призначити додаткову адресу кожній ОС за допомогою однієї з приватних підмереж IP (див. RFC 1918 ). Як тільки вони обидва мають адресу в одній підмережі, налаштуйте веб-сервер на прослуховування тієї, яку ви дали Ubuntu, а потім використовуйте цей IP-адресу в браузері в Windows, щоб завантажити його.

IP, який ви налаштували зараз, 127.0.0.1, є адресою зворотного зв'язку для інтерфейсу локальної мережі. Ви ніколи не використовуєте цю адресу для доступу до чогось у іншій системі, лише для посилання на ту саму систему, де ви знаходитесь. Використовуючи віртуальну систему, поводьтеся з нею так само, як і з окремим комп'ютером з точки зору мережі.


2

Щоб вирішити вашу проблему, радимо додати новий мережевий адаптер і налаштувати його як адаптер, що приймає лише хоста .

Тепер ви запускаєте екземпляр віртуальної скриньки, а потім те, що fsckin запропонував, щоб побачити, що є ip нової мережі .

Таким чином у вас є підмережа з комп’ютером та віртуальною машиною.


Отже ... я зробив, як ви сказали, схопив мою IP-адресу. Потім я спробував отримати доступ до веб-сервера (до якого я можу отримати доступ у межах гостя як 127.0.0.1:15000 ), використовуючи виділенийIP: 3000, і я не отримав відповіді. Однак я міг пінг-ip від господаря
Арг,

Вам потрібно відкрити брандмауер на порт 3000.
fampinheiro

Лише хост не вийде з поля: serverfault.com/questions/205477/…
givanse

0

Перш за все, вам потрібно зробити те, що говорить у відповіді 1:

"Ви можете змінити свій режим гостьової мережі з NAT на Bridged. Просто закрийте гостя Ubuntu, перейдіть на сторінку" Налаштування "у VirtualBox, виберіть категорію" Мережа "та змініть поле" Приєднаний до списку "з NAT на" Bridged Mode "."

Потім, щоб отримати вашу IP-адресу:

На своїй віртуальній машині відкрийте командний рядок і виконайте:

ip addr show

Напевно ви побачите рядок, який виглядає приблизно так:

inet 192.168.43.96/24 ....

Перед цим також є рядок із

inet 127.0.0.1

Але ти цього не хочеш! Ви хочете 192 адресу. Це адреса вашої віртуальної машини у вашій локальній мережі. Він повинен бути доступний на будь-якому пристрої, підключеному до тієї ж локальної мережі.

Тепер відредагуйте файл / etc / hosts (Not ~ / etc) Ім'я файлу - хости (це не назва папки)

додайте рядок, який виглядає приблизно так:

192.168.43.96 myvm.nameofmywebsite.com

Тепер перейдіть до браузера вашого хост-машини та введіть myvm.nameofmywebsite.com

Сподіваємось, що це вдасться!

Однак у вас може бути маршрутизатор, який має функції безпеки, які перешкоджають перегляду вашої місцевої адреси. Що ви можете спробувати зробити, це використовувати точку доступу мобільного телефону в якості своєї мережі. Це працює для мене. Просто пам’ятайте, коли ви змінюєте мережу на своєму хост-машині, що вам потрібно перезапустити віртуальну скриньку.

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