CentOS no HyperV - eth0 não está no ifconfig?

9

Lancei uma instalação do CentOS no HyperV e designei uma NIC da mesma maneira que fiz em uma VM do Ubuntu ; no entanto, o dispositivo simplesmente não é utilizado.

Somente meu loopback é encontrado por ifconfig.

Como devo resolver problemas para filmar isso?

Incógnito
fonte
O que mostra na VM do Ubuntulsmod em funcionamento para um driver de placa de rede? Esse módulo está carregado na VM do CentOS ? O que realiza? ifconfig eth0 up
22811 Caleb
Os dois sistemas operacionais possuem um grande número de módulos que não são compartilhados entre eles (ou seja, mais de 20). ifconfig eth0 indica "eth0: erro ao obter informações da interface: Dispositivo não encontrado"
Incognito 26/07
2
Para não ser condescendente ou pedante, mas você está correndo ifconfig -a? Outra maneira mais compacta de ver as interfaces de rede em um sistema é com ip a l(assume o iproute2, instalado por padrão no CentOS, acredito).
Eli Heady
2
ifconfig -arevelou que tenho eth2

Respostas:

8

ATUALIZAÇÃO: Foi atualizada para refletir as alterações feitas no LIS v4 que não exigem mais a execução do instalador específico da versão. Além disso, se tudo o que você precisa é que o Hyper-V relate as informações na guia "Rede", apenas as etapas 1 a 4 são necessárias)

Eu tive o mesmo problema; reinstalou o driver. Aqui está o que eu fiz:

  1. Instale o CentOS
  2. Faça o download do "Linux Integration Disk" para Hyper-V da Microsoft (existem várias versões, a última contém as distros anteriores)
  3. Monte o arquivo de imagem ISO.
    sudo mount /dev/cdrom /media
  4. Execute install.shna pasta LISISO do CD do Linux Integration Services (Onde xx é a versão mais recente ou a versão específica que você precisa).
    sudo /LISISO/install.sh
  5. Crie ifcfg-eth0arquivo.
    nano /etc/sysconfig/network-scripts/ifcfg-eth0
  6. Insira as seguintes linhas:

    DEVICE=eth0
    BOOTPROTO=dhcp
    ONBOOT=yes
    
  7. Salvar e sair

  8. Editar ou criar networkarquivo
    nano /etc/sysconfig/network
  9. Insira as seguintes linhas:

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

    Salvar e sair

  10. Reinicie e agora você pode executar o ping
Henry Aloni
fonte
Hoje tive o mesmo problema hoje com uma nova VM RHEL 7.4, as únicas etapas que tive que executar foram de 5 a 9, e a única coisa que fiz de diferente foi a seguinte (não incluí o atributo HOSTNAME e usei vi em vez de nano
Taegost
4

Parece que os drivers das NICs virtualizadas HyperV estão ausentes na versão do kernel do CentOS que você está usando e estão presentes na versão do Ubuntu que você instalou com sucesso. A Microsoft só recentemente colocou seus drivers de dispositivo virtual no kernel principal. Meu palpite é que você está usando uma versão do CentOS que não inclui esses drivers.

Quanto à solução de problemas, você pode procurar por mensagens do kernel relacionadas ao hardware da rede. Verifique a saída de dmesg | lesse less /var/log/messages. Eu procuraria por entradas contendo "net", "eth". Qualquer registro do kernel será do carregamento do módulo - êxito ou erro. Se não houver módulos de kernel para a NIC virtualizada, provavelmente o kernel não terá nada a dizer sobre o hardware não reconhecido.

Ao criar a VM, você pode optar por adicionar um "Adaptador de rede herdado" no HyperV (pelo menos a opção costumava ser chamada assim). Isso apresentará a NIC ao SO convidado como essencialmente um dispositivo mais antigo, para o qual, esperançosamente, o convidado terá drivers.

Depois de instalar o CentOS, você pode instalar drivers da Microsoft para utilizar os dispositivos virtuais mais eficientes.

Eli Heady
fonte
Eu não estou certo se isso resolveu isso por mim ou se o caso era que a minha VM só tinha set eth0 para o modo manual, e eu tive que ativar o DHCP e ONBOOT
jcolebrand
1

No meu caso, adicionei uma nova VM ao Windows 10 Hyper-V importando um VHD do CentOS7 Linux. A instalação foi boa, mas a rede no CentOS não estava funcionando. Para resolver o problema, no Hyper-V, selecionei a nova VM e editei as configurações. Em Adaptador de rede, o comutador virtual foi definido como "Não conectado" por padrão. Alterar isso para "Chave padrão" e salvar corrigiu o problema. Isso resolveu erros como nenhum dispositivo adequado encontrado para esta conexão e incapaz de encontrar eth0.

Barry Cox
fonte