É possível configurar o reencaminhamento de portas de rede em todas as versões do Windows sem utilizar ferramentas de terceiros. Usando uma regra de reencaminhamento de portas, pode redireccionar uma ligação TCP de entrada (IPv4 ou IPv6) da porta TCP local para qualquer outro número de porta, ou mesmo para uma porta num computador remoto. Além disso, não é necessário que o Windows tenha um serviço que escute numa porta TCP específica. O reencaminhamento de portas Windows é mais comummente utilizado para contornar firewalls ou para esconder um anfitrião ou serviço interno da rede externa (NAT/PAT).
No mundo Linux, o reencaminhamento de portas é configurado muito simplesmente utilizando iptables ou firewalld. Nos sistemas Windows Server, o Routing and Remote Access Service (RRAS) é tipicamente utilizado para configurar redireccionamentos de portas. Contudo, existe uma forma mais fácil de configurar o encaminhamento de portas, que funciona bem em qualquer versão do Windows.
Como configurar o encaminhamento de portas no Windows 10 usando Netsh Portproxy?
É possível configurar o encaminhamento de portas no Windows usando o modo Portproxy do comando Netsh. A sintaxe do comando é a seguinte:
p>netsh interface portproxy add v4tov4 listenaddress=localaddress listenport=localport connectaddress=destaddress connectport=destport
br>onde
- listenaddress – é um endereço IP local para ouvir a ligação de entrada (útil se tiver vários NIC ou vários endereços IP numa interface);
- listenport – número de porta TCP de escuta local (a ligação está à espera);
- connectaddress – é um endereço IP local ou remoto (ou nome DNS) para o qual pretende redireccionar a ligação de entrada;
- connectport – é uma porta TCP para a qual a ligação de
listenport
é reencaminhada.
netsh interface portproxy add
v4tov6
v6tov4
v6tov6
, é possível criar regras de reencaminhamento de portas entre endereços IPv4 e IPv6.Suponhamos que a nossa tarefa i é fazer com que o serviço RDP responda numa porta não padrão, por exemplo 3340 (a porta pode ser alterada nas definições do serviço Remote Desktop, mas estamos a utilizar o RDP para facilitar a demonstração do reencaminhamento de portas). Para o fazer, precisamos de redireccionar o tráfego de entrada da porta TCP 3340 para outra porta local – 3389 (este é o número de porta padrão do RDP).
netstat -na|find "3340"
Alternativamente, pode verificar se a porta não está a ser ouvida localmente utilizando o PowerShell cmdlet Test-NetConnection:
Test-NetConnection -ComputerName localhost -Port 3340
Para criar uma regra de reencaminhamento de portas no Windows 10, executar um prompt de comando como administrador e executar o seguinte comando:
netsh interface portproxy add v4tov4 listenport=3340 listenaddress=10.1.1.110 connectport=3389 connectaddress=10.1.1.110
Onde 10.10.1.110 – o endereço IP actual deste computador.
p> Now, use a ferramenta netstat para verificar se o Windows está agora a ouvir na porta local 3340:
netstat -ano | findstr :3340
o suporte IPv6 deve estar activado na interface de rede para a qual a regra de reencaminhamento de portas é criada.
Estes são os pré-requisitos para o correcto funcionamento do reencaminhamento de portas. Sem o serviço IP Helper e sem suporte IPv6 activado, o redireccionamento de portas não funcionará.
Para que o redireccionamento de portas funcione no Windows Server 2003/XP, é necessário definir adicionalmente o parâmetro IPEnableRouter para 1 na chave de registo HKLM\SYSTEM\Set001\Services\Tcpip\Parametros.
P>Pode descobrir que processo está a ouvir na porta especificada usando o seu PID (no nosso exemplo, o PID é 636):
tasklist | findstr 636
P>Tentemos ligar-nos a esta porta a partir de um computador remoto usando qualquer cliente RDP. A porta 3340 deve ser especificada como o número da porta do RDP. É especificado após os dois pontos, seguindo o endereço do servidor RDP. Por exemplo, 10.10.1.110:3340