"Cogito ergo sum"
RSS icon Email icon Home icon
  • Redirecionando portas para VirtualBox.

    Posted on May 18th, 2009 Matheus (X-warrior) Bratfisch No comments

    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