NAT cliente e servidor e fechamento de porta

0

Digamos que eu tenha um cliente e um servidor. O cliente está por trás do NAT e o servidor é público.

O cliente deseja ter uma sessão com o servidor.

Digamos que o cliente esteja em 192.168.1.1, NAT em 192.168.1.2 endereços IP privados. E NAT em 50.0.0.1 e servidor em 50.0.0.2 endereços IP públicos.

O cliente envia o pacote UDP / IP (esperamos que seja similar com TCP / IP) para o servidor. Este pacote tem sua origem IP 192.168.1.1 e porta de origem digamos que 1000 (selecionado aleatoriamente), também tem porta de destino 50.0.0.2 e porta de destino 2000, já que este é o aplicativo de porta executado no servidor.

O pacote TCP / IP chega ao NAT, que muda o IP de origem para 50.0.0.1 e porta, digamos 5000 (selecionado aleatoriamente) e rotas para o servidor.

O servidor envia o pacote de resposta com o IP de destino 50.0.0.1 e a porta 5000.

O NAT altera o IP de destino do pacote para 192.168.1.1 e a porta de destino para 1000.

  1. Agora, o servidor pode enviar muitos pacotes UDP / IP para o mesmo IP 50.0.0.1 e porta 5000, e todos os pacotes serão encaminhados para a porta 192.168.1.1 do cliente 1000?

  2. Em caso afirmativo, por quanto tempo essa porta 5000 no lado público do NAT encaminhará os pacotes para o cliente mencionado?

  3. Apenas os pacotes com o IP de origem 50.0.0.2 e a porta de origem 2000 serão encaminhados para o cliente?

por croraf 17.04.2018 / 17:54

1 resposta

3

Respostas:

  1. Sim.
  2. Isso depende da implementação do NAT para o dispositivo. No Linux, isso pode ser ajustado por editing / proc / sys / net / ipv4 / netfilter / ip_conntrack_udp_ *
  3. Sim - a menos que haja portas "relacionadas" reconhecidas pelo NAT, caso em que módulos NAT adicionais são usados para descobrir o que está relacionado (pelo menos no Linux)
por 17.04.2018 / 18:27