Як дозволити гостю VirtualBox (під керуванням Windows) отримати доступ до Інтернету?


30

У мене віртуальна машина VirtualBox. Хост-машина працює під управлінням Ubuntu. В гостьовій (віртуальній) машині працює Windows XP.

Я вирішив цю проблему, і люди стверджують, що виправили її, змінивши тип адаптера на NAT, але для мене немає такого варіанту:

введіть тут опис зображення

Будь-яка ідея?

Оновлення:

Він також не працював, лише перейшовши на NAT. Ось поточні налаштування (із усіма деталями показано):

введіть тут опис зображення

Ось скріншот гостя, який показує інформацію про мережу:

(Зверніть увагу, що це питання стосується того, як надати доступ до Інтернету VM у VirtualBox, тому наявність картинки Windows автоматично не робить це поза темою!)

введіть тут опис зображення

Більше зображення тут.

Відповіді:


34

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

NAT - не варіант для типу адаптера . Швидше, це варіант для програми « Приєднаний» .

Клацніть там, де на даний момент написано Bridged Adapter, і ви зможете вибрати NAT .

До речі, причина того, як змінити його на NAT іноді допомагає, не є специфічною для гостей Windows. Швидше, якщо ваш фізичний (хост) ПК знаходиться в локальній мережі, мостовий адаптер (як і NAT ) зазвичай працює нормально. Якщо ваш фізичний ПК має мережеве підключення лише до одного комп'ютера - як це часто буває, якщо він підключений безпосередньо до кабельного / DSL / ISDN-модему, на якому є лише один Ethernet-порт, то немає локальної мережі, яка мостила б , то тоді ви повинні використовувати NAT .

Якщо ви використовуєте Bridged Adapter, а ваш хост-апарат працює у фізичній локальній мережі, ваша гостьова машина автоматично зможе бачити та бачити комп'ютери в локальній мережі. Якщо ви використовуєте NAT в локальній мережі, гостьова машина зможе бачити інші комп’ютери в локальній мережі, але інші комп'ютери в локальній мережі (крім хоста віртуалізації) не зможуть його бачити.

Якщо вас цікавить більш детальна інформація, перегляньте ці статті про мостинг мережі та переклад мережевих адрес .

Якщо це працює, чудово. Інакше ...

Перевірте конфігурацію мережі гостей

У віртуальній машині відкрийте конфігурацію мережевих підключень (на панелі керування або в меню "Пуск"> "Налаштування"). Якщо ви вручну не налаштували декілька інтерфейсів для гостьових машин у VirtualBox (або не маєте фактичних мережевих адаптерів, приєднаних до нього за допомогою переадресації USB), ви побачите лише один, і якщо ви не змінили його ім'я, він буде називатися Local Area З'єднання (можливо, з цифрою після нього).

Клацніть правою кнопкою миші та натисніть кнопку Властивості .

гостьова машина, мережеві підключення Windows XP: це перше місце, щоб натиснути "Властивості"

У розділі З'єднання використовуються наступні елементи , натисніть Інтернет-протокол (TCP / IP) та натисніть Властивості .

гостьова машина, Windows XP "Місцеве з'єднання", де відображаються протоколи та список послуг

Переконайтесь, що конфігурація правильна.

Для мостових з'єднань

Якщо ви тримали мережевий адаптер VM, з'єднаний в VirtualBox, а не перемикаючи його на NAT, це так, ніби є мережевий комутатор рівня 2, який з'єднує три пристрої:

  • Віртуальна машина.
  • Фізична хост-машина.
  • До якого б фізичного хост-машини не було підключено (на конкретному адаптері хост-мережі, який був з'єднаний). Наприклад, якщо ваш комп'ютер підключений до маршрутизатора, це як би комутатор підключений до маршрутизатора. Якщо він підключений бездротово до точки доступу, це як комутатор - це бездротовий міст .

Отже, ваш VM є "мережевологічно" еквівалентним вашій хост-машині . Які б налаштування він не мав (окрім IP-адреси, звичайно), ваша віртуальна машина повинна мати.

Для NAT-з'єднань

Якщо ви вибрали NAT для програми Attached to в VirtualBox, то це схоже на те, що ваш справжній комп'ютер діє як маленький домашній / офісний маршрутизатор . Ваша хост-машина працює із сервером DHCP, який доступний лише для віртуальних машин VirtualBox, і гість отримує від нього всю інформацію про конфігурацію мережі.

Сервер VirtualBox DHCP надасть гостям і IP-адресу, і DNS-інформацію, тому обидва ці два варіанти слід вибрати:

  • Отримати IP-адресу автоматично
  • Отримати адресу DNS-сервера автоматично

гостьова машина, налаштування TCP / IP для Windows XP, вкладка Загальні

Це ключ.

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

У вас є налаштування вручну, а не DHCP.

Це може спрацювати, але вручну потрібно встановити правильні налаштування, і ви також хочете переконатися, що IP не знаходиться в діапазоні IP-адрес, які призначає ваш маршрутизатор (або може статися зіткнення з іншим пристроєм на мережа).

У цьому випадку ручні налаштування взагалі невірні, оскільки:

  1. IP-адреса хост-машини в мережевому інтерфейсі, через який він забезпечує підключення до Інтернету до гостя, не є такою ж, як його IP-адреса у фізичній мережі. Навіть якщо IP-адреса вашого комп'ютера 192.168.1.1 "в реальному житті", гість не може отримати доступ до нього таким чином.

    • Швидше за все, якщо ви налаштували його таким чином самостійно, можливо, ви думали, що вам слід вказати IP-адресу вашого домашнього / офісного маршрутизатора в реальному житті (яка часто 192.168.1.1) в якості шлюзу за замовчуванням і основного сервера DNS.

    Але гість не може безпосередньо отримати доступ до фізичного маршрутизатора NAT на вашому столі (або куди завгодно), тому що будь-які дані, передані між VM та реальним маршрутизатором, повинні проходити через маршрутизатор VM, а маршрутизатор VM - ваш комп'ютер (доступ до якого здійснюється через цю спеціальну віртуальну мережу інтерфейс).

  2. Оскільки шлюз за замовчуванням невірний, маршрутизація не відбувається, і VM не може отримати доступ до будь-яких фізичних мережевих пристроїв за межами комп'ютера.

  3. Оскільки IP-адреса VM знаходиться поза правильним діапазоном (як правило, 10.2.2. *), А маска підмережі - 255.255.255.0, вона не може отримати доступ до правильного діапазону. (Маска підмережі правильна, але разом із IP-адресою вона визначає неправильну підмережу.)

  4. DNS-сервер також повинен бути виправлений або не можна отримати доступ до хостів через доменні імена (наприклад, askubuntu.com).

Якщо вам чомусь потрібно використовувати "статичний IP", тобто не використовувати DHCP, тоді вам доведеться отримати правильну інформацію від VirtualBox і ввести її. Будь ласка, дайте мені знати, якщо вам потрібна допомога з цим (я можу розширити це, щоб включити інструкції).

Якщо припустити, що DHCP з вами нормально, ви можете вирішити проблему, склавши Інтернет-протокол (властивості TCP / IP) , загальне параметри вкладки схожими на знімок екрана.

Все ще немає підключення до Інтернету? Час для усунення несправностей

Це може допомогти зібрати більше інформації від гостей. У віртуалізованій системі Windows XP, яка загадково не підключається до Інтернету, встановіть гостьові доповнення VirtualBox (натиснувши Пристрої > Встановити додатки для гостей ; для отримання додаткової інформації див . Посібник ). Перезавантажте та подивіться, чи можна підключитися до Інтернету. Якщо ви не можете, ви все-таки зробили щось корисне, тому що тепер ви можете копіювати та вставляти між буферами для гостей та хостів.

Тож відкрийте командний рядок у Windows. Один із способів зробити це - запустити:

Старт> Виконати ...> cmd.exe

Тепер запустіть цю команду, щоб отримати інформацію про мережеві інтерфейси та підключення гостьової системи Windows.

ipconfig /all

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

  • Більш загально, для людей, які не задають це питання:

    Потім ви можете вставити його в додатки у вашій хост-системі Ubuntu, що дозволяє вам звертатися до нього, коли вимкнено / вимкнена програма VM Windows Ви можете надати його тому, хто намагається вам допомогти. Ви можете включити його у власне запитання тут на Ask Ubuntu

    (Однак якщо ваша мережа проблема полягає у віртуальній установці, а не віртуальному апаратному забезпеченні або програмному забезпеченні VirtualBox - наприклад, якщо ваш VM отримав доступ до Інтернету штрафу, поки ви не встановили якесь програмне забезпечення Windows, крім гостьових доповнень, - тоді ваша проблема імовірно, вважатиметься поза темою для Ask Ubuntu. Хоча це буде темою для Super User .)


2
Я змінив отримання IP та DNS автоматично, і він працював! Ваша відповідь була точною та детальною, дуже дякую за це, я впевнений, що це буде дуже корисним ресурсом для інших людей, які мають подібні проблеми. Я прийняв вашу відповідь і розпочав щедрість, додамо 100 моєї поточної репутації до вас через 24 години. Спасибі!
umpirsky

Ще потрібен TL; dr. До речі, ви усуваєте проблеми з Windows!
Брайам

Дякую вам і Бог благословить вас в ім’я Ісуса! Відповідь дуже допомогла! Перехід (за допомогою NAT) на DHCP з обох сторін вирішив проблему!
лексема

@Eliah, ви заявили, " якщо ви використовуєте NAT в локальній мережі, гостьова машина зможе бачити інші комп'ютери в локальній мережі ". Як це можливо? Чи не міг гість бачити тільки хоста, і кожне з'єднання повинно проходити через хост?
Pacerier

@Pacerier Ні. Це аналогічно ситуації, коли ви підключите один NAT-роутер до іншого NAT-роутера, який забезпечує доступ до Інтернету. Припустимо, комп'ютер A стоїть за NAT-маршрутизатором X, а комп'ютер B і NAT-маршрутизатор X позаду іншого NAT-маршрутизатора Y, який забезпечує доступ до пристроїв в Інтернеті, таких як комп'ютер C. Це дозволяє адресу A (і B) C, зберігаючи C і навіть Б звертаючись до А. Але це також дозволяє А звернутися до Б. З точки зору В, А приховано за X. З точки зору А, В зовсім не приховано - B, як і Y, є хостом у мережі, що A можна отримати доступ через шлюз X.
Елія Каган

10

Це рішення для мене спрацювало чудово (Host OS: Ubuntu 14.04; Guest OS: Windows XP SP3):

Виберіть " PCnet-PCI II (Am79C970A) " у "NAT" -> "Додатково" -> "Тип адаптера".


1
Працював над Windows 7 як хост та Windows XP як гість
Musa Haidari

Працював у Windows 8.1 як хост та Ubuntu 14.04 як гість
користувач11153

@frostmann, чому це працює?
Pacerier

працював ... у win8
chandil03

працює і в WinXP!
Трунг Та

4

NAT є в додатку списку.

Тип адаптера розширений і його не потрібно змінювати в більшості випадків.

Мости повинні працювати нормально, але вам доведеться налаштувати мережевий інтерфейс. Ім'я має бути встановлено на ваш Інтернет-інтерфейс на вашій хост-машині (дуже ймовірно, для бездротового зв'язку, et для Ethernet).

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