
NAT Tunnel: para servir sem esforço por trás do NAT
should start with "NAT Tunnel v0.01\n----------------\n" then the translated paragraphs, then "Exemplo:" etc., then "Servidor:" line, then code block, then "Cliente:" line, then code block.
Make sure to preserve the exact spacing? The input has line breaks. Output should have same structure.
Se você tem acesso a um servidor com IP público e portas sem filtro, pode executar o servidor NAT Tunnel (NT) no servidor, e o cliente NT na sua máquina atrás de NAT. O servidor requer 2 portas abertas: uma para comunicação com o cliente NT (--admin), a outra para clientes comuns se conectarem (--public: esta é a porta que você quer que seus usuários usem).
O cliente NT abre uma conexão para o IP/porta de admin do servidor. Assim que o servidor recebe uma nova conexão, ele sinaliza o cliente NT, que então cria uma nova conexão de túnel para o servidor, que é então conectada ao serviço desejado no lado do cliente NT (--local)
A conexão entre o cliente NT e o servidor NT na interface admin é protegida por um segredo compartilhado contra uso não autorizado. Um adversário que possa interceptar pacotes poderia quebrar o segredo se ele tiver complexidade insuficiente. Recomenda-se pelo menos 10 caracteres aleatórios e números.
Exemplo: Você tem um servidor HTTP ouvindo na sua máquina local na porta 80. Você quer disponibilizá-lo no IP público do seu servidor cloud/VPS/etc na porta 7000. Usamos a porta 8000 no servidor cloud para o canal de controle.
Servidor:
natsrv.py --mode server --secret s3cretP4ss --public 0.0.0.0:7000 --admin 0.0.0.0:8000
Cliente:
natsrv.py --mode client --secret s3cretP4ss --local localhost:80 --admin example.com:8000