CentOS su HyperV - eth0 non in ifconfig?


9

Ho avviato un'installazione CentOS in HyperV e assegnato una scheda NIC nello stesso modo in cui ho fatto su una macchina virtuale Ubuntu , tuttavia il dispositivo semplicemente non viene prelevato.

Solo il mio loopback viene trovato da ifconfig.

Come devo fare per risolvere questo problema?


Cosa mostra sulla VM Ubuntulsmod funzionante per un driver della scheda di rete? Quel modulo è caricato sulla VM CentOS ? Cosa compie? ifconfig eth0 up
Caleb,

I due sistemi operativi hanno un gran numero di moduli che non sono condivisi tra loro (vale a dire, oltre 20). ifconfig eth0 indica "eth0: errore durante il recupero delle informazioni sull'interfaccia: dispositivo non trovato"
Incognito

2
Non essere condiscendente o troppo pedante, ma corri ifconfig -a? Un altro modo più compatto per vedere le interfacce di rete su un sistema è con ip a l(presuppone iproute2, installato di default in CentOS credo).
Eli Heady,

2
ifconfig -arivelato che ho eth2

Risposte:


8

AGGIORNAMENTO: è stato aggiornato per riflettere le modifiche apportate con LIS v4 che non richiedono più l'esecuzione del programma di installazione specifico della versione. Inoltre, se tutto ciò di cui hai bisogno è che Hyper-V riporti le informazioni nella scheda "Rete", sono necessari solo i passaggi 1-4)

Ho avuto lo stesso problema; reinstallato il driver. Ecco cosa ho fatto:

  1. Installa CentOS
  2. Scarica "Linux Integration Disk" per Hyper-V da Microsoft (Esistono più versioni, l'ultima contiene le distro precedenti)
  3. Montare il file immagine ISO.
    sudo mount /dev/cdrom /media
  4. Esegui install.shcon la cartella LISISO del CD di Linux Integration Services (dove xx è l'ultima versione o la versione specifica di cui hai bisogno).
    sudo /LISISO/install.sh
  5. Crea ifcfg-eth0file.
    nano /etc/sysconfig/network-scripts/ifcfg-eth0
  6. Inserisci le seguenti righe:

    DEVICE=eth0
    BOOTPROTO=dhcp
    ONBOOT=yes
    
  7. Salva ed esci

  8. Modifica o crea networkfile
    nano /etc/sysconfig/network
  9. Inserisci le seguenti righe:

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

    Salva ed esci

  10. Riavvia e ora puoi eseguire il ping

Ho avuto questo stesso problema oggi con una nuova VM RHEL 7.4, gli unici passaggi che ho dovuto eseguire sono stati 5-9, e l'unica cosa che ho fatto diversamente è che (non ho incluso l'attributo HOSTNAME e ho usato vi invece di nano
Taegost,

4

Sembra che i driver per le NIC virtualizzate HyperV non siano presenti nella versione del kernel CentOS in uso e siano presenti nella versione Ubuntu installata correttamente. Microsoft ha recentemente inserito i suoi driver di dispositivo virtuale nel kernel mainline. Suppongo che tu stia utilizzando una versione di CentOS che non include questi driver.

Per quanto riguarda come risolverlo, puoi cercare i messaggi del kernel relativi all'hardware di rete. Controllare l'output di dmesg | lesse less /var/log/messages. Vorrei cercare voci contenenti "net", "eth". Qualsiasi logging del kernel proviene dal caricamento del modulo - successo o errore. Se non ci sono moduli del kernel per la NIC virtualizzata, probabilmente il kernel non avrà nulla da dire sull'hardware non riconosciuto.

Quando si crea la VM, è possibile scegliere di aggiungere una "Scheda di rete legacy" in HyperV (almeno l'opzione che si chiamava così). Ciò presenterà la scheda NIC al sistema operativo guest come essenzialmente un dispositivo più vecchio, per il quale si spera che i guest dispongano di driver.

Una volta installato CentOS, è possibile installare i driver da Microsoft per utilizzare i dispositivi virtuali più efficienti.


Non sono sicuro che questo abbia risolto il problema per me o se il caso fosse che la mia VM aveva solo eth0 impostato in modalità manuale e ho dovuto abilitare dhcp e onboot
jcolebrand

1

Nel mio caso, ho aggiunto una nuova macchina virtuale a Windows 10 Hyper-V importando un disco rigido virtuale di CentOS7 Linux. L'installazione andava bene, ma il networking in CentOS non funzionava affatto. Per risolvere il problema, in Hyper-V, ho selezionato la nuova macchina virtuale e modificato le impostazioni. In Scheda di rete, lo Switch virtuale era impostato su "Non connesso" per impostazione predefinita. La modifica in "Interruttore predefinito" e il salvataggio hanno risolto il problema. Ciò ha risolto errori come nessun dispositivo adatto trovato per questa connessione e impossibile trovare eth0.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.