Acesso a convidado do Hyper-V via nome de máquina não funciona

O Hyper-V tem um recurso interessante no comutador "Default Switch" que automaticamente adiciona um registro DNS no hospedeiro com o nome de máquina do convidado quando este obtém IPv4 via DHCP. É salvo em %SystemRoot%\System32\drivers\etc\hosts.ics e usa o domínio mshome.net.

Meu convidado Fedora 40 não estava aparecendo lá. NetworkManager envia o nome de máquina na requisição DHCP:

$ nmcli connection show eth0 | grep hostname
ipv4.dhcp-send-hostname:                sim
[...]

Descrição da propriedade no manual nm-settings:

If TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some DHCP servers use this hostname to update DNS databases, essentially providing a static hostname for the computer. If the "dhcp-hostname" property is NULL and this property is TRUE, the current persistent hostname of the computer is sent.

Depois de quebrar um pouco a cabeça, lembrei que a instalação do Fedora por padrão não configura um nome de máquina estático (no arquivo /etc/hostname), que é persistente. O nome transiente fedora é gerado a cada inicialização.

$ hostnamectl
     Static hostname: (unset)
  Transient hostname: fedora
[...]

Então basta configurar um rodando hostnamectl hostname fedora (como root) que o dito cujo aparece em hosts.ics após reiniciar o convidado:

[...]
172.29.90.28 fedora.mshome.net # 2024 5 3 29 19 40 30 955

Sendo possível conectar, no hospedeiro, com ssh marcos@fedora.mshome.net ou algo que o valha.

Comentários

  1. Excelente dica, não só para o caso ilustrado, mas para quem quer colocar um Linux na rede e deixar ele acessível com mais facilidade.

    ResponderExcluir
    Respostas
    1. O domínio gerado funciona apenas no hospedeiro. Para expor o convidado na rede local, precisa personalizar a configuração de rede -- "Default Switch" não serve para isso.

      Excluir
    2. Obrigado pela correção e esclarecimento!

      Excluir

Postar um comentário