Perguntas sobre CGNAT, Portas e Conexões nas nossas Redes Domésticas

Eu acho que a maioria, se não todas, as provedoras usam CGNAT e, devido a um problema recente que tive, estou tentando descobrir uma resposta para uma pergunta antiga que ainda tenho.

Para dar um contexto, vamos supor que eu suba um servidor de um game na porta 30000. Se eu tentar acessar isso usando o IP público da internet, não vou conseguir porque não tem nenhum port forwarding para a porta 30000 do meu PC. Mas então, como é possível eu acessar e jogar um jogo? Afinal, eu me conectaria a uma porta do servidor de um jogo online e ele deve abrir uma conexão comigo, provavelmente na porta padrão do jogo, então de alguma forma essa porta 30000 minha precisa estar aberta para receber pacotes.

E mais, essa porta 30000 não precisaria estar aberta no servidor da minha provedora que tem o meu IP público? Porque o jogo enviaria as coisas para a porta 30000 e ela precisaria estar liberada no servidor da minha provedora.

Aprofundando mais, por que se eu subo algo na porta 80 eu não consigo acessar isso do lado de fora da internet? E, mesmo nada podendo se conectar na porta 80 para falar com meu servidor, eu ainda consigo receber respostas HTTP de sites (sei que seria HTTPS, mas dá no mesmo).

Como um AnyDesk ou algum software que precisa abrir uma porta no seu PC e alguém se conectar funciona mesmo sem fazer nenhuma alteração no seu roteador?

E por fim, todos os meus computadores são vistos do lado de fora como se fossem um mesmo IP, então todos os serviços que recebem as minhas requests montam o pacote como se fossem enviar para esse IP público. Então, como o meu roteador sabe que um pacote da Google N é para o meu PC e um outro X é para o meu celular?

Ps: Eu espero que isso ainda esteja dentro do escopo do fórum Diolinux kkkkkk e também eu sei que várias coisas aí estão erradas, premissas, conclusões minhas etc… mas é justamente porque eu não sei então eu tentei colocar como eu estou pensando nessas coisas.

Para jogos a melhor opção é o ngrok ou o localtonet
os dois fazem a mesma coisa porém com planos gratuitos e pagos diferentes

vc fala uma porta do pc: ex 25565 é a porta padrão de server mine

ai vc da um ngrok ucp 25565 e ele te devolve um link q pode ser usado no lugar do ip q seu amigo iria conectar

ele vem em snap ent é bem facil instalar

da pra usar pra http tb caso esteja testando um site

Basicamente o problemas de ip no brasil é o seguinte:
não existe ipv4 suficiente pra todo mundo, então se faz o famoso rodizio de ipv4. Tem algumas operadoras de internet q se vc solicitar ip estatico cobram um valor a mais pra te fornecer um

ai sim vc vai conseguir criar um server na sua casa, usar um dns proprio, vpn proprio, qualquer coisa do tipo.

A outra opção, que menos operadoras ainda tem, seria usar ipv6, que esse teria tranquilamente um ip pra cada pessoa no mundo e sobraria muito.

Sei q aq na minha cidade as operadoras q liberam ip estatico é apenas pra empresas e bem salgadinho, ent me viro com o ngrok e localtonet

funciona mtt bem, ssh, udp, http, tudo suave

1 curtida

Aqui em Casa eu tenho um servidor Nextcloud Plexmediaserver e um Zoneminder e estou atras do CGNAT tudo o que tive que fazer e abrir 3 portas 1 para http outra para https e ssh aleatorias no roteador apontando para minha maquina e ai instalei no servidor e configurei o NGINX Proxy Manager e fiz um porxy reverso com um host duckdns + Let’s Encrypt (desafio DNS) e pronto ai acesso de onde eu quiser este servidor da seguinte forma https://homelab1.duckdns.org:8092 (Nextcloud) https://homelab2.duckdns.org:8092 (Plex) https://homelab3.duckdns.org:8092 (Zoneminder) e quanto ao ssh acesso ssh user@homelab1.duckdns.org:2223.

Algumas Observações

Caso o modem ou roteador da sua operadora seja dificil de configurar ou tem muitas limitações recomendo pegar e comprar um roteador e colocar o da operadora em um estado de Bridge e ai você configuraria tudo pelo seu proprio roteador.
Fora que você ganharia mais desempenho com um roteador proprio

1 curtida

Vou testar o uso de proxy reverse, to pesquisando um pouco sobre minhas perguntas porque isso realmente me fez ficar curioso e em duvida