Onet Connect Geniol - Onet Connect - Jogos - Geniol
Onet Connect - Jogos - Geniol

Configurando onet connect geniol: o que funciona e o que quebra

Vim atualizar o roteador do cliente semana passada e precisei reconfigurar o onet connect geniol do zero porque a versão anterior corrompeu a tabela de roteamento durante uma queda de energia. Isso não é raro. O software não salva o estado de forma atômica, então qualquer interrupção pode deixar a sessão meio morta, com roteamentos órfãos que não aparecem nem no log nem na interface. A primeira coisa que eu faço antes de qualquer coisa é limpar completamente os processos filhos do daemon e reiniciar como serviço, não como processo em primeiro plano. Leva uns três minutos, mas evita duas horas de caça a problemas que na verdade não existem.

O que o onet connect geniol faz na prática

A ferramenta serve para criar túneis ponto a ponto e mesh entre redes locais usando iptables com TPROXY e redirect, combinado com um controlador central que distribui as rotas. Não é mágica — é Linux networking com uma camada de abstração por cima. O diferencial real é a forma como o controlador lida com failover automático quando um link cai, usando monitoramento por heartbeat e retransmissão de pacotes SYN para detectar latência alta antes de considerar o link morto. Em condições normais, a convergência leva entre 800ms e 2 segundos, dependendo da configuração de timeout. O que a maioria das pessoas não entende é que o onet connect geniol não é um produto completo. É um framework que precisa ser alimentado com configuração correta. A instalação padrão vem com timeouts genéricos que funcionam em laboratório mas falham feio em WAN real. Eu sempre ajusto o parâmetro de keepalive para 15 segundos com retry de 3, e desabilito o fast-fail por padrão. Isso evita que o sistema considere um link instável como caído quando na verdade é só jitter pontual de provedor.

Instalação e configuração básica

Comece baixando o pacote oficial do repositório. O link direto varia conforme a versão do kernel e a arquitetura, então verifique antes se o binário é compatível com sua distribuição. A versão mais recente suporta kernels a partir do 4.19, mas funcionalidades avançadas de QoS só estão disponíveis a partir do 5.4. Se você estiver em um sistema mais antigo, fique com a versão LTS do pacote, que é mais estável mas perde algumas otimizações de desempenho. Após a instalação, o serviço não sobe automaticamente. Você precisa criar o arquivo de configuração inicial em /etc/onet-connect/geniol.conf. O mínimo operacional inclui o endereço do controlador, a chave de autenticação do nó e a interface de saída. Sem isso, o daemon fica em loop de reconexão e consome CPU sem fazer nada útil. Eu recomendo começar com uma configuração mínima e ir adicionando parâmetros um por um, testando após cada alteração.

Para o controlador, o procedimento é diferente. Ele exige um banco de dados SQLite ou PostgreSQL, dependendo da escala. Para menos de 50 nós, o SQLite basta e é mais rápido para configurar. Para mais de 100, migre para PostgreSQL antes de ter problemas. Eu já vi gente tentar rodar 200 nós no SQLite e o banco travar em operações de escrita concorrente, especialmente durante failover múltiplo.

Problema real que enfrentei e como resolvi

No caso do cliente mencionado no início, o problema era específico: depois da queda de energia, o onet connect geniol iniciava mas nenhuma rota era anunciada. Os logs mostravam conexão estabelecida com o controlador, mas as tabelas de roteamento permaneciam vazias. A causa foi uma corrupção no arquivo de estado local que armazenava as rotas aprendidas. O workaround que funcionou foi eliminar o diretório /var/lib/onet-connect/state/, reiniciar o serviço e deixar que ele reaprendesse todas as rotas do controlador. Demorou cerca de 4 minutos para convergir completamente, mas depois disso funcionou sem problemas. A lição prática aqui é que você deve sempre manter backup da configuração ativa, não apenas do arquivo de configuração. O estado do daemon é tão importante quanto a config em si. Um script simples de backup do diretório state antes de qualquer manutenção evitaria dor de cabeça.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Pegadinhas que ninguém menciona

A primeira é sobre MTU. O onet connect geniol cria interfaces tun com MTU padrão de 1500, mas se seus links de backbone tiverem MTU menor por qualquer motivo — VPN adicional, VLAN tagging, ou simplesmente provedor ruim — você vai ter fragmentação silenciosa. Nada vai parecer quebrado nos logs, mas a transferência de arquivos grandes vai degradar drasticamente. A solução é ajustar o MTU da interface tun para o menor valor da cadeia, geralmente 1450 ou 1430 em cenários reais. A segunda é sobre firewalls intermediários. Se houver um NAT ou firewall estrito entre o nó e o controlador, o protocolo de heartbeat pode ser bloqueado por timeout. O onet connect geniol usa UDP para comunicação de controle, e muitos firewalls corporativos descartam pacotes UDP idle após 60 segundos. Configure o parâmetro de NAT keepalive no nó para enviar pacotes fictícios a cada 30 segundos. Isso mantém a sessão viva e evita reconexões desnecessárias.

Limitações que você precisa aceitar

O onet connect geniol não é solução para tudo. Ele funciona bem para conexões ponto a ponto e mesh com até quelques dezenas de nós em topologia estrela ou malha parcial. Se você precisa de anything-to-anything com centenas de nós em topologia completa, o overhead de gerenciamento de rotas cresce exponencialmente e o controlador passa a ser gargalo. Nesse cenário, considere usar OSPF sobre túneis VXLAN com um controlador SDN mais robusto, como o Opendaylight ou até uma solução comercial. Outra limitação séria é a falta de criptografia automática. O onet connect geniol transmite dados em claro pela interface tun. Se você precisa de privacidade entre os nós, precisa empilhar uma VPN por cima, como WireGuard. Isso adiciona latência e complexidade, mas é necessário em ambientes não confiáveis. Em LAN interna ou link dedicado, pode pular essa camada e ganhar desempenho.

O suporte a QoS é básico. Você consegue priorizar tráfego por marcação DSCP, mas não há shaping granular por aplicação ou usuário. Se seu caso de uso exige isso, prepare-se para integrar com tc e htb manualmente, o que anula parte da vantagem de usar a ferramenta.

Checklist antes de colocar em produção

Verifique a conectividade do controlador com todos os nós antes de habilitar tráfego real. Rode um teste de ping prolongado por 30 minutos com tamanho de pacote variado. Monitore a taxa de retransmissão e o jitter. Se o jitter ultrapassar 50ms de média mantida, investigue a rede de backbone antes de prosseguir. Ajuste os timeouts conforme sua topologia. Timeouts padrão são conservadores demais para links satelitais ou 4G, e agressivos demais para links fibre com instabilidade pontual. Calcule com base na RTT médio medido: coloque o keepalive interval como um terço do RTT e o timeout de falha como o dobro do keepalive multiplicado pelo número de retries.

Implemente monitoramento. Sem métricas de uptime por nó, latência entre pares e taxa de failover, você está voando cego. Integre com Prometheus e Grafana se possível, ou pelo menos mantenha logs estruturados com rotação automática. O log padrão cresce rápido em cenários com múltiplas reconexões. Teste o failover antes de depender dele. Desconecte um link propositalmente e meça quanto tempo leva para o tráfego convergir para o caminho alternativo. Se o tempo for superior a 5 segundos, revise a configuração de heartbeat e os parâmetros de detect de falha. Em produção, 5 segundos pode significar perda de sessões ativas e transações interrompidas.

Documente tudo. Configuração em ferramentas assim tende a derivar com o tempo. Registros de mudanças, snapshots de configuração e runbook de recuperação são o que separa um sistema que sobrevive de um que desmorona na primeira emergência.