Executando verificação de segurança...
5

Como conectar dois servidores "atrás" de CGNATs

Como fazer a conexão peer-to-peer de dois servidores (P1 e P2) que estão em CG-NATs diferentes?

  • ⚠️ Neste video apresenta-se uma solução, "tunelando" uma porta para um servidor próprio na internet, expondo-a na rede mundial. Pode ser feito, por exemplo, invocando os poderes do SSH (mais detalhes no vídeo).
  • ⚠️ Na falta de um servidor próprio visível na internet, o localhost.run presta-se à essa função. Detalhes do seu uso podem ser encotrados no site. O uso mais simples é obtido pelo comando:
    ssh -R 80:localhost:8080 [email protected]
  • ⚠️ Outra forma: utilizar um serviço/aplicação de terceiros, como o ngrok, sendo necessário instalar executar uma aplicação e ainda ser limitada pelas regras de segurança local.

Contudo, neste cenário com CG-NATs, tenho algumas dúvidas:
⚀ seria possível criar a conexão peer-to-peer sem depender de um terceiro servidor na internet o tempo todo?

⚁ se ambos servidores estão dentro da mesma CG-NAT do provedor, é possível realizar a comunicação nesta "sub-rede"?

⚂ com a adoção plena do IPV6 pelos provedores de internet (ISP), deixando o padrão atual CGNAT-44, será possível voltar a publicar conteúdos na internet como fazíamos há alguns anos, somente adicionando regras no roteador local?


✨ Este post possivelmente é o nongentésimo nonagésimo nono (999º) aqui no TabNews.
ℹ️ Emojis obtidos em emojipedia dot org

Color test some *blue* text font size 20px
5

Parabéns pelas 99 publicações. Rumo ao 100.

seria possível criar a conexão peer-to-peer sem depender de um terceiro servidor na internet o tempo todo?

A única forma de não depender de um terceiro servidor, é ambos os peers se conhecerem um ao outro e haver conectividade entre os dois. No Brasil, a realidade é que nenhuma das premissas é válida.

se ambos servidores estão dentro da mesma CG-NAT do provedor, é possível realizar a comunicação nesta "sub-rede"?

Tanto quando as configurações de rede deixarem.
Se esse CG-NAT estiver implementado a nível de uma entidade como uma escola ou uma empresa, será mais fácil que isso possa acontecer.
Se vc estiver conectado direto no ISP, vai depender deles limitarem ou não a conexão peer-to-peer direta

com a adoção plena do IPV6 pelos provedores de internet (ISP), deixando o padrão atual CGNAT-44, será possível voltar a publicar conteúdos na internet como fazíamos há alguns anos, somente adicionando regras no roteador local?

Sim, e mais simples.
Em vez de ter que mapear portas uma a uma, basta levantar a firewal para certos IPs, pois o roteador deixa de ser um proxy L7 e passa a ser um proxy L4.
(na verdade eu estou supondo este último, não tenho a certeza que esteja certo, por favor me confirmem)

1

Com a adoção do IPv6, todo dispositivo dentro da rede do cliente recebe 1 IPv6 global, com isso a conexão é end-to-end, não sendo necessário redirecionar portas, a questão nesse caso é se o firewall do equipamento permite conexões de entradas para aquelas portas necessárias: 80, 443, 3000 etc. Além disso, a grande maioria dos provedores de Internet aplicam regras de bloqueio, no sentido internet -> cliente, para as portas de serviço mais comuns, abaixo da porta 1024. Afinal, ele está vendendo acesso à internet e não hospedagem de serviço do lado do cliente (Não estou afirmando que é correto).

2

E o tempo passou e sua resposta tornou-se realidade, macaraninarede!!!

Agora é possível fazer a conexão "end-to-end" como citou usando o IPV6. O endereço fica meio esquisito, mas funciona. Algo do tipo para uma conexão HTTP:

http://[1234:abcd:5678:8421:cafe:0000:ba1a:ecdf]

Até o momento, o ISP (prefiro não citar o nome rs) não tem bloqueado as portas baixas. Por um lado isso é muito bom, pois, como antes, podemos novamente colocar um servidor pessoal no ar (até um smartphone). Por outro lado, expõe IoT (DVRs, IPCamera, SmartTV etc.) que podem estar com alguma vulnerabilidade exigindo atenção extra.