Бездротова мережа у Virtualbox


13

Щойно я встановив свій перший екземпляр Ubuntu Server (12.04) і негайно зіткнувся з такими проблемами:

  • Запуск apt-get installабо updateзбій (див. Нижче)
  • Запуск ifconfigстворює своєрідні IP-адреси, починаючи з цього, 10.x.x.xі мій маршрутизатор взагалі не бачить сервер на його сторінці "Приєднані пристрої" (його споживчий клас Netgear)

Під час запуску apt-getя отримую 50+ таких помилок:

Failed to fetch <some-http-url>. Temporary failure resolving <blah>.ubuntu.com

Я прочитав цю помилку за 12.04, і знайшов подібні повідомлення на цьому форумі та на помилках сервера, які рекомендував зайти /etc/resolv.confі додати запис:

nameserver 8.8.8.8

На моє здивування, я виявив, що /etc/resolv.confце симпосилання, що вказує на інше місце, і мені довелося спочатку видалити його, а потім створити нове із записом, зазначеним вище.

Я перезапустив сервер і спробував запустити apt-getзнову, ті ж результати.

Як почати діагностувати проблему (я відносно новий користувач Linux / Ubuntu)?

Додаткові відомості, які можуть допомогти:

  • Це насправді віртуальна машина, що працює як гостьова ОС VirtualBox
  • Фізичний хост, на якому працює цей віртуальний комп'ютер, - це мій ноутбук, який має бездротове з'єднання; Мені цікаво, чи (якось) ноутбук передає мережу бездротово, але, можливо, або VBox VM та / або ОС сервера Ubuntu не налаштований для бездротового зв'язку, і тому нічого не "проходить"?

Заздалегідь дякую за будь-які покажчики!

Редагувати :

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

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

Ось вихід під час запуску ifconfigз терміналу:

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

І ось вихід, коли я запускаю routeз терміналу:

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

Запуск ping google.com:

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


1
Чи можете ви додати висновок dig <blah>.archive.ubuntu.com, викопати @ 8.8.8.8 <blah> .archive.ubuntu.com` та dig @8.8.8.8 archive.ubuntu.com. Який вміст <blah> у будь-якому випадку? Чи можете ви пінг <blah> .archive.ubuntu.com від хоста вашої віртуальної машини?
Джон С Грубер

1
Це HWAddr, мабуть, добре, оскільки кожен VM отримує свою унікальну MAC-адресу.
Генрік

1
І fe80::..адреса - локальний IPv6 посилання, з яким я не можу зв’язатися з вами. І з в ping - це сервер, на якому ви пінгінг, а не ваш шлюз, тому він нічого не дає.
Генрік

Відповіді:


22

Щоб зробити коротку відповідь: це мережеве питання.

Я бачу сценарій такий:

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

Тепер, щоб правильно зрозуміти, де проблема, у цьому випадку нам потрібно спочатку перевірити від зовнішніх до внутрішніх мереж.

  1. Переконайтесь, що у маршрутизатора є Інтернет. Ви можете використовувати той самий хост або інший підключений до нього пристрій, щоб перевірити це.

  2. Переконайтеся, що у господаря є Інтернет через маршрутизатор або будь-яке інше джерело. Щоб перевірити , просто відправити пінг на google.com, наприклад , ось так: ping google.com.

Якщо точки 1 і 2 хороші (ваш маршрутизатор працює чудово і має Інтернет, а у вашого господаря є Інтернет), тоді ми продовжуємо роботу з гостем і Virtualbox. Можливо, добре прочитати, як підтримується підтримка бездротового зв’язку у VirtualBox, прочитавши Wifi-карту на ubuntu virtualbox

Потрібно спочатку знати таку інформацію:

  • У середовищі virtualbox немає бездротового зв'язку. Усі "віртуальні" з'єднання посилаються на кабельні / дротові з'єднані. Отже, коли ви вмикаєте мережеву карту у віртуального гостя, ви створюєте віртуальне дротове з'єднання, а не віртуальне бездротове з'єднання .

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

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

  • Якщо ваш господар не має доступу до Інтернету, ваш гість не матиме його. Те саме стосується того, що якщо у вашого хоста є доступ до Інтернету, а ваш зв’язок від Хоста до Гостя дозволяє обмінюватися Інтернетом, то, найімовірніше, у гостя також буде Інтернет (поведінка за замовчуванням у Virtualbox).

  • Я буду використовувати Virtualbox 4.1.20, який зовні відрізняється від того, який ви використовуєте (може бути таким же, я не знаю). Я додам зображення мережі просто, щоб допомогти та показати відмінності:

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

  • Я буду використовувати Ubuntu 12.04 як хост і як гість (це працює так само в 12.10 або 13.04). У випадках, коли Windows є хостом, вам потрібно переконатися, що брандмауер не блокує конкретний порт, який використовуватиме гість.

  • Я припускаю, що хост не використовує проксі, а просто підключений безпосередньо до роутера через бездротове / дротове з'єднання.

  • Вихід від Гість наступний із ifconfig та маршрутом:

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

Тепер до пунктів, які ви хочете вирішити:

  1. Налаштуйте мережу для сервера VM Ubuntu
  2. Отримайте VM для підключення до Інтернету
  3. Отримайте маршрутизатор, щоб побачити VM

Дозвольте мені спочатку зазначити, що точка 3 буде неможливою, якщо віртуальна здогадка не підтримує переадресацію портів. Ваш маршрутизатор бачить лише передачі, зроблені від вашого гостя, так, як якщо б вони були переданими від власного хоста. Тож без переадресації (яка дещо підтримується в останній версії) маршрутизатор ніколи не побачить VM, лише хост.

Звичайно, існують способи подолати це, наприклад, сказати господареві переслати речі гостю через движок virtualbox. Або налаштувати (простіше я думаю) гостя для переадресації порту. Наприклад це:

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

Отже, маючи на увазі, ми робимо наступне в гості:

  1. Перевірте, чи має гість доступ до Інтернету із загальним ping google.comпідходом.

    Якщо ping працює, то ми знаємо, що інтернет-з'єднання існує. Проблема може бути вирішена цільовим сайтом.

  2. Спробуйте наступне:

    /etc/init.d/network restart та / або dhclient

  3. Перевірте, що /etc/network/interfaceце правильно. Мій приклад:

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

  4. Змініть тип адаптера в параметрах мережі у вікні конфігурації віртуальної скриньки.

  5. Перевірте, чи правильно працює клієнт Ubuntu Desktop або інша ОС. (Зараз у мене є лише зображення на робочому столі ISO 12.10 та 12.04).


Ого, дякую @Luis Alvarado за таку грунтовну відповідь (+1). Кілька подальших кроків для кожної з ваших 5 пропозицій: (1) ping google.comдля гостьового VM насправді працює нормально, тож які інші тести я міг би виконати, щоб підтвердити, що я насправді отримую Інтернет? (2) У мене є лише /etc/init.d/networking(не network) послуга, і коли я намагаюся її перезапустити, я отримую попередження про припинення роботи. (3) Мій etc/network/interfaceфайл схожий на ваш. (4) Який тип адаптера слід спробувати і які наступні налаштування? (5) Для визначення ...
zharvey

Я думаю, що перше, що мені потрібно підтвердити, - це пункт №1: той факт, який, pingздавалося, починає і веде себе так, ніби він працює добре. Я оновлю своє первісне запитання із скріншотом виводу, будь ласка, дайте мені знати, чи це "нормальний" вихід ping і вказує на успішне з'єднання inet.
zharvey

Вибачте, схоже, що пропозиція баунті опустила мене нижче мінімального порогового показника 15, тому, схоже, я не можу підняти вашу відповідь, інакше я б: - /
zharvey

Привіт. Дозвольте зробити короткий коментар: 1. Якщо ваш пінг працює, то VM має правильне підключення до хоста. 2. Не турбуйтеся про / etc / network речі, якщо ваш інтерфейс правильно налаштований, як ви згадали, і ping працює, то це не має значення. 3. Не переживайте за адаптер, оскільки це було лише в тому випадку, якщо інші не працювали. Що я б включив, це ОС, яку ви використовуєте як Host, і якщо цей хост має якийсь брандмауер на ньому. Чи можете ви також віртуалізувати образ ISO робочого столу Ubuntu і побачити, чи є у прямого компакт-диска підключення до Інтернету?
Луїс Альварадо

Сьогодні нарешті мені вдалося завантажити сервер Ubuntu 12.04.1 і зробив тест з ним. Він підключений правильно. Тож я більше орієнтуюся на вашого хоста, що створює проблему чи неправильну конфігурацію при встановленні сервера. Я більше схиляюся до хоста, заперечуючи щось, оскільки для того, що я міг прочитати від вас, у вас є досвід роботи з комп'ютерами, і сервер Ubuntu досить простий у використанні.
Луїс Альварадо

3

Це, безумовно, мережеве питання. Щоб підтвердити це, спробуйте спочатку пінг-адреси IP у вашій локальній мережі:

ping 10.1.1.1

.

а потім пінг-адреси IP у "зовнішньому світі"

Крім того, навіть якщо ви працюєте з VM на ноутбуці, який підключається через Wi-Fi, вам не потрібно налаштовувати wifi на гостьовій машині - VirtualBox емулює "провідний" мережевий адаптер, тому ваша гостьова ОС вважає, що вона працює на машині який підключений до локальної мережі за допомогою кабелю.

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

Дивіться http://www.virtualbox.org/manual/ch06.html для отримання більш детальної інформації.

Налаштування VirtualBox за замовчуванням (NAT) створює "приватну" мережу між вашим хост-сервером і гостьовими машинами, при цьому хост-машина пересилає весь трафік, що надходить з гостьової машини назовні, і надсилає відповіді гостю (подібно до того, як ваш маршрутизатор підключає ваш ноутбук до Інтернет). Гість не має індивідуальної IP-адреси у вашій локальній мережі та не може отримати доступ з-за меж вашого ноутбука, але ви можете отримати доступ до Інтернету від гостя, оскільки пакети перекладаються в локальну мережу хост-машиною, а потім маршрутизатором в Інтернет. Це пояснює, чому ви не бачите окремого пристрою в налаштуваннях маршрутизатора


Дякую за приголомшливу відповідь @Sergey (+1) - але я все ще трохи розгублений! Ви кажете, що VM, що працює на моєму ноутбуці, може отримати доступ до Інтернету, оскільки пакети переводяться в локальну мережу з хост-машини. Тож якщо це так, чому це не apt-getпрацює? Якщо VM може приймати вхідне мережеве з'єднання, apt-getне повинно виникнути проблем із завантаженням вмісту з віддалених URL-адрес ... так? Знову дякую!
Жарві

Або це те, що VM може приймати пакети тільки з приватної локальної мережі (між хост-ОС та всіма її гостями)?
zharvey

1
@zharvey: Я мав на увазі хоста / гостя з належним чином налаштованою NAT-мережею (що зазвичай буває, коли ви створюєте VM із налаштуваннями за замовчуванням) - я підозрюю, що ваш VM може бути неправильно налаштований. Будь ласка, увійдіть у налаштування вашого VM та перевірте, чи є у вас мережевий адаптер, чи віртуальний кабель Ethernet "підключений", чи тип мережі встановлений у NAT. Можливо, додайте до свого запитання кілька скріншотів. Потім запустіть свій VM, запустіть ifconfigі routeкоманди там, а також опублікуйте результати.
Сергій

Ще раз дякую @Sergey (ще раз +1) - будь ласка, дивіться додані скріншоти і повідомте мені, чи щось вискочить на вас! Знову дякую!
Жарві

1

Ось що я помічаю у вашому запитанні:

  1. Повідомлення таке: "Не вдалося отримати. Тимчасовий помилку, усунення <blah> .ubuntu.com"
  2. Ви можете просто зайти на google.com.

Я б сказав, що існує проблема зі службою доменних імен при вирішенні цієї адреси, а не на вашому комп’ютері. Немає нічого особливого в пошуку домену на відміну від пінгу. Ваша мережа повинна працювати, однак вона налаштована.

Я пропоную вам змінити джерела програмного забезпечення для використання іншого архіву Ubuntu, можливо, просто archive.ubuntu.com.


Насправді я повинен погодитися. Якщо ОП може пінгувати Google і переглядати Інтернет (потрібно перевірити), то у нього є робоче з'єднання. Сервер, вибраний у джерелах, виявиться проблемою, а не підключенням до Інтернету.
fabricator4

1

Це для мене працювало:

спроба налаштування бездротового зв’язку не працювала,
додаючи дані про мережеві властивості у Ubuntu VM та змінюючи на Windows те саме, не вийшло

хоча хост був бездротовим, гостьовий (ubuntu VM) діє так, ніби він підключений віртуальним кабелем, тому вирішив проблему:
вікно Ubuntu VM> Прилади> Мережа> Налаштування мережі ...> встановіть прапорець Підключений кабель


1

/etc/resolv.conf є символьним посиланням і буде символьним посиланням після його видалення, оскільки резольконф завжди скидає його.

Якщо ви хочете використовувати Google DNS, додайте ці рядки до своїх /etc/resolvconf/resolv.conf.d/head:

nameserver 8.8.8.8   
nameserver 8.8.4.4

Якщо ви хочете, щоб ваш маршрутизатор виявив вашу віртуальну машину, вам слід скористатися "Мостовим адаптером". У мережевих адаптерах змініть поле, де написано "NAT" на "мостовий адаптер". Якщо встановити його як мостовий адаптер, віртуальна машина отримує IP тощо від DHCP-сервера. Якщо у вашого маршрутизатора немає його або у вас немає його у вашій мережі, то Virtualmachine не може отримати налаштування автоматично, і ви повинні вказати їх вручну.

Я не впевнений, що це <blah>.ubuntu.comне вирішує, але я б запропонував спробувати інше дзеркало.

Я використовую mirrors.ubuntu.com/mirrors.txt, яке завжди містить найближчі можливі дзеркала. Щоб використовувати його, додайте ці рядки до своїх /etc/apt/sources.list:

deb mirror://mirrors.ubuntu.com/mirrors.txt precise main restricted universe multiverse   
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-updates main restricted universe multiverse   
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-security main restricted universe multiverse   
deb-src mirror://mirrors.ubuntu.com/mirrors.txt precise main restricted universe multiverse   
deb-src mirror://mirrors.ubuntu.com/mirrors.txt precise-updates main restricted universe multiverse    
deb-src mirror://mirrors.ubuntu.com/mirrors.txt precise-security main restricted universe multiverse

Якщо ви також хочете мати спинки, додайте також ці рядки:

deb mirror://mirrors.ubuntu.com/mirrors.txt precise-backports main restricted universe multiverse   
deb-src mirror://mirrors.ubuntu.com/mirrors.txt precise-backports main restricted universe multiverse   

Для мене http://mirrors.ubuntu.com/mirrors.txt містить:

http://ubuntu.trumpetti.atm.tut.fi/ubuntu/

http://www.nic.funet.fi/pub/mirrors/archive.ubuntu.com/

http://mirrors.nic.funet.fi/ubuntu/

http://archive.ubuntu.com/ubuntu/

бо я перебуваю у Фінляндії.


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

Це хибна відповідь. (1) Якщо /etc/resolv.conf було символьним посиланням, і ви видалите це символьне посилання, резольконф не буде знову створювати символьне посилання. (2) Файл /etc/resolvconf/resolv.conf.d/head не є правильним місцем для розміщення параметрів сервера імен. Адреси сервера імен повинні входити в / etc / network / інтерфейси, якщо ви використовуєте ifup або повинні бути введені в NetworkManager, якщо ви використовуєте NetworkManager. Якщо ви дійсно хочете включити ім’я сервера імен 8.8.8.8 статично в резоль.conf, тоді поставте "ім'я сервера 8.8.8.8" в /etc/resolvconf/resolv.conf.d/base.
jdthood

0

Це посилання містить підручник щодо підключення до бездротових мереж за допомогою командного рядка: http://www.linuxjournal.com/content/wi-fi-command-line .

Однак, можливо, ви захочете відновити resolv.confфайл.


Це справді так просто? Сервер Ubuntu не постачається з бездротовим автовідкриттям? Отже, коли він показує IP-адресу, це просто системний стандарт або щось таке? Будь-яка ідея, як я міг відновити resolv.conf? Дякую (+1)!
zharvey

@zharvey: це навряд чи виправить вашу проблему, оскільки вам НЕ потрібно налаштовувати wi-fi на гостьовій машині.
Сергій

0

Добре. Невелике запитання! Чи можете ви користуватися Інтернетом у своєму браузері? Якщо так, спробуйте це: Спробуйте змінити сервер, вибираючи менеджер оновлень, визначення, завантаження з нього, а потім виберіть сервер, який знаходиться поруч. а потім спробуйте перевірити свої оновлення ще раз.

Я думаю, що це помилка. Спробуйте, і скажіть мені, чи працює.


0

Я також запускаю робочий стіл і сервер ubuntu на VirtualBox. І у мене виникли такі ж проблеми, як і у вас. Моє вирішення полягало не в тому, щоб налаштувати мережеву карту в VirtaulBox як NAT, а як Bridged Adapter.

Я сподіваюся, що це допоможе !;)

PS: за посиланням, яке розмістив Сергі (посібник з VirtualBox):

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


0

Ця проблема, по суті, пов'язана з розподілом однакових IP-адрес хост-адаптеру WiFi (сервером DHCP-маршрутизатора Wi-Fi) та гостьовому інтерфейсу (сервером DHCP VirtualBox в мережі Net).

З документації на VirtualBox про інтегрований сервер DHCP Досконала настройка двигуна VirtualBox NAT :

In NAT mode, the guest network interface is assigned to the IPv4 range 10.0.x.0/24
by default where x corresponds to the instance of the NAT interface +2. So x is 2
when there is only one NAT instance active. In that case the guest is assigned to the 
address 10.0.2.15, the gateway is set to 10.0.2.2 and the name server can be found at
10.0.2.3.

Переглянувши IP-адресу вашого хостового адаптера WiFi, ви побачите, що призначена йому адреса також є з 10.0.2.0/24мережевого діапазону.

Це причина проблеми, оскільки зараз драйвер Nat для VirtualBox плутає той факт, що адреси хоста та гостя з однієї підмережі.

Щоб виправити це, ви можете змінити підмережу, яку обслуговує DHCP-сервер VirtualBox, використовуючи команду VBoxManage (у той час, коли VM вимкнено):

Vboxmanage modifyvm VMName --natnet1 "198.162/16"

І вам подобається (оскільки 198.162.0.0 майже ніколи не використовується на серверах DHCP в мережевих пристроях SOHO).


0

Потрібно встановити "Пакет розширень VirtualBox Oracle VM VirtualBox".

Спочатку запустіть VBoxManage --versionсвій термінал ubuntu (я на монетному дворі). Далі завантажте розширення, яке вирівнюється до вашої версії VBox, з https://www.virtualbox.org/wiki/Downloads .

На VBox натисніть Ctrl+ G("Налаштування") та прокрутіть вниз до вкладки "Розширення". Клацніть на "Додати новий пакет", потім додайте завантажений файл і нехай він встановиться.

Спробуй це!

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