A maioria das pessoas descobre o que significa NAT uns dez minutos depois da compra. O Nginx sobe, curl localhost devolve a página, e o navegador no notebook fica girando. Nada está quebrado. O servidor só não tem um IPv4 público próprio, e a única porta de entrada dele é uma porta redirecionada para SSH.
Essa porta única dá conta de uma quantidade surpreendente de trabalho e não dá conta de jeito nenhum de algumas coisas bem comuns. Se você ainda está escolhendo entre os dois tipos de plano, nosso artigo anterior IP dedicado ou VPS com NAT faz a única pergunta que resolve a dúvida. Este aqui é sobre conviver com a resposta: o que um servidor NAT consegue fazer na prática, onde ele bate na parede e como sair quando ele fica pequeno para você.
O que você recebe de fato
Um servidor NAT tem um endereço privado atrás do nosso gateway. O painel mostra um host e uma porta pessoal, e você se conecta assim:
ssh -p 20123 root@host
Essa porta leva à porta 22 dentro do seu servidor. Todas as outras portas de entrada em IPv4 ficam fechadas para quem está fora, e não existe opção para redirecionar mais. Na saída a história é outra: o servidor alcança qualquer coisa na internet, menos as portas SMTP 25 e 465, que ficam fechadas em todos os planos, NAT ou não. As regras completas estão em Rede e portas.
Mais um detalhe, que importa para algumas pessoas: o endereço de saída não é seu. O tráfego sai por um endereço que você não controla, então não dá para configurar o DNS reverso dele nem construir uma reputação de remetente em cima dele.
O que roda bem atrás de uma porta só
Tudo o que começa a conversa por conta própria. E isso é mais coisa do que parece:
- Bots que consultam. Um bot de Telegram com long polling, um bot de Discord na conexão de gateway, um bot de trading conversando com a API de uma corretora. Tudo de saída.
- Agentes de IA. Um agente que chama APIs de modelos, navega, grava arquivos e executa código não precisa que ninguém o chame. Precisa de CPU, memória e uma conexão para fora.
- Workers e scrapers. Qualquer coisa que pega tarefas de uma fila, percorre páginas ou sincroniza dados em horários definidos.
- Máquinas de build e runners. Runners de CI costumam se registrar sozinhos no servidor e buscar o trabalho, então ficam felizes em NAT.
Para esse tipo de carga, o plano mais barato basta, sinceramente. O Nano custa US$ 3 por mês por 2 vCPU, 1 GB de RAM e 15 GB de disco; o Small, US$ 8 por 4 vCPU, 4 GB e 35 GB. A lista completa está numa página só dos planos NAT.
Onde uma porta só não basta
A parede é tudo em que outra pessoa precisa iniciar a conexão.
O site é o caso óbvio. Os navegadores se conectam à porta 443 (e à 80 para o redirecionamento), e num plano NAT essas portas não existem vistas de fora. Uma porta fora do padrão também não resolve, pelo menos não de um jeito que os visitantes aceitem.
O seu próprio domínio com HTTPS bate na mesma parede duas vezes. Dá para apontar um registro DNS para o endereço do gateway, mas nada do que chega lá é repassado ao seu servidor, a não ser a sua porta SSH. E o jeito habitual de conseguir um certificado gratuito verifica o seu servidor na porta 80 ou 443.
Webhooks falham em silêncio. Avisos de pagamento, uma plataforma de bots enviando atualizações, um servidor Git anunciando um commit novo: todos precisam alcançar você. O bot que funcionava perfeitamente com long polling para de funcionar no exato momento em que você o passa para webhooks.
Pontos de acesso VPN, servidores de jogos e servidores de e-mail precisam de portas de entrada por definição. Assim como qualquer coisa que você queira abrir para um colega no navegador.
Os contornos, com sinceridade
IPv6. Servidores Linux novos recebem um endereço IPv6 público, e nos planos NAT ele chega ao servidor diretamente, em qualquer porta. Se todos os clientes do seu serviço são seus (seu notebook, seus outros servidores, uma sonda de monitoramento com IPv6), funciona bem. Para um site público, não: uma parte dos visitantes ainda está em redes sem IPv6 e simplesmente nunca vai carregar a página. Os planos Windows por enquanto são só IPv4.
Um túnel. Você pode rodar um pequeno agente que mantém uma conexão de saída com um relay em outro lugar, que devolve o tráfego público pelo túnel. Funciona, e para uma demo ou um painel interno é razoável. Para qualquer coisa importante, você colocou um terceiro no meio de cada requisição, mais uma peça que pode quebrar às três da manhã.
Um túnel SSH para você. Se a única pessoa que precisa do painel de administração é você, não o exponha de jeito nenhum. Passe-o pela porta SSH que você já tem:
ssh -p 20123 -L 8080:localhost:8080 root@host
Depois abra http://localhost:8080 na sua máquina. É o truque mais subestimado num servidor NAT, e ainda por cima é mais seguro do que colocar o painel na internet.
Minha opinião sincera: IPv6 e túneis SSH são boas ferramentas. Um serviço público permanente passando por um túnel só porque o servidor não tem IPv4 costuma ser sinal de que o NAT ficou pequeno para você.
Passar para o seu próprio IPv4 sem reinstalar
Não precisa reconstruir nada. Abra o servidor no painel, escolha «Mudar de plano» e um plano com IP dedicado do mesmo tamanho ou maior. O servidor reinicia uma vez e volta com o próprio IPv4 público, o disco e tudo o que você instalou. As portas 80, 443 e o que mais você abrir no firewall passam a ser acessíveis, e o SSH vai para a porta 22 de sempre. Os detalhes estão em Mudar de plano.
Vale saber algumas coisas antes de clicar:
- Você paga a diferença proporcional pelo resto do período atual, a partir do saldo. O Nano-IP custa US$ 8 por mês contra US$ 3 do Nano; o Small-IP, US$ 16 contra US$ 8.
- É preciso ter um endereço livre na localização do seu servidor. Se não houver nenhum agora, o painel avisa antes de cobrar qualquer coisa.
- Se você editou a configuração de rede dentro do servidor na mão, confira depois da reinicialização. Numa imagem padrão ela é aplicada sozinha.
- Faça um backup antes. É uma reinicialização só, mas os dados continuam sendo seus.
Onde o NAT não serve, e onde o IPv4 também não
O NAT é a escolha errada para tudo o que é público, para tudo o que recebe webhooks e para tudo o que precisa de um endereço fixo que alguém coloca numa lista de permissões. Não perca dias tentando contornar isso. A diferença de preço entre Nano e Nano-IP é de US$ 5 por mês.
Mas um IPv4 dedicado também não faz milagre. Ele não vai convencer um site que bloqueia endereços de datacenter a deixar você entrar, nem vai salvar um scraper de limites de requisição, porque essas decisões dependem da rede em que você está, não de quem mais usa o endereço. E se o seu projeto inteiro é um par de bots e um agente, comprar um IPv4 em que ninguém nunca vai se conectar é dinheiro jogado fora.
Se você já está planejando mudar para algo maior, mudar um VPS sem tempo fora do ar mostra a ordem dos passos, e como ler as especificações de um VPS ajuda a comparar planos.
Comentários
Nenhum comentário ainda. Seja o primeiro.