Suponho que eu execute um convidado do Windows em uma QEMU
máquina virtual em um host Debian. Por este meio, o host Debian é um computador desktop comum com acesso à Internet.
Como posso configurar uma SFTP
troca de arquivos entre convidado e host, mas impedir que o convidado (= Windows) acesse a Internet?
- Configure uma interface de rede virtual (NIC) para a máquina Windows pertencente
virt-manager
(a configuração padrão é redeNAT
com dispositivovirtio
) - Instale o driver de rede na máquina convidada (Windows)
- Instale o WinSCP na máquina convidada (Windows)
Mas e então? Onde posso impedir o acesso público à Internet apenas para este convidado? Isso já é possível virt-manager
sem atrapalhar o firewall do host?
Várias outras máquinas convidadas não devem ser afetadas por isso.
Eu não uso
virtmanager
, mas com plainqemu
isso é muito simples:Isso está usando a rede "modo de usuário" (slirp) com o modo "restrito" ativado e faz alguns encaminhamentos.
Para conectar com
ssh
//scp
dosftp
host para o convidado, você usassh -p 2222 localhost
escp -P 2222 from_file localhost:to_file
.Para se conectar do convidado ao host, você usa
ssh 10.0.2.1
(ou define10.0.2.1
como o host em qualquer caixa de diálogo deputty
ouwinscp
)Para a
restrict=on
bandeira, dê uma olhada na minha resposta aqui . Isso pode estar mais próximo do que você realmente precisa do quescp
ousftp
.Uma maneira simples é remover o gateway padrão das configurações da máquina Windows. Isso removerá a rota padrão e só poderá acessar a "rede local". Você pode precisar fazer o mesmo para IPv4 e IPv6 e desabilitar qualquer método de aquisição automática de endereço.
Crie uma nova rede virtual no virt-manager com sua conectividade definida como Rede virtual isolada .
Nesta configuração, as VMs nesta rede só podem acessar outras VMs na mesma rede e no host (usando apenas o endereço IP do host para a rede isolada).