IronDNS: Um Servidor DNS Recursivo de Alta Performance Escrito em Rust

IronDNS: Um Servidor DNS Recursivo de Alta Performance Escrito em Rust

IronDNS é um servidor DNS recursivo de alta performance desenvolvido do zero em Rust, projetado para oferecer resolução DNS segura, inteligente e extremamente rápida para redes domésticas e corporativas. Com validação DNSSEC completa, bloqueio de quase 3 milhões de domínios maliciosos, detecção de ameaças em tempo real e uma interface web moderna, o IronDNS representa o estado da arte em servidores DNS self-hosted.

Por que criar um servidor DNS próprio?

Todo dispositivo conectado à internet depende do DNS (Domain Name System) para traduzir nomes como google.com em endereços IP. A maioria das pessoas usa os servidores DNS do provedor de internet ou serviços públicos como Cloudflare (1.1.1.1) ou Google (8.8.8.8). Embora convenientes, esses serviços:

  • Coletam dados sobre todos os sites que você acessa
  • Não oferecem controle sobre o que é bloqueado ou permitido
  • Adicionam latência desnecessária em consultas repetidas
  • Não protegem contra domínios maliciosos por padrão

O IronDNS resolve todos esses problemas ao ser executado localmente na sua rede, com controle total sobre privacidade, segurança e performance.

Arquitetura e Tecnologia

O IronDNS foi escrito inteiramente em Rust, uma linguagem de sistemas conhecida por sua segurança de memória, performance comparável a C/C++ e excelente suporte a concorrência. A arquitetura utiliza:

  • Tokio — runtime assíncrono para I/O não-bloqueante com milhares de conexões simultâneas
  • ArcSwap — estruturas de dados lock-free para leituras no hot-path sem contenção de locks
  • DashMap — HashMap concorrente com sharding automático para cache e connection pools
  • Redis — persistência de cache DNS com pipeline batching para escrita otimizada
  • React + TypeScript — interface web moderna e responsiva com 38 temas visuais

O servidor opera em modo recursivo completo, consultando diretamente os servidores autoritativos da internet (root servers → TLD → domínio), sem depender de intermediários como o Google ou Cloudflare. Isso garante máxima privacidade e controle.

Funcionalidades Principais

Bloqueio Inteligente de Domínios

O IronDNS mantém uma base de quase 3 milhões de domínios bloqueados, alimentada por 10 fontes de blocklists reconhecidas internacionalmente (OISD, HaGeZi, RPiList, Phishing Army, entre outras). As listas são atualizadas automaticamente a cada 6 horas, garantindo proteção contra:

  • Malware e ransomware
  • Phishing e fraudes
  • Rastreadores e telemetria invasiva
  • Criptomineradores
  • Conteúdo adulto (NSFW)

Quando um domínio é bloqueado, o IronDNS retorna uma resposta NXDOMAIN com informações detalhadas no registro SOA sintético e um registro TXT explicando o motivo do bloqueio, seguindo as melhores práticas da RFC 8914 (Extended DNS Errors).

Validação DNSSEC Completa

O DNSSEC (Domain Name System Security Extensions) adiciona autenticação criptográfica às respostas DNS, prevenindo ataques de envenenamento de cache e man-in-the-middle. O IronDNS implementa validação DNSSEC rigorosa seguindo as RFCs 4033, 4034 e 4035, validando toda a cadeia de confiança desde a raiz até o domínio consultado. A suíte de validação inclui 35 testes automatizados cobrindo 8 categorias.

Detecção de Ameaças em Tempo Real

O motor de segurança do IronDNS detecta anomalias em tempo real:

  • DGA (Domain Generation Algorithm) — identifica domínios gerados algoritmicamente por malware
  • DNS Tunneling — detecta tentativas de exfiltrar dados através de consultas DNS codificadas
  • DDoS Anomalias — monitora picos anormais de consultas e aplica soft-drop
  • Score de Risco por Cliente — cada dispositivo recebe um score comportamental baseado em taxa de NXDOMAIN, queries bloqueadas e entropia

Políticas por Cliente e Modo Infantil

Uma das funcionalidades mais poderosas é a capacidade de definir políticas individuais por dispositivo:

  • Modo Infantil — ativa safe search em todos os buscadores, bloqueia categorias de conteúdo inadequado (redes sociais, namoro, apostas, VPNs de bypass) e aplica blocklists específicas
  • Bypass de Blocklist — permite que dispositivos específicos ignorem as listas de bloqueio
  • AAAA Filtering — desativa respostas IPv6 para dispositivos com problemas dual-stack
  • Whitelist/Blocklist Custom — listas personalizadas por dispositivo

O SafeSearch intercepta queries dos tipos A, AAAA, HTTPS e SVCB, garantindo que navegadores modernos não consigam escapar da filtragem.

Otimizações de Performance

O IronDNS implementa otimizações avançadas que o colocam no mesmo nível dos melhores resolvers do mundo:

  • Prefetch Preditivo CDN-Aware — antecipa re-resolução de domínios com TTL próximo de expirar, com threshold adaptativo de 15% para CDNs
  • Zero-Parse Fast Path — manipula bytes do wire format diretamente para respostas em cache, sem deserialização completa
  • RTT Sorting Adaptativo — probes paralelos com TTL variável: 60s para CDNs, 120s para regionais, 300s para origens distantes
  • ArcSwap Lock-Free — leituras de configuração sem contenção de lock no hot-path
  • Redis Pipeline Batching — acumula até 64 escritas em buffer de 10ms para single round-trip
  • TCP Connection Pool — 2 conexões por host autoritativo com timeout de 30s, eliminando handshake repetido

Interface Web Moderna

A interface web construída com React e TypeScript oferece 6 seções: Dashboard (métricas em tempo real, gráficos de QPS, distribuição de respostas e tipos de query), Consultas (query log com filtros e lista virtualizada), Filtros (gerenciamento de blocklists), Segurança (detecção de ameaças e score de risco por cliente), Clientes (políticas por dispositivo com modo infantil) e Ajustes (configuração completa do resolver, DNSSEC, transporte, cache e reescritas).

Suporta 38 temas visuais (19 palettes × dark/light), atalhos de teclado e é totalmente bilíngue (Português/Inglês).

Comparação com Outros Resolvers

RecursoIronDNSUnboundAdGuard Home
LinguagemRust (async)CGo
Modo RecursivoSimSimNão (forwarder)
DNSSECValidação completaValidação completaProxy apenas
Bloqueio de domínios~2.9MNão nativoSim
Detecção DGA/TunnelSimNãoNão
Políticas por clienteSim (modo infantil)NãoSim
Interface WebReact modernaNãoSim
Prefetch preditivoAdaptativo (CDN)FixoNão
Cache persistenteRedis + pipelinecachedbNão

Números em Produção

  • ~20K consultas/hora em uso normal
  • ~39% de queries bloqueadas — quase 4 em cada 10 consultas são malware, rastreadores ou telemetria
  • ~22% de cache hit — respostas instantâneas
  • Latência média ~90ms para consultas upstream
  • 2.9 milhões de domínios bloqueados com atualização automática a cada 6h
  • 21K+ entradas no cache ocupando apenas ~6MB de memória

Considerações Finais

O IronDNS nasceu da necessidade de combinar o melhor de dois mundos: a resolução recursiva rigorosa de um Unbound com a interface amigável e os filtros inteligentes de um AdGuard Home — mas com otimizações que vão além de ambos.

Escrito em Rust com foco em segurança de memória e concorrência, implementa técnicas de otimização de classe enterprise: ArcSwap lock-free, zero-parse cache fast path, RTT adaptativo, prefetch preditivo CDN-aware, Redis pipeline batching e TCP connection pooling. Tudo embalado em uma interface web moderna com 38 temas e suporte bilíngue.

Se você valoriza privacidade, segurança e performance na sua rede, um servidor DNS recursivo próprio é uma das melhores decisões que pode tomar. E com o IronDNS, essa decisão vem acompanhada do que há de mais avançado em tecnologia DNS.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Thiago Brandão

Gerente de TI com mais de 15 anos de experiência em trabalho remoto, desde os tempos da internet discada, utilizando a internet como principal fonte de renda.

Leia também…