CentOS na HyperV - eth0 nie w ifconfig?

9

Uruchomiłem instalację CentOS w HyperV i przypisałem kartę sieciową w taki sam sposób jak na maszynie Wirtualnej Ubuntu , jednak urządzenie po prostu nie jest odbierane.

Znaleziono tylko moją pętlę zwrotną ifconfig.

Jak powinienem zająć się tym problemem?

Incognito
źródło
Co pokazuje lsmoddziałająca maszyna wirtualna Ubuntu dla sterownika karty sieciowej? Czy ten moduł jest załadowany na maszynie Wirtualnej CentOS ? Co ifconfig eth0 uposiąga?
Caleb
Oba systemy operacyjne mają ogromną liczbę modułów, które nie są między nimi współużytkowane (tj. Znacznie ponad 20). ifconfig eth0 wskazuje „eth0: błąd pobierania informacji o interfejsie: Nie znaleziono urządzenia”
Incognito
2
Nie bądź protekcjonalny ani zbyt pedantyczny, ale biegniesz ifconfig -a? Innym, bardziej zwartym sposobem na zobaczenie interfejsów sieciowych w systemie jest ip a l(zakładam, że iproute2, domyślnie instalowany w CentOS).
Eli Heady
2
ifconfig -aujawniłem, że mam eth2

Odpowiedzi:

8

AKTUALIZACJA: Zostało to zaktualizowane, aby odzwierciedlić zmiany wprowadzone w LIS v4, które nie wymagają już uruchamiania instalatora specyficznego dla wersji. Ponadto, jeśli wszystko, czego potrzebujesz, to aby Hyper-V zgłosił informacje na karcie „Sieć”, konieczne są tylko kroki 1-4)

Miałem ten sam problem; ponownie zainstalował sterownik. Oto co zrobiłem:

  1. Zainstaluj CentOS
  2. Pobierz „Linux Integration Disk” dla Hyper-V z Microsoft (Istnieje wiele wersji, najnowsza zawiera poprzednie dystrybucje)
  3. Zamontuj plik obrazu ISO.
    sudo mount /dev/cdrom /media
  4. Uruchom install.shpod folderem LISISO na dysku CD Linux Integration Services (gdzie xx to najnowsza wersja lub konkretna wersja, której potrzebujesz).
    sudo /LISISO/install.sh
  5. Utwórz ifcfg-eth0plik.
    nano /etc/sysconfig/network-scripts/ifcfg-eth0
  6. Wstaw następujące linie:

    DEVICE=eth0
    BOOTPROTO=dhcp
    ONBOOT=yes
    
  7. Zapisz i wyjdź

  8. Edytuj lub utwórz networkplik
    nano /etc/sysconfig/network
  9. Wstaw następujące linie:

    NETWORKING=yes
    HOSTNAME=server-name.company.lan
    

    Zapisz i wyjdź

  10. Uruchom ponownie, a teraz możesz pingować
Henry Aloni
źródło
Miałem ten sam problem dzisiaj ze świeżą maszyną wirtualną RHEL 7.4, jedyne kroki, które musiałem wykonać to 5-9, a jedyną rzeczą, którą zrobiłem inaczej, jest to (nie podałem atrybutu HOSTNAME i użyłem vi zamiast nano
Taegost
4

Wygląda na to, że brakuje sterowników wirtualnych kart sieciowych HyperV w używanej wersji jądra CentOS i są one obecne w wersji Ubuntu, którą pomyślnie zainstalowano. Microsoft dopiero niedawno wprowadził sterowniki urządzeń wirtualnych do jądra głównego. Domyślam się, że używasz wersji CentOS, która nie zawiera tych sterowników.

Jeśli chodzi o sposób jego rozwiązania, możesz poszukać komunikatów jądra związanych ze sprzętem sieciowym. Sprawdź wydajność dmesg | lessi less /var/log/messages. Szukałbym wpisów zawierających „netto”, „eth”. Każde logowanie do jądra będzie pochodzić z ładowania modułu - sukces lub błąd. Jeśli nie ma modułów jądra dla zwirtualizowanej karty sieciowej, jądro prawdopodobnie nie będzie miało nic do powiedzenia na temat nierozpoznanego sprzętu.

Podczas tworzenia maszyny wirtualnej możesz dodać „starszą kartę sieciową” w HyperV (przynajmniej taką opcję nazywano). Spowoduje to przedstawienie karty sieciowej systemu operacyjnego gościa jako zasadniczo starszego urządzenia, dla którego gość może mieć sterowniki.

Po zainstalowaniu CentOS możesz zainstalować sterowniki Microsoft, aby korzystać z bardziej wydajnych urządzeń wirtualnych.

Eli Heady
źródło
Nie jestem pewien, czy to rozwiązało to dla mnie, czy też przypadek był taki, że moja maszyna wirtualna miała tylko eth0 ustawiony na tryb ręczny i musiałem włączyć dhcp i onboot
jcolebrand
1

W moim przypadku dodałem nową maszynę wirtualną do Windows 10 Hyper-V, importując wirtualny dysk twardy CentOS7 Linux. Instalacja przebiegła prawidłowo, ale sieć w CentOS w ogóle nie działała. Aby rozwiązać problem, w Hyper-V wybrałem nową maszynę wirtualną i zmodyfikowałem ustawienia. W obszarze Karta sieciowa przełącznik wirtualny był domyślnie ustawiony na „Brak połączenia”. Zmiana tego ustawienia na „Domyślny przełącznik” i zapisanie rozwiązało problem. Rozwiązało to błędy, takie jak brak odpowiedniego urządzenia dla tego połączenia i niemożność znalezienia eth0.

Barry Cox
źródło