Technitium DNS no homelab: nomes internos e sem anúncios
No meu homelab, o Technitium DNS resolve os nomes internos e bloqueia anúncios para a casa toda. Instalação, zona própria e cuidados com o DNS.
- Publicado
- Leitura
- 5 min

No homelab, o DNS é daquelas peças que ninguém nota até parar. Aqui em casa, quem faz esse papel é o Technitium DNS Server, rodando num container LXC no Proxmox. Ele cuida de duas coisas: resolver os nomes internos dos meus serviços e bloquear anúncios para a rede inteira.
Antes dele, instalei o Pi-hole e o AdGuard pelo community-scripts. Hoje é o Technitium que fica. Neste post conto o que ele faz, como instalar e configurar o básico, e os cuidados para não derrubar a internet da casa junto com o DNS.
O que o Technitium faz #
Pela documentação oficial, o Technitium é um servidor DNS completo, de código aberto (GPLv3), que roda em Linux, Windows, macOS e Raspberry Pi, com imagem oficial no Docker Hub. Para um homelab, os recursos que mais importam são:
- zonas próprias, para criar nomes internos (com suporte a curinga, como
*.casa.lan); - listas de bloqueio por URL, que se atualizam sozinhas todo dia;
- encaminhamento criptografado para resolvedores públicos, com DNS-over-TLS, DNS-over-HTTPS ou DNS-over-QUIC;
- console web na porta 5380, com registro de consultas e autenticação em dois fatores;
- servidor DHCP embutido, se você quiser tirar essa função do roteador.
Na prática, ele junta num lugar só o DNS da rede de casa e o bloqueio de anúncios, sem precisar de uma peça para cada coisa.
Instalação #
Há dois caminhos simples no Proxmox.
Pelo community-scripts, que cria um container Debian unprivileged com o Technitium instalado. O script define 1 núcleo, 512 MB de RAM e 2 GB de disco por padrão:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/technitiumdns.sh)"
Pelo instalador oficial, num container Debian que você mesmo criou:
curl -sSL https://download.technitium.com/dns/install.sh | sudo bash
O mesmo comando também serve para atualizar. Como sempre, leia o script antes de rodar como root.
Depois de instalado, o console fica em http://IP-DO-CONTAINER:5380/.
Nomes internos com uma zona própria #
Nome interno é o que tira a necessidade de decorar IPs. No Technitium, isso é uma zona primária:
- No console, vá em Zones e adicione uma zona do tipo Primary Zone, com um nome que só existe na sua rede.
- Dentro dela, crie registros A para cada serviço, apontando para o IP do container.
Para o nome da zona, evite inventar um domínio que pode existir na internet. Use um subdomínio de um domínio que você já tem (por exemplo, lan.seudominio.com) ou o sufixo home.arpa, que foi reservado para redes domésticas pelo RFC 8375.
Com a zona criada, dá para testar de qualquer máquina da rede:
dig @192.168.1.53 vault.home.arpa +short
Troque o IP pelo do seu container do Technitium e o nome pelo registro que você criou. Se voltar o IP do serviço, a zona está funcionando.
Bloqueio de anúncios para a casa inteira #
O bloqueio funciona por listas de domínios. Em Settings > Blocking, você liga o bloqueio e adiciona as URLs das listas. O console tem uma opção de adicionar rápido as listas mais conhecidas, e ele baixa tudo de novo uma vez por dia.
Algumas dicas:
- Comece com poucas listas. Uma lista grande e bem mantida já bloqueia a maior parte. Empilhar dez listas aumenta a chance de quebrar site legítimo.
- Olhe o registro de consultas quando algo parar de funcionar. Ali aparece qual domínio foi bloqueado, e dá para liberar só ele.
- Bloqueio por DNS não pega tudo. Anúncio servido do mesmo domínio do conteúdo, como em alguns apps e vídeos, passa. É um filtro bom, não mágico.
Para onde ele pergunta o resto #
O Technitium responde sozinho pelas zonas que você criou. O resto ele pode resolver de duas formas: indo direto aos servidores raiz (modo recursivo) ou encaminhando para um resolvedor público. Se escolher encaminhar, vale usar uma das opções criptografadas (DNS-over-TLS ou DNS-over-HTTPS), que ele já traz configuradas para resolvedores como Cloudflare, Google e Quad9. Assim o seu provedor de internet não vê as consultas em texto puro.
Cuidados para não derrubar a internet #
Quando o DNS para, a casa inteira acha que “a internet caiu”. Alguns cuidados:
- IP fixo para o container. DNS com endereço que muda é receita para dor de cabeça.
- Backup. O container entra no vzdump da noite como todos os outros, então perder a configuração não é um risco. Como faço está no post sobre backup no Proxmox.
- Energia. Se o servidor desliga, o DNS vai junto. Aqui o Proxmox está na EcoFlow River 3 Plus como UPS, junto com modem e roteador.
- Um DNS secundário, se a casa depende muito dele. O Technitium tem recurso de cluster para gerenciar mais de uma instância pelo mesmo console. Com uma instância só, vale saber como voltar o roteador para o DNS do provedor rapidamente, se precisar.
Resumindo #
- O Technitium junta DNS interno e bloqueio de anúncios num container leve.
- Troque a senha
admine ligue o segundo fator logo no primeiro acesso. - Crie uma zona própria (de preferência
home.arpaou um subdomínio seu) e pare de decorar IPs. - Comece com poucas listas de bloqueio e use o registro de consultas para liberar o que quebrar.
- Teste em um aparelho antes de mudar o DNS da casa inteira.
O resultado é o que eu queria de um DNS em casa: nomes em vez de IPs e menos anúncio em todos os aparelhos, sem instalar nada em nenhum deles.