Skip to content

Redirecionando portas para VirtualBox.

Boa tarde,

Alguns dias atrás estava pensando em rodar serviços dentro de máquinas virtuais. O que me deixava com a pulga atrás da orelha era como eu iria fazer o redirecionamento de portas. Então utilizei o Grande Oraculo e pesquisei durante bastante tempo para conseguir que funcionasse. Utilizei o "VBoxManage setextradata", mas não tive sucesso. Caso você queira tentar, veja como configurar redirecionamento de portas para virtualbox usando VBoxManage.

Inicialmente você deve criar uma interface "tap"

#sudo tunctl -u $USER

Definir o IP da interface tap

#sudo ip addr add 192.168.0.20/32 dev tap0
# sudo ip link set tap0 up

Habilitar ip forward

# sudo sysctl net.ipv4.ip_forward=1

Adicionar Rota

#sudo route add -host 192.168.0.150 dev tap0

NAT:

# sudo iptables --flush
#sudo iptables -t nat --flush
#sudo iptables -t nat -A POSTROUTING --out-interface eth1 -j MASQUERADE
#sudo iptables -A FORWARD --in-interface eth1 -j ACCEPT

Redirecionando a porta 3333 para 3389:

#iptables -t nat -A PREROUTING -i eth1 -p tcp -d 192.168.0.100 --dport 3333 -j DNAT --to 192.168.0.150:3389

eth1 - Minha placa de rede conectada ao meu roteador.
192.168.0.150 - IP da Máquina Virtual (configurada manualmente)
192.168.0.20 - IP da tap
192.168.0.100 - IP da minha máquina real que recebera conexões na porta 3333

Após este processo, está "tudo" pronto para você rodar um serviço na porta 3389 da sua máquina virtual. Você deve mudar as suas configurações do VirtualBox. Acesse "Settings - Network - Attached to - Selecione Bridged Adpater", logo em seguida selecione o "Name" para tap0. Inicie sua máquina virtual e configure o ip da mesma manualmente da seguinte maneira:

IP: 192.168.0.150
Subnet Mask: 255.255.255.0 (verifique se a sua é essa na sua maquina real)
Default Gateway: 192.168.0.100 (ip da maquina real)

Agora sua Maquina virtual está com acesso normal a internet e também com a sua porta 3389 aberta, sendo que a mesma será acessada externamente por 3333.

Já que tive problemas com o '--' estou disponibilizando um link para download do mesmo. Arquivo para liberação de portas em firewall.

Espero que seja útil,
Matheus Bratfisch

PS: Não sei porque diabos em vez de ficar --flush por exemplo está ficando -flush. Então caso você tenha problemas com os comandos, tente adicionar o -- na frente do FLUSH, do out-interface, do in-interface, do dport e do "to". Foram nesses que eu encontrei problema, caso você tenha algum outro, avise-me.

Referencias:
IPtables Tutorial
IPTables Port Redirect
VirtualBox, com nat
VBoxManage Port Forward

Published inLinux

2 Comments

  1. Pedro Pedro

    isso tudo na máquina virtual ou na real?

  2. A ideia é redirecionar coisas da internet por exemplo pra uma maquina virtual, entao como as informacoes na verdade chegam na maquina host voce precisa redirecionar do host pra vm.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.