Se você estiver usando o Virtualbox, por padrão ele emulará a rede usando o NAT. Essa é a maneira mais simples de fornecer acesso de rede ao adaptador de rede virtual dentro da máquina virtual, mas tem o efeito colateral de não ser possível se conectar aos serviços na máquina virtual a partir do sistema host.
Você precisaria alterar o modo de emulação de rede na máquina virtual de NAT para "em ponte".
Observe que isso é um pouco mais complexo do ponto de vista do sistema operacional do host, pois ele precisa obter acesso de baixo nível ao adaptador de rede do host no nível do pacote. Isso envolve a instalação de um driver especial, principalmente em hosts Windows. Essencialmente, seu adaptador de rede no host precisará começar a se comportar de maneira semelhante a vários adaptadores de rede. Isso pode às vezes (mas não em situações normais) entrar em conflito com sua rede externa.
Em vez de "em ponte", você também pode usar "rede somente para host", o que evita todos os problemas potenciais acima, mas seu sistema operacional convidado não terá acesso à rede mais ampla (por exemplo, a Internet).
Se você estiver usando algo diferente do VirtualBox, os problemas provavelmente serão os mesmos, mas a maneira de corrigi-lo pode não ser.