Pré-verificação de node Linux
Gere um script diagnóstico somente leituraValores sensíveis (IP, hostname, usuário, caminhos) são mascarados na saída.
Introdução
A pré-verificação de node Linux gera um script bash que inventaria um servidor Linux antes de você executar um node blockchain: distribuição, arquitetura, CPU e flags, memória, swap, disco e tipo de filesystem, NTP e fuso horário, ulimits, portas ocupadas, firewall, Docker, Compose, systemd, kernel, parâmetros sysctl e conectividade de saída.
O script é estritamente diagnóstico. Não instala nada, não altera configurações, não abre portas, não reinicia serviços e não envia nada à rede, exceto um probe TCP de alcance. Você o executa no node e cola o relatório de volta aqui para análise.
Objetivo
- Gerar um script bash somente leitura adaptado à chain e ao tipo de node escolhidos.
- Evidenciar os itens que mais quebram um rollout: RAM ou disco insuficientes, swap ausente, relógio dessincronizado, portas ocupadas, Docker/Compose ausentes e arquitetura não suportada.
- Opcionalmente mascarar IP público, hostname, username, caminhos pessoais e valores com aparência de token na saída.
- Analisar localmente o relatório colado e classificar o resultado como aprovado, atenção, crítico ou não verificado.
Entradas
- Blockchain e tipo de node (validator, rpc, full, archive ou pruned).
- Preferência de mascaramento de valores sensíveis.
- O texto do relatório produzido pelo script (cole de volta para análise).
Como funciona
O script é montado a partir de comandos somente leitura (uname, lscpu, /proc/meminfo, df, lsblk, findmnt, timedatectl, ulimit, ss, ufw/firewall-cmd, docker, systemctl, sysctl, um probe TCP de alcance) e imprime um relatório PF_KEY=value.
Com o mascaramento ativo, o script passa a saída por um filtro sed que oculta endereços IP, hostnames, o usuário atual, caminhos pessoais e valores com aparência de token antes da exibição.
O relatório colado é convertido de volta em chaves e comparado com limites por chain: RAM e disco livre contra o mínimo recomendado, presença de swap, sincronização NTP, portas necessárias em uso, presença de Docker/Compose, suporte de arquitetura e o ulimit de arquivos abertos.
O resultado é classificado: aprovado quando nada falhou, atenção quando existem avisos, crítico quando um item bloqueante falhou e não verificado quando chaves necessárias estão ausentes.
Exemplo testável
Experimente — a análise roda localmente no seu navegador.
Exemplo
Blockchain: Cosmos · Tipo de node: validator · Mascarar: sim
Saída esperada
PF_OS=Ubuntu 24.04.4 LTS PF_ARCH=aarch64 PF_MEM_TOTAL_GB=5 PF_DISK_FREE_GB=67 PF_NTP=yes PF_PORTS=22 80 443 3100 → Crítico: RAM abaixo do mínimo recomendado para este perfil.
Interpretando a saída
- Aprovado significa que os itens verificados atendem aos limites do perfil — não garante que o node rodará; é um sinal de prontidão, não uma certificação.
- Um achado crítico (RAM, disco, porta necessária ocupada) deve ser resolvido antes de implantar o node.
- Avisos como swap ausente ou itens não verificados dependem do contexto; avalie para a sua carga.
- A saída mascarada mantém o relatório seguro para colar no navegador, mas trate-o mesmo assim como sensível.
Riscos
- Um node iniciado em um servidor subdimensionado pode corromper o banco de dados durante a sincronização e forçar uma re-sincronização completa.
- Um relógio dessincronizado quebra a votação do validator e pode gerar penalidades.
- Colar um relatório com segredos reais — a opção de mascaramento reduz, mas não elimina, esse risco.
Limitações
- A ferramenta lê o que o script imprimiu; não pode verificar nada que o script não tenha conseguido medir.
- Docker e Compose são relatados, não exigidos — alguns deployments de nodes rodam sem eles.
- O probe de conectividade apenas verifica alcance; não envia dados.
Referências oficiais
FAQ
O script altera algo no meu servidor?
Não. Ele apenas lê informações do sistema e imprime um relatório. Não instala pacotes, não altera configurações, não abre portas e não reinicia nada. Revise o script gerado antes de executá-lo, se preferir.
O que o probe de conectividade faz?
Abre uma conexão TCP para 1.1.1.1:53 e informa ok ou unreachable. Não envia dados de aplicação — apenas testa se conexões de saída funcionam, o que a maioria das stacks de nodes exige para descoberta de peers.
Devo colar o relatório sem mascaramento?
Não. Mantenha o mascaramento ativo: o relatório contém seu IP público, hostname e username. A análise funciona igualmente porque lê as chaves PF_, não os valores mascarados.