Por que o encaminhamento de porta é necessário para servidores, mas não para clientes?


2

Sempre que hospedo um servidor, sou obrigado a encaminhar as portas de escuta do servidor no meu dispositivo NAT.

No entanto, se eu me conectar a um servidor remoto, não será necessário encaminhar a porta usada para os dados recebidos do servidor remoto.

Por que?


Não é uma questão de programação.
John Zwinck

Você está certo, minha pergunta pertence ao Superusuário.
ASMO

Respostas:


2

Quando você faz uma conexão de saída, o endereço de destino pode ser visto no pacote, o endereço de origem do host interno está no pacote; portanto, a caixa NAT "apenas" substitui o endereço de origem pelo seu e define uma entrada no pacote. uma tabela interna, de modo que, para pacotes correspondentes às "características desta conexão", ele saiba substituir o endereço de destino pelo endereço de origem original, para que os pacotes retornem a você.

Para um servidor, o pacote entra no NAT de fora e não há nada a dizer para qual host interno ele se destina. Não existe uma tabela atual de conexões. Portanto, você precisa definir uma regra dizendo "novas solicitações de conexão para a porta 22 devem ser passadas para esta caixa aqui".

Além disso, o software executado nos computadores pode optar por conversar com qualquer caixa NAT local com NAT-PMP (Apple) ou UPnP (protocolo da Microsoft) para configurar essas associações automaticamente. Mas isso realmente ajuda quando você não se importa com o número da porta externa que recebe.


Sua explicação é a mais clara e completa possível! Muito obrigado!
Asmo29 de

1

A conexão de saída é assumida como o que você deseja e deseja, portanto, permite a conexão por padrão. O contrário não é verdade; você não deseja que nenhum cliente da Internet rouge se conecte a nenhum servidor do seu computador, portanto, é necessário abri-lo explicitamente. Caso contrário, seria o mesmo que colocar seu servidor na Internet sem firewall.


Mas, por exemplo, sempre que jogo um jogo online, o jogo recebe conexões da Internet, mesmo que não seja necessário encaminhamento de porta para essas conexões de entrada.
ASMO

2
Não recebe apenas conexões aleatoriamente. Você inicia o primeiro contato com esses servidores, para que o NAT saiba aceitar as conexões de retorno novamente.

-1 No seu último comentário, você escreveu: "Ele não recebe conexões aleatoriamente. Você inicia o primeiro contato com esses servidores, para que o NAT saiba aceitar as conexões de retorno". <------ Não existe uma "conexão de retorno". E você está se referindo à mesma conexão, mas fala como se fosse uma outra diferente
barlop

@ Barlop Primeiro, acredito que você deveria votar com base na resposta, e não nos comentários anexados. Segundo, o que acontece muito depende do código de rede dos jogos. Funções normais de FTP que eles descrevem; o cliente abriria uma conexão de comando com o servidor e tentaria uma conexão direta de dados com o cliente (um segundo canal). Não é inconcebível que um jogo possa funcionar assim.
28416 Andy

@ Andy bem, a) Considero o seu comentário sobre a sua resposta como uma elaboração da sua resposta, para ser lida com ela e, portanto, parte dela. Eb) mesmo que não fizesse parte dela, ou para ser lida com ela, então o fato é que a sua resposta não está tão bem formulada no fato de que você pode fazer um comentário tão errado sem contradizer explicitamente sua resposta, demonstra que sua resposta não pode ter sido muito bem formulada. Agora, quanto ao seu comentário ... Mesmo no caso do FTP (que é um caso muito específico), e você está descrevendo o ftp ativo (o que foi desenvolvido primeiro). (um caso específico de um caso específico) .. (cont)
barlop

0

O NAT bloqueia as conexões de entrada e deixa as conexões de saída. Uma vez que a conexão é estabelecida, os pacotes podem ir de qualquer maneira.

Se você configurar um servidor, precisará lidar com o NAT no final se usar o NAT. Se você se conectar a um servidor, eles terão que lidar com o NAT no final, se usarem o NAT.

Se o NAT bloqueasse as conexões de saída (não, mas suponha que sim), não seria possível acessar a Internet.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.