Mantenha suas interfaces de rede de convidado com IPs privados em uma ponte interna, configure iptables no host para uma porta NAT em sua interface externa, para um IP e uma porta na ponte interna.
Por exemplo, digamos que o IP da Internet do seu host seja 1.2.3.4 . Configure uma bridge (vamos chamá-la de virbr0 ) e dê ao host um IP nessa ponte como 192.168.0.1/24 . Ao criar um novo convidado virtual, conecte sua interface de rede em virbr0 e forneça ao sistema operacional convidado um endereço IP em 192.168.0.0/24 . No host, crie um NAT que direcione algo como 1.2.3.4:10022 para 192.168.0.10:22 . Para ssh para esse convidado de fora, você ssh para a porta externa no host.
Você também precisará de uma regra de NAT de saída para que os convidados usem 192.168.0.1 como seu gateway padrão, e o host receba todas as solicitações dos convidados e os NAT a sua interface externa.
NAT de entrada (chamado de DNAT) é coberto em:
NAT de saída (chamado MASQUERADE) é coberto em: