Беспроводная сеть в Virtualbox

Я только что установил свой первый экземпляр 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 и / или серверная ОС Ubuntu не настроены для беспроводной связи, и поэтому ничего не "проходит"?

Заранее спасибо за любые указатели!

Редактировать:

Вот снимок сетевых настроек моей виртуальной машины (только информация о ее полях есть только у адаптера 1, поэтому я предполагаю, что у моей виртуальной машины есть только 1 адаптер):

введите описание здесь

Вот вывод, когда я бегу ifconfig из терминала:

введите описание здесь

И вот вывод, когда я бегу route из терминала:

введите описание здесь

Бег ping google.com:

введите описание здесь

10 ответов

Решение

Краткий ответ: это проблема сети.

Я вижу сценарий так:

введите описание здесь

Теперь, чтобы правильно увидеть, где проблема, в этом случае нам нужно сначала проверить от внешних сетей до внутренних сетей.

  1. Убедитесь, что в роутере есть интернет. Вы можете использовать тот же хост или другое устройство, подключенное к нему, чтобы проверить это.

  2. Убедитесь, что на хосте есть интернет через роутер или любой другой источник. Для проверки просто отправьте пинг на google.com, например, так: ping google.com,

Если точки 1 и 2 хороши (ваш роутер работает отлично и у него есть интернет, а у вашего хоста есть интернет), тогда мы переходим к гостю и виртуальной коробке. Может быть, полезно прочитать о том, как поддержка беспроводной сети обрабатывается в VirtualBox, читая карту Wi-Fi в Ubuntu на виртуальной машине.

Сначала нам нужно узнать следующую информацию:

  • В среде виртуальной коробки нет беспроводного соединения. Все "виртуальные" соединения относятся к кабельным / проводным подключенным. Поэтому, когда вы включаете сетевую карту в виртуальном госте, вы создаете виртуальное проводное соединение, а не виртуальное беспроводное.

  • Виртуальное соединение между хостом и гостем не зависит от типа соединения, к которому подключен ваш хост (физически). Если хост подключен через проводное или беспроводное соединение, это не имеет значения и не влияет на виртуальное соединение между хостом и гостем, поскольку проводное и беспроводное соединения внутри гостя используются одинаково. Нечто похожее на следующее изображение:

    введите описание здесь

  • Если у вашего хоста нет доступа к интернету, у вашего гостя его не будет. То же самое касается и того, что если у вашего хоста есть доступ к Интернету, а ваше соединение между хостом и гостем позволяет совместно использовать интернет, то у гостя, скорее всего, также будет интернет (поведение по умолчанию с Virtualbox).

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

    введите описание здесь

  • Я буду использовать Ubuntu 12.04 в качестве хоста и гостя (это работает одинаково в 12.10 или 13.04). В случаях, когда Windows является хостом, вам нужно убедиться, что брандмауэр не блокирует определенный порт, который будет использовать гость.

  • Я предполагаю, что Хост не использует прокси, просто подключен напрямую к маршрутизатору через беспроводное / проводное соединение.

  • Выходные данные от Гостя следующие с ifconfig и route:

    введите описание здесь

Теперь о точках, которые вы хотите решить:

  1. Настройте сеть для сервера VM Ubuntu
  2. Получить ВМ для подключения к интернету
  3. Получить роутер, чтобы увидеть виртуальную машину

Позвольте мне сначала упомянуть, что пункт 3 будет невозможен, если предположение Virtualbox не поддерживает переадресацию портов. Ваш маршрутизатор будет видеть только переводы, сделанные от вашего Гостя, как если бы они были передачи, сделанные с фактического Хоста. Таким образом, без пересылки (что несколько поддерживается в последней версии) маршрутизатор никогда не увидит виртуальную машину, только хост.

Конечно, есть способы обойти это, например, указав хосту пересылать вещи гостю через механизм virtualbox. Или настройку (проще я думаю) гостя для перенаправления порта. Например это:

введите описание здесь

Таким образом, с учетом этого мы делаем следующее в гостевой:

  1. Проверьте, есть ли у гостя доступ в Интернет с помощью общего ping google.com подход.

    Если пинг работает, то мы знаем, что интернет-соединение существует. Возможно, проблема заключается в разрешении сайта назначения.

  2. Попробуйте следующее:

    /etc/init.d/network restart и / или dhclient

  3. Подтвердите это /etc/network/interface верно. Мой пример будет:

    введите описание здесь

  4. Измените тип адаптера в параметрах сети в окне конфигурации Virtualbox.

  5. Проверьте, правильно ли работает клиент Ubuntu Desktop или другая ОС. (В настоящее время у меня есть только ISO-образ рабочего стола 12.10 и 12.04).

Это определенно проблема сети. Чтобы подтвердить это, попробуйте сначала пропинговать IP-адреса внутри вашей локальной сети:

ping 10.1.1.1

(который может быть IP вашего роутера)

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

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

Настройка сети в VirtualBox - это широкая тема (хотя обычные настройки обычно работают сразу после установки), вам необходимо убедиться, что на вашей виртуальной машине настроен сетевой адаптер в свойствах виртуальной машины и т. Д.

См. http://www.virtualbox.org/manual/ch06.html для получения более подробной информации.

Настройка VirtualBox по умолчанию (NAT) создает "частную" сеть между вашим хостом и гостевыми машинами, причем хост-машина пересылает весь трафик, поступающий с гостевого компьютера снаружи, и отправляет ответы обратно гостю (аналогично тому, как маршрутизатор подключает ваш ноутбук к Интернет). Гость не имеет индивидуального IP-адреса в вашей локальной сети и не может быть доступен извне вашего ноутбука, но вы можете получить доступ к Интернету от гостя, потому что пакеты транслируются в локальную сеть на хост-машине, а затем в Интернет через маршрутизатор. Это объясняет, почему вы не видите отдельное устройство в настройках вашего роутера

Вот что сработало для меня:

попытка настроить беспроводной не работает
добавление сведений о сетевых свойствах на виртуальной машине Ubuntu и изменение в Windows тоже не сработало

хотя хост был беспроводным, гостевой (Ubuntu VM) работает так, как если бы он был подключен с помощью виртуального кабеля, поэтому следующие проблемы решили:
Окно Ubuntu VM> Устройства> Сеть> Параметры сети... > установите флажок Подключен кабель

/etc/resolv.conf is symlink и будет symlink после удаления, потому что resolvconf всегда сбрасывает его.

Если вы хотите использовать 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

Если вы также хотите иметь backports, добавьте также эти строки:

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. Сообщение: "Не удалось получить. Временная ошибка разрешения .ubuntu.com"
  2. Вы можете связаться с google.com просто отлично.

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

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

Вам необходимо установить "VirtualBox Oracle VM VirtualBox Extension Pack".

Первый забег VBoxManage --version на вашем терминале Ubuntu (я на Mint). Затем загрузите пакет расширений, соответствующий вашей версии VBox, по https://www.virtualbox.org/wiki/Downloads.

На VBox нажмите Ctrl+G ("Предпочтения") и прокрутите вниз до вкладки "Расширение". Нажмите "Добавить новый пакет", затем добавьте загруженный файл и дайте ему установить.

Попытайся!

Хорошо. Маленький вопрос! Можете ли вы использовать Интернет в вашем браузере? Если да, попробуйте следующее: попробуйте изменить сервер, выбрав менеджер обновлений, определения, загрузку с, а затем выберите сервер рядом с вами. и затем попробуйте проверить свои обновления снова.

Я думаю, что это ошибка. Пожалуйста, попробуйте и скажите мне, если это работает.

Я также запускаю рабочий стол и сервер Ubuntu на VirtualBox. И у меня была такая же проблема, как у вас. Мой обходной путь состоял не в том, чтобы настроить сетевую карту в VirtaulBox как NAT, а как Bridged Adapter.

Я надеюсь, что это поможет!;)

PS: из ссылки Сергей разместил (руководство VirtualBox):

"Мостовая сеть Это для более сложных сетевых задач, таких как моделирование сети и запуск серверов в гостевой системе. Когда эта функция включена, VirtualBox подключается к одной из установленных сетевых карт и обменивается сетевыми пакетами напрямую, обходя сетевой стек операционной системы хоста".

Эта проблема в основном связана с назначением одинаковых IP-адресов как адаптеру Host WiFi (DHCP-сервером Wi-Fi-маршрутизатора), так и гостевому интерфейсу (DHCP-сервером VirtualBox в сети Nat).

Из документации 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 (пока виртуальная машина выключена):

Vboxmanage modifyvm VMName --natnet1 "198.162/16"

И все готово (так как 198.162.0.0 почти никогда не используется на серверах DHCP в сетевых устройствах SOHO).

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

Тем не менее, вы можете восстановить свой resolv.conf файл.

Другие вопросы по тегам