CentOS unter HyperV - eth0 nicht in ifconfig?

9

Ich habe eine CentOS- Installation in HyperV gestartet und eine Netzwerkkarte zugewiesen, wie ich es auf einer Ubuntu- VM getan habe. Das Gerät wird jedoch einfach nicht aufgenommen.

Nur mein Loopback wird von gefunden ifconfig.

Wie soll ich Probleme beheben?

Inkognito
quelle
Was zeigt lsmoddie funktionierende Ubuntu- VM für einen Netzwerkkartentreiber? Ist das Modul auf der CentOS VM geladen ? Was leistet ifconfig eth0 up?
Caleb
Die beiden Betriebssysteme verfügen über eine große Anzahl von Modulen, die nicht gemeinsam genutzt werden (dh weit über 20). ifconfig eth0 gibt an "eth0: Fehler beim Abrufen der Schnittstelleninformationen: Gerät nicht gefunden"
Incognito
2
Nicht herablassend oder zu pedantisch zu sein, aber rennst du ifconfig -a? Eine andere, kompaktere Möglichkeit, die Netzwerkschnittstellen auf einem System ip a lanzuzeigen, ist mit (setzt iproute2 voraus, das meiner Meinung nach standardmäßig in CentOS installiert ist).
Eli Heady
2
ifconfig -aenthüllte, dass ich eth2

Antworten:

8

UPDATE: Dies wurde aktualisiert, um die Änderungen widerzuspiegeln, die mit LIS v4 vorgenommen wurden und für die das versionierte Installationsprogramm nicht mehr ausgeführt werden muss. Wenn Hyper-V lediglich die Informationen auf der Registerkarte "Netzwerk" melden muss, sind nur die Schritte 1 bis 4 erforderlich.

Ich hatte das gleiche Problem; Treiber neu installiert. Folgendes habe ich getan:

  1. Installieren Sie CentOS
  2. Laden Sie "Linux Integration Disk" für Hyper-V von Microsoft herunter (Es gibt mehrere Versionen, die neueste enthält die vorherigen Distributionen)
  3. Hängen Sie die ISO-Image-Datei ein.
    sudo mount /dev/cdrom /media
  4. Führen Sie es install.shim LISISO-Ordner der Linux Integration Services-CD aus (wobei xx die neueste Version oder die von Ihnen benötigte Version ist).
    sudo /LISISO/install.sh
  5. ifcfg-eth0Datei erstellen .
    nano /etc/sysconfig/network-scripts/ifcfg-eth0
  6. Fügen Sie die folgenden Zeilen ein:

    DEVICE=eth0
    BOOTPROTO=dhcp
    ONBOOT=yes
    
  7. Speichern und Beenden

  8. networkDatei bearbeiten oder erstellen
    nano /etc/sysconfig/network
  9. Fügen Sie die folgenden Zeilen ein:

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

    Speichern und Beenden

  10. Starten Sie neu und jetzt können Sie pingen
Henry Aloni
quelle
Ich hatte heute das gleiche Problem mit einer neuen RHEL 7.4-VM. Die einzigen Schritte, die ich ausführen musste, waren 5-9, und das einzige, was ich anders gemacht habe, ist das (ich habe das HOSTNAME-Attribut nicht eingeschlossen und stattdessen vi verwendet Nano
Taegost
4

Es hört sich so an, als ob Treiber für hyperV-virtualisierte Netzwerkkarten in der von Ihnen verwendeten CentOS-Kernelversion fehlen und in der Ubuntu-Version vorhanden sind, die Sie erfolgreich installiert haben. Microsoft hat seine Treiber für virtuelle Geräte erst kürzlich in den Mainline-Kernel integriert. Ich vermute, dass Sie eine Version von CentOS verwenden, die diese Treiber nicht enthält.

Zur Fehlerbehebung können Sie nach Kernel-Meldungen suchen, die sich auf die Netzwerkhardware beziehen. Überprüfen Sie die Ausgabe von dmesg | lessund less /var/log/messages. Ich würde nach Einträgen suchen, die "net", "eth" enthalten. Jede Kernel-Protokollierung erfolgt durch Laden des Moduls - Erfolg oder Fehler. Wenn für die virtualisierte Netzwerkkarte keine Kernelmodule vorhanden sind, hat der Kernel wahrscheinlich nichts über die nicht erkannte Hardware zu sagen.

Beim Erstellen der VM können Sie einen "Legacy-Netzwerkadapter" in HyperV hinzufügen (zumindest die Option, die früher so genannt wurde). Dadurch wird die Netzwerkkarte dem Gastbetriebssystem als im Wesentlichen älteres Gerät dargestellt, für das der Gast hoffentlich Treiber haben wird.

Sobald Sie CentOS installiert haben, können Sie Treiber von Microsoft installieren , um die effizienteren virtuellen Geräte zu nutzen.

Eli Heady
quelle
Ich bin mir nicht sicher, ob dies das Problem für mich gelöst hat oder ob meine VM nur auf den manuellen Modus eingestellt war und ich dhcp und onboot aktivieren musste
jcolebrand
1

In meinem Fall habe ich Windows 10 Hyper-V eine neue VM hinzugefügt, indem ich eine virtuelle Festplatte von CentOS7 Linux importiert habe. Die Installation war in Ordnung, aber die Vernetzung in CentOS funktionierte überhaupt nicht. Um das Problem zu lösen, habe ich in Hyper-V die neue VM ausgewählt und die Einstellungen bearbeitet. Unter Netzwerkadapter wurde der virtuelle Switch standardmäßig auf "Nicht verbunden" eingestellt. Durch Ändern dieser Option in "Standardschalter" und Speichern wurde das Problem behoben. Dies löste Fehler, da kein geeignetes Gerät für diese Verbindung gefunden wurde und eth0 nicht gefunden werden konnte.

Barry Cox
quelle