Protegendo uma VM guest para fornecer acesso à Internet, mas bloqueando o acesso à LAN host

3

Eu tenho uma VM guest Linux em execução em um host do Windows. Se eu definir o modo de rede para NAT, o convidado pode obter acesso à Internet (o que eu quero), mas também pode acessar a LAN hosts (o que eu não faço).

Por vários motivos, não consigo configurar uma rede separada apenas para fornecer acesso à Internet ao hóspede.

Posso usar o Firewall do Windows ou algum software de roteamento para permitir acesso à Internet, mas bloquear todos os outros acessos?

EDIT - Eu tenho a solução dos fóruns do VirtualBox: Use o NAT com o firewall do Windows para bloquear o convidado.

Meu erro foi tentar configurar a regra no host onde (program = all, local IP = guest IP range). Regra, na verdade, deve ser (IP local = all, program = virtualbox.exe), uma vez que o NAT já acontece antes que ele atinja o firewall

    
por Francis Appa 21.06.2013 / 11:49

4 respostas

2

Você diz Linux, então estou assumindo que você tem IPtables instalados. Você só pode permitir tráfego de entrada / saída na porta 80 (HTTP), porta 443 (HTTPS) e DNS de saída. Use por sua conta e risco, pois não testei essas regras. Além disso, verifique se você é a máquina física quando fizer isso. Se você estiver conectando remotamente, pode desconectar-se e não conseguir voltar para a máquina.

#delete all rules
iptables -F

#change default policy to drop everything
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

#add rules for port 80 and 443 to only allow this traffic
iptables -A OUTPUT -o eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

#allow outbound DNS
iptables -A OUTPUT -p udp -o eth0 --dport 53 -j ACCEPT
iptables -A INPUT -p udp -i eth0 --sport 53 -j ACCEPT

#allow loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

Regras da lista:

iptables -L
    
por 21.06.2013 / 14:01
2

Solução - adicione uma regra de firewall ao host: block (IP local = all, program = virtualbox.exe, IP remoto = {intervalo que você deseja bloquear})

    
por 22.06.2013 / 06:22
0

É complicado dar conselhos porque você não especificou qual plataforma de virtualização está usando. Se você estiver usando o Virtualbox, você pode definir o tipo de rede para o adaptador Host only, que permitirá acesso à Internet e acesso ao host no qual você está executando o Virtualbox, mas não ao resto da rede.

    
por 21.06.2013 / 13:21
0

Eu tive a ponte minha conexão. Isso ainda não funcionou, mas a verificação da caixa conectada por cabo (circulada na imagem abaixo) corrigiu minha conexão de rede. Eu não entendo completamente o porquê.

    
por 28.07.2015 / 04:00