Ubuntu nie łączy się z siecią w Hyper-V

33

Nie mogę połączyć gościa Ubuntu (zarówno 12.10, jak i 12.04) z Internetem za pośrednictwem funkcji Hyper-V.

Oto, co zrobiłem do tej pory (dzięki wielkie dzięki blogowi @ Kronos na ten temat ):

  • Utworzyłem przełącznik w menedżerze przełączników z ustawieniem połączenia na zewnętrzną, wybrałem moją kartę Wi-Fi (Intel Centrino Ultimate-N 6300 AGN). Jeśli ma to znaczenie, platforma Microsoft Filtering Platform jest sprawdzana pod rozszerzeniami.
  • Dodano ten przełącznik do mojego gościa Ubuntu.
  • Próbowałem też innej karty bezprzewodowej (Aethros 9285) i miałem ten sam problem.
  • Łączenie za pomocą mojej karty przewodowej działa dobrze (przy założeniu, że wybrałem tę kartę i oczywiście jestem podłączony).
  • Przekształcenie go w starszą kartę sieciową nie rozwiązuje problemu.

Ubuntu może zobaczyć to połączenie, ale nie może się z nim połączyć. Oto, co próbowałem zrobić, aby Ubuntu się połączył:

  • Uruchom i uruchom ponownie menedżera sieci
  • Uruchom ponownie maszynę
  • Sprawdź, czy rzeczywiście może zobaczyć adapter (spowodowało, że urządzenie nie było kilka razy gotowe) wprowadź opis zdjęcia tutaj

Jak mogę to zrobić, aby działało poprawnie?

Aktualizacja: Działa po podłączeniu do innej sieci bezprzewodowej (po prostu nie mojej sieci uniwersyteckiej). Ponadto Ubuntu nadal wydaje się być podłączony do sieci, nawet po zmianie lokalizacji, chociaż wszystko zwraca „Destination Host Unreachable” z 10.0.44.159 (zakładam, że to mój host, ponieważ gość może pingować to dobrze, ale mój host nie może). Dlaczego sieć bezprzewodowa, o której mowa, ma mieć znaczenie?

soandos
źródło
Rozpalanie vm teraz :)
James Mertz
Jeśli chodzi o most, w ten sposób rzeczy zostały zaimplementowane dla klienta Hyper-V (spójrz na rysunek 2)
James Mertz,
Czy masz zainstalowane inne oprogramowanie maszyny wirtualnej inne niż Hyper-V? Na przykład zainstalowanie VirtualBox może powodować problemy z siecią z funkcją Hyper-V. forums.virtualbox.org/viewtopic.php?f=6&t=48044
James T
@JamesT nie, po prostu Hyper-V
soandos
Nie sądzę, że to zależy od twojej sieci uniwersyteckiej, prawda? Czy mają jakieś ograniczenia dotyczące liczby urządzeń lub wymagają uwierzytelnienia w celu połączenia?
tombull89,

Odpowiedzi:

35

Wydaje się, że problem polegał na tym, że protokół pomostowy nie był obsługiwany przez AP (punkty dostępu) mojej uczelni.

Oto obejście (o ile mogę powiedzieć, że ten sposób jest bardziej niezawodny niż domyślny sposób pomostowy, ale może wystąpić pewne dodatkowe obciążenie (nie jestem pewien, ile)):

  1. Utwórz wewnętrzny przełącznik sieciowy
  2. Połącz go z gościnnym systemem operacyjnym
  3. Podłącz adapter wewnętrzny wirtualny adapter wirtualnego utworzonego przez Hyper-V tak: wprowadź opis zdjęcia tutaj.
    Przejdź do adaptera zapewniającego dostęp do Internetu do urządzenia, a następnie kliknij opcję udostępniania. Wybierz adapter utworzony w kroku 1.
  4. Wszystko powinno działać dobrze.

Uznanie dla tego rozwiązania należą się do ludzi z sieci na Binghamton University, a dokładniej Joe i Alan.

soandos
źródło
Niech Joe i Alan dołączą do SU i zdobądźmy ich przedstawicieli: P
James Mertz
@KronoS faktycznie skomentowali SU (mam jedną z naklejek na klawiaturze), ale powiedzieli mi, żebym opublikował to dla nich „po prostu wykonując swoją pracę” itp.
soandos
@soandos: Czy możesz podać bardziej szczegółowe instrukcje krok po kroku?
Richard Cook
@RichardCook co chcesz, żebym dodał?
soandos 12.03.13
Czy możesz podać więcej informacji na temat kroku 3?
Richard Cook
11

Miałem ten sam problem. Korzystałem z laptopa, który ma tylko połączenie bezprzewodowe. Brak wbudowanej karty Ethernet.

System jest standardem Windows Server 2012. Próbowałem użyć Hyper-V, aby zainstalować Ubuntu 12.04 LT. Mam ten sam problem. Ubuntu nie będzie mógł uzyskać dostępu do Internetu, sieć ciągle się łączy i rozłącza.

Więc podążyłem za podejściem „Joe i Alana”. To działa.

Chcę jednak dowiedzieć się, dlaczego zewnętrzny przełącznik wirtualny nie działa.

Po przeczytaniu tego bloga

Przenoszenie funkcji Hyper-V do „Windows 8”

Znalazłem problem i być może lepsze rozwiązanie.

w przypadku funkcji hyper-v, jeśli zewnętrzny przełącznik wirtualny znajduje się na bezprzewodowej karcie sieciowej, funkcja hyper-v użyła mostu Microsoft pomiędzy do wykonania translacji adresów MAC. Ponieważ jeden kanał bezprzewodowy jest powiązany z jednym MAC. Przeczytaj cały artykuł, jeśli naprawdę chcesz to zrozumieć.

Teraz, w oparciu o informacje z tego artykułu, mogę łatwo stwierdzić, że będą dwa adresy IP dla tego samego MAC fizycznej karty sieciowej, jeśli spojrzysz na serwer z zewnątrz.

Oczywiście dwa adresy IP są przypisane do dwóch różnych wirtualnych kart sieciowych o innym adresie MAC, jeśli zajrzysz do środka. Ale te dwa MAC są ukryte za mostem i nie są widoczne z zewnątrz.

Pierwszy adres IP będzie używany przez system operacyjny hosta (w moim przypadku Windows Server 2012). Ten nie ma problemu, ponieważ serwer DHCP przypisuje go podczas uruchamiania komputera.

Problem pojawia się przy drugim adresie IP, kiedy uruchamiasz maszynę wirtualną (w moim przypadku ubuntu), maszyna wirtualna spróbuje uzyskać adres IP z serwera DHCP, ale nie powiedzie się. Większość serwerów DHCP, przynajmniej router, który mam w domu, nie przypisze dwóch różnych adresów IP do tego samego MAC. Prawdopodobnie daje ten sam adres IP z powrotem na żądanie DHCP maszyny wirtualnej, ale nie zadziała, ponieważ nie możemy użyć tego samego adresu IP na dwóch komputerach. Jeśli ktoś może przechwycić pakiety DHCP, może znaleźć szczegóły problemu.

tutaj więcej informacji na temat DHCP

Nie jestem pewien, czy jakikolwiek serwer DHCP może dostarczyć dwa adresy IP do jednego adresu MAC. Na podstawie opisu @soandos wydaje się, że tak.

Teraz wiemy, że prawdziwym problemem jest to, że maszyna wirtualna nie może przypisać adresu IP.

Więc jakie jest rozwiązanie?

Najłatwiej jest po prostu przypisać statyczny adres IP na maszynie wirtualnej. Po uruchomieniu maszyny wirtualnej możesz przypisać statyczny adres IP do tej maszyny wirtualnej. Działa to dla mnie idealnie, ponieważ używam laptopa tylko w domu.

Ale w niektórych sytuacjach, na przykład w publicznej sieci Wi-Fi, prawdopodobnie nie możesz tego zrobić (bezpiecznie).

Liuhongbo
źródło
Dziękujemy za dotarcie do źródła problemu. Miałem ten sam problem i naprawdę potrzebowałem połączenia zewnętrznego, a nie wewnętrznego. Ustawienie statycznych adresów IP za pomocą zewnętrznego typu połączenia załatwiło sprawę. Dzięki!
JohnP,
1

Rozwiązanie soandos nie działało dla mnie niezawodnie. Zamiast tego sugestia Liuhongbo zadziałała. Poniżej przedstawiono konfigurację, która działała niezawodnie. Ustawienia sieciowe z poziomu maszyny wirtualnej Ubuntu znajdują się po lewej stronie, a ipconfiglisty z systemu Windows 8 po prawej stronie.

Konfiguracje sieciowe Ubuntu i Windows 8

Zauważ, że maska ​​podsieci, brama domyślna i serwery DNS są takie same zarówno w systemie Ubuntu, jak i w systemie Windows 8. Jedyną różnicą jest adres IPv4, który różni się tylko o jedną cyfrę.

Shaun Luttin
źródło