26 março 2012

Redirecionamento de Porta no Windows Server 2008 (port forwarding)


Uma dica para quem precisa redirecionar as conexões de uma porta para outra porta de outra máquina.
Funciona em WinServer 2008/R2/7 e 8

Supondo que meu cenário tenha uma máquina de frontend (186.202.1.1) publicada para a internet e uma VM Hyper-V (192.168.30.1) interna (não acessível externamente) que precise receber as conexões externas provindas da porta 5500.

Nesse caso irei redirecionar as conexões da porta 5500 da máquina 186.202.1.1 para a VM 192.168.30.1, executando o seguinte comando no prompt do DOS com permissão de administrador (run as admin):

--> netsh interface portproxy add v4tov4 listenaddress=186.202.1.1 listenport=5500 connectport=5500 connectaddress=192.168.30.1


Para visualizar todos os mapeamentos realizados:
--> netsh interface portproxy show all


Para remover o mapeamento:
--> netsh interface portproxy delete v4tov4 listenport=5500 listenaddress=186.202.1.1 protocol=tcp

25 comentários:

  1. Bom dia! Tem jeito de matar os mapeamentos toda vez que a máquina for reiniciada?

    ResponderExcluir
    Respostas
    1. Rubens, tenta ai com o comando "netsh interface portproxy reset" ou "netsh interface ipv4 reset"

      Abraços

      Excluir
  2. Ou ainda teria um jeito de fazer esse mapeamento somente enquanto um programa (em Delphi) estivesse em execução e quando ele fosse encerrado matasse o mapeamento? Esqueci de agradecer no primeiro comentário. Muito obrigado!

    ResponderExcluir
    Respostas
    1. Olá Rubens... obrigado pela visita, você pode ao startar sua aplicação executar o comando do exemplo e ao sair executar netsh interface portproxy delete v4tov4 listenport=5500 listenaddress=186.202.1.1 protocol=tcp

      Excluir
  3. Amigo agradeço por compartilhar seu conhecimento isso me ajudou a resolver uma situação aqui, sabe me dizer como eu faço para desfazer o redirecionamento ?

    Obrigado.

    ResponderExcluir
    Respostas
    1. Olá Douglas, obrigado pela visita... tente o seguinte:

      netsh interface portproxy delete v4tov4 listenport=5500 listenaddress=186.202.1.1 protocol=tcp

      Excluir
  4. Obrigado por divulgar conhecimento! Foi de grande ajuda!

    ResponderExcluir
  5. amigo e no caso das maquinas usarem win xp ou vista os comandos tb vao funcionar? se n o q poderia ser feito?

    ResponderExcluir
    Respostas
    1. Amigo, funciona no XP (professional) e vista sim sem problemas...

      Excluir
    2. outra coisa... os efeitos serao imediatos ou seria necessario o rebook do pc e/ou roteador saberia me dizer? n estou tendo muito sucesso aki apesar de ter configurado tudo certinho..... antes de mais nd obrigado pelo POST :)

      Excluir
    3. Estou com o mesmo problema "outra coisa... os efeitos serao imediatos ou seria necessario o rebook do pc e/ou roteador saberia me dizer? n estou tendo muito sucesso aki apesar de ter configurado tudo certinho..... antes de mais nd obrigado pelo POST :)"

      Obrigado...

      Excluir
  6. Boa tarde!
    Desde já, agradeço o conheçimento passado por você.
    gostaria de gaber o que acontece se o ip externo, proveniente do meu provedor alterar? pois o meu provedor usa ip dinãmico.

    ResponderExcluir
    Respostas
    1. Neste caso terá que usar um Dyndns ou No-ip e criar a regra no seu roteador (Virtual server)

      Excluir
  7. Bom dia!

    Gostaria de agradecer a quem postou no blog, foi muito útil pra mim.

    Obrigado.

    ResponderExcluir
  8. agradeço a postagem, foi muito útil.
    mas surgiu uma outra situação, que não consegui resolver. gostaria de saber se pode me ajudar.
    tenho um ip externo 187.168.xx.xx que direciona para um ip interno 192.168.xx.xx que é meu servidor. agora preciso direcionar um site que esta em outra maquina da rede 192.168.xx.2 para ser acessado neste ip externo. uma dica ajudaria muito. obrigado

    ResponderExcluir
    Respostas
    1. Ola Richie.. faz o seguinte: na maquina xx.2, coloque uma outra porta para responder ao site (ex: 82), na maquina xx1 coloque um redirecionamento dessa porta para a porta do 2 ou deixe o xxx2 na porta 80 mesmo e desabilite a porta 80 do xx1, colocando um desvio da porta escolhida do xxx1 para o xxx.2...
      Desse modo ao acessar o ip externo, ele joga para o interno.xxx1 que redireciona a porta para o xxx2... Se usa um roteador, esse recurso se chama "Virtual Server"

      Excluir
    2. desculpa cara mas todos esses xx me deixaram confuso. vou colocar os ip´s assim fica mais facil

      tenho um ip externo 187.168.1.250 que direciona para um ip interno 192.168.1.1 que é meu servidor. agora preciso direcionar um site que esta em outra maquina da rede 192.168.1.2 para ser acessado neste ip externo. uma dica ajudaria muito. obrigado

      Excluir
    3. Vamos lá: Suponhamos que seu site responde na porta 80 do 192.168.1.2:
      1) No 192.168.1.1, redirecione as chamadas da porta 80 para o ip 192.168.1.2
      2) no IP externo mantenha o redirecionamento para seu IP 192.168.1.1 mesmo...

      Quando você chamar externamente o site ele direciona para seu servidor que terá uma regra para jogar a chamada da porta 80 para outra estação entendeu? Desse modo vc tem um destino vindo do IP externo e no servidor, internamente direciona para onde quiser... Fica mais facil para debugar e filtrar as portas em um unico lugar.
      Não esqueça de liberar a porta 80 (ou a porta que desejar) no seu roteaor ou firewall para poder aceitar chamadas externas.

      Testa ai e me fala... Eu utilizo esse recurso aqui e funciona bem...

      Excluir
  9. Bom dia Nilcemar!
    Deu certissimo aqui no meu cenário.
    Mas, como faço pra manter esse redirecionamento permanente?
    Obrigado
    Julio Leal

    ResponderExcluir
  10. Bom dia

    Tentei fazer o processo, mas não deu muito certo...

    O que eu preciso fazer é o seguinte:
    Preciso acessar o WTS de uma maquina na rede. No servidor funciona o acesso remoto, mas não consigo jogar a porta direto pelo modem pelo IP diferente.

    Então fiz esse processo, no modem liberei a porta 3390 apontada para o IP 192.168.1.10 do servidor, e, no servidor (Windows 7 Professional) adicionei o redirecionamento da porta
    3390 para a porta 3389 do IP 192.168.137.100, mas não ta funcionando o acesso.

    Sabe o que pode ter de errado?

    ResponderExcluir
    Respostas
    1. Veja se seu modem tem o recurso "Virtual Servers" e configure-o. É possivel que seu modem esteja impedindo o acesso a essa porta. Adicione a abertura no firewall do windows tb.

      Excluir
  11. Bom dia Consegui configurar esses redirecionamentos no meu HyperV server 2012... funcionou minhas conexãoes com o RDP
    Mais quando reinicio o servidor Hyper V server 2012 eu nao consigo mais a conexão via RDP
    as configurações do Redirecionamento continua por la, mais nao consegui conectar
    precisei remover e despois add os redirecionamentos para fazer funcionar novamente

    Teria alguma dica ou macete para isso não acontecer..

    Obrigado

    ResponderExcluir
  12. Muito bom, resolvi umas coisas aqui referente ao redirecionamento de portas, mas porém é importante ressaltar que na minha situação tinha que liberar ainda no firewall do windows e no radio pelo qual recebo internet. Ma deu tudo certo

    ResponderExcluir