Sobes.tech
Junior

O que é o encaminhamento de portas?

sobes.tech IA

Resposta da IA

O encaminhamento de portas (port forwarding) é uma técnica de rede que redireciona pacotes de rede que chegam a uma porta e endereço IP específicos para outro endereço IP e porta na rede local.

Isso permite que dispositivos externos acessem serviços executados em dispositivos internos, que geralmente estão ocultos atrás de NAT (Network Address Translation).

Principais tipos de encaminhamento de portas:

  • Estático (Static NAT): Uma regra fixa de encaminhamento que associa constantemente uma porta externa a uma porta interna em um endereço IP interno específico.
  • Dinâmico (Dynamic NAT): Mais usado para tráfego de saída, onde um grupo de endereços IP internos é mapeado para um ou mais endereços IP e portas externas de forma dinâmica. No contexto de "encaminhamento", geralmente refere-se ao encaminhamento estático para tráfego de entrada.
  • Encaminhamento de portas via SSH (SSH Port Forwarding): Uso de túneis SSH para redirecionar tráfego de forma segura. Pode ser:
    • Local: Redireciona uma porta da máquina local para um serviço remoto via SSH.
    • Remoto: Redireciona uma porta de uma máquina remota para um serviço local via SSH.
    • Dinâmico (proxy SOCKS): Cria um proxy SOCKS que permite tunelizar o tráfego para múltiplos endereços e portas.

Aplicações:

  • Acesso a servidores web, SSH, FTP, servidores de jogos e outros serviços dentro da rede local a partir do exterior.
  • Implementação de VPN.
  • Contornar firewalls e NAT em certos cenários (por exemplo, com SSH).

Exemplo de regra em um roteador (conceitualmente):

Interface de entrada IP externo Porta externa Protocolo IP interno Porta interna
WAN 203.0.113.10 80 TCP 192.168.1.100 80
WAN 203.0.113.10 2222 TCP 192.168.1.101 22

Exemplo de encaminhamento SSH local:

# A porta local 8080 é redirecionada para a porta 80 no servidor webserver.example.com
ssh -L 8080:webserver.example.com:80 user@ssh.example.com

Exemplo de encaminhamento SSH remoto:

# A porta remota 8080 no ssh.example.com é redirecionada para a porta 80 na máquina local
ssh -R 8080:localhost:80 user@ssh.example.com