Ubuntu не подключается к сети в Hyper-V

33

Я не могу подключить гостя Ubuntu (12.10 и 12.04) к Интернету через Hyper-V.

Вот что я сделал до сих пор (большое спасибо из-за сообщения в блоге @ Kronos на эту тему ):

  • Создал коммутатор в диспетчере коммутаторов с подключением к внешнему, выбрал мою wifi карту (Intel Centrino Ultimate-N 6300 AGN). Если это имеет значение, Microsoft Filtering Platform проверяется под расширениями.
  • Добавил этот переключатель в мой гость Ubuntu.
  • Я также попробовал другую беспроводную карту (Aethros 9285) и имел ту же проблему.
  • Подключение через мою проводную карту работает очень хорошо (при условии, что я выбрал эту карту, и я, конечно, подключен).
  • Создание устаревшего сетевого адаптера не решает проблему.

Ubuntu может видеть это соединение, но не может подключиться к нему. Далее я попытался подключиться к Ubuntu:

  • Запустите и перезапустите менеджер сети
  • Перезагрузите машину
  • Убедитесь, что он действительно может видеть адаптер (в результате несколько раз устройство не было готово) введите описание изображения здесь

Как я могу заставить это работать должным образом?

Обновление: работает при подключении к другой беспроводной сети (только не моей университетской). Кроме того, кажется, что Ubuntu по-прежнему подключен к сети, даже когда я перешел в другое место, хотя все возвращает «Destination Host Unreachable» с 10.0.44.159 (я предполагаю, что это мой хост, так как гость может нормально пропинговать его, но мой хост не может) Зачем беспроводной сети, что это на материи?

soandos
источник
Зажигать вм прямо сейчас :)
Джеймс Мерц
Что касается моста, то именно так все и было реализовано для клиента Hyper-V (см. Рисунок 2)
Джеймс Мерц
У вас установлено какое-либо другое программное обеспечение виртуальной машины, кроме Hyper-V? Например, установка VirtualBox может вызвать проблемы с сетью в Hyper-V. forums.virtualbox.org/viewtopic.php?f=6&t=48044
Джеймс Т
@JamesT Нет, только Hyper-V
soandos
Я не думаю, что это связано с вашей университетской сетью, не так ли? Есть ли у них какие-либо ограничения на количество устройств или требуется аутентификация для подключения?
tombull89

Ответы:

35

Проблема, по-видимому, заключается в том, что протокол моста не был поддержан точкой доступа (точки доступа) моего университета.

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

  1. Создать внутренний сетевой коммутатор
  2. Подключите его к гостевой ОС
  3. Подключите внутренний виртуальный адаптер для виртуального адаптера , созданного Hyper-V , так как: введите описание изображения здесь.
    Перейдите к адаптеру, который обеспечивает доступ к Интернету машины, и нажмите кнопку «Поделиться». Выберите адаптер, созданный на шаге 1.
  4. Все должно работать хорошо.

Кредит на это решение достается сетевым специалистам в Университете Бингемтона, в частности Джо и Алану.

soandos
источник
Пусть Джо и Алан присоединятся к SU, и давайте им несколько представителей: P
Джеймс Мерц
@KronoS на самом деле они прокомментировали SU (у меня есть одна из наклеек на моей клавиатуре), но сказали, чтобы я опубликовал это для них "просто выполняя свою работу" и т. Д.
soandos
@soandos: Можете ли вы предоставить более подробные пошаговые инструкции?
Ричард Кук
@RichardCook что вы хотите, чтобы я добавил?
Soandos
Не могли бы вы предоставить больше информации для шага 3?
Ричард Кук
11

У меня такая же проблема. Я использовал свой ноутбук, который имеет только беспроводное соединение. Нет встроенной карты Ethernet.

Система Windows Server 2012 стандарта. Я пытался использовать Hyper-V для установки Ubuntu 12,04 LTS. У меня та же проблема. Ubuntu не сможет получить доступ к Интернету, сеть продолжает подключаться и отключаться.

Итак, я следовал подходу «Джо и Алан». Оно работает.

Но я хочу выяснить, почему внешний виртуальный коммутатор не работает.

После того, как я прочитал этот блог,

Внедрение Hyper-V в «Windows 8»

Я нашел проблему и, возможно, лучшее решение.

для hyper-v, если внешний виртуальный коммутатор находится поверх беспроводной сетевой карты, hyper-v использовал промежуточный мост Microsoft для выполнения преобразования MAC. Потому что один беспроводной канал связан с одним MAC. Прочитайте статью полностью, если вы действительно хотите понять.

Теперь, основываясь на информации этой статьи, я могу легко сделать вывод, что для того же MAC физического сетевого адаптера будет два IP-адреса, если вы посмотрите на сервер снаружи.

Конечно, два IP-адреса назначаются двум разным виртуальным сетевым адаптерам с разными MAC-адресами, если вы заглянете внутрь. Но эти два MAC спрятаны за мостом и не видны снаружи.

Первый IP-адрес будет использоваться хост-ОС (в моем случае Windows Server 2012). У этого нет проблем, потому что DHCP-сервер назначает его при загрузке машины.

Проблема возникает со вторым IP-адресом, когда вы загружаете виртуальную машину (в моем случае, Ubuntu), виртуальная машина будет пытаться получить IP-адрес от DHCP-сервера, но не получится. Большинство DHCP-серверов, по крайней мере, маршрутизатор, который у меня дома, не назначают два разных IP-адреса одному и тому же MAC. Вероятно, он возвращает тот же IP-адрес обратно по запросу DHCP виртуальной машины, но он не будет работать, потому что мы не можем использовать один и тот же IP-адрес для двух машин. Если кто-то может захватить пакеты DHCP, может найти детали проблемы.

вот еще немного информации по DHCP

Я не уверен, что любой DHCP-сервер может предоставить два IP-адреса одному MAC-адресу. Судя по описанию @soandos, кажется да.

Теперь мы знаем, что реальная проблема заключается в том, что виртуальная машина не может получить назначенный IP-адрес.

Итак, каково решение?

Самый простой - просто назначить статический IP-адрес на виртуальной машине. После загрузки виртуальной машины вы можете назначить статический IP-адрес этой виртуальной машине. Это прекрасно работает для меня, потому что я использую свой ноутбук только дома.

Но в некоторых ситуациях, например, в общедоступном Wi-Fi, вы, вероятно, не можете сделать это (безопасно).

liuhongbo
источник
Спасибо, что нашли корень проблемы. У меня была та же проблема, и мне действительно нужно было внешнее соединение, а не внутреннее. Установка статических IP-адресов с типом внешнего подключения сделала свое дело. Благодарность!
JohnP
1

Решение Soandos не работает для меня надежно. Вместо этого предложение Люхонбо сработало. Следующее было установкой, которая работала надежно. Сетевые настройки изнутри виртуальной машины Ubuntu находятся слева, а ipconfigсписки из Windows 8 - справа.

Конфигурации сети Ubuntu и Windows 8

Обратите внимание, что маска подсети, шлюз по умолчанию и DNS-серверы одинаковы как в Ubuntu, так и в Windows 8. Единственным отличием является адрес IPv4, который отличается только одной цифрой.

Шон Луттин
источник