<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>dns | Self-Hosted!</title><link>https://blog.brumarino.com/tags/dns/</link><description>Post novo no “Rack” todo dia às 7AM. Proxmox, rede, backup, UPS, IA e tudo o que tenho estudado.</description><language>pt-BR</language><managingEditor>Bruno Marino</managingEditor><image><url>https://blog.brumarino.com/brand/icon-144.png</url><title>dns | Self-Hosted!</title><link>https://blog.brumarino.com/tags/dns/</link><width>144</width><height>144</height></image><webfeeds:icon>https://blog.brumarino.com/brand/icon-192.png</webfeeds:icon><webfeeds:logo>https://blog.brumarino.com/brand/symbol.svg</webfeeds:logo><webfeeds:accentColor>2B3036</webfeeds:accentColor><lastBuildDate>Fri, 23 Oct 2026 07:00:00 -0300</lastBuildDate><atom:link href="https://blog.brumarino.com/tags/dns/index.xml" rel="self" type="application/rss+xml"/><item><title>Technitium DNS no homelab: nomes internos e sem anúncios</title><link>https://blog.brumarino.com/technitium-dns-homelab/</link><pubDate>Fri, 23 Oct 2026 07:00:00 -0300</pubDate><guid>https://blog.brumarino.com/technitium-dns-homelab/</guid><category>Rede e acesso</category><description>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.</description><content:encoded><![CDATA[<p>No homelab, o DNS é daquelas peças que ninguém nota até parar. Aqui em casa, quem faz esse papel é o <strong>Technitium DNS Server</strong>, rodando num container LXC no Proxmox. Ele cuida de duas coisas: <strong>resolver os nomes internos</strong> dos meus serviços e <strong>bloquear anúncios</strong> para a rede inteira.</p>
<p>Antes dele, instalei o Pi-hole e o AdGuard pelo <a href="/community-scripts-proxmox/">community-scripts</a>. 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.</p>
<h2 id="o-que-o-technitium-faz">O que o Technitium faz <a class="anchor" href="#o-que-o-technitium-faz" aria-label="Link para esta seção">#</a></h2>
<p>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:</p>
<ul>
<li><strong>zonas próprias</strong>, para criar nomes internos (com suporte a curinga, como <code>*.casa.lan</code>);</li>
<li><strong>listas de bloqueio</strong> por URL, que se atualizam sozinhas todo dia;</li>
<li><strong>encaminhamento criptografado</strong> para resolvedores públicos, com DNS-over-TLS, DNS-over-HTTPS ou DNS-over-QUIC;</li>
<li><strong>console web</strong> na porta <strong>5380</strong>, com registro de consultas e autenticação em dois fatores;</li>
<li><strong>servidor DHCP</strong> embutido, se você quiser tirar essa função do roteador.</li>
</ul>
<p>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.</p>
<h2 id="instalação">Instalação <a class="anchor" href="#instala%c3%a7%c3%a3o" aria-label="Link para esta seção">#</a></h2>
<p>Há dois caminhos simples no Proxmox.</p>
<p><strong>Pelo community-scripts</strong>, que cria um container Debian <em>unprivileged</em> com o Technitium instalado. O script define 1 núcleo, 512 MB de RAM e 2 GB de disco por padrão:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">bash -c <span class="s2">&#34;</span><span class="k">$(</span>curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/technitiumdns.sh<span class="k">)</span><span class="s2">&#34;</span>
</span></span></code></pre></div><p><strong>Pelo instalador oficial</strong>, num container Debian que você mesmo criou:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">curl -sSL https://download.technitium.com/dns/install.sh <span class="p">|</span> sudo bash
</span></span></code></pre></div><p>O mesmo comando também serve para atualizar. Como sempre, leia o script antes de rodar como root.</p>
<p>Depois de instalado, o console fica em <code>http://IP-DO-CONTAINER:5380/</code>.</p>
<aside class="alert alert--warning">
  <p class="alert__title">Atenção</p>
  <p>Pela documentação, o login inicial é <code>admin</code> / <code>admin</code>. Troque a senha no primeiro acesso e, se puder, ligue a autenticação em dois fatores. Quem entra no console do DNS controla para onde vai todo o tráfego da sua rede.</p>
</aside><h2 id="nomes-internos-com-uma-zona-própria">Nomes internos com uma zona própria <a class="anchor" href="#nomes-internos-com-uma-zona-pr%c3%b3pria" aria-label="Link para esta seção">#</a></h2>
<p>Nome interno é o que tira a necessidade de decorar IPs. No Technitium, isso é uma <strong>zona primária</strong>:</p>
<ol>
<li>No console, vá em <strong>Zones</strong> e adicione uma zona do tipo <strong>Primary Zone</strong>, com um nome que só existe na sua rede.</li>
<li>Dentro dela, crie registros <strong>A</strong> para cada serviço, apontando para o IP do container.</li>
</ol>
<p>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, <code>lan.seudominio.com</code>) ou o sufixo <code>home.arpa</code>, que foi reservado para redes domésticas pelo RFC 8375.</p>
<p>Com a zona criada, dá para testar de qualquer máquina da rede:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">dig @192.168.1.53 vault.home.arpa +short
</span></span></code></pre></div><p>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.</p>
<h2 id="bloqueio-de-anúncios-para-a-casa-inteira">Bloqueio de anúncios para a casa inteira <a class="anchor" href="#bloqueio-de-an%c3%bancios-para-a-casa-inteira" aria-label="Link para esta seção">#</a></h2>
<p>O bloqueio funciona por listas de domínios. Em <strong>Settings &gt; Blocking</strong>, 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.</p>
<p>Algumas dicas:</p>
<ul>
<li><strong>Comece com poucas listas.</strong> Uma lista grande e bem mantida já bloqueia a maior parte. Empilhar dez listas aumenta a chance de quebrar site legítimo.</li>
<li><strong>Olhe o registro de consultas</strong> quando algo parar de funcionar. Ali aparece qual domínio foi bloqueado, e dá para liberar só ele.</li>
<li><strong>Bloqueio por DNS não pega tudo.</strong> 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.</li>
</ul>
<aside class="alert alert--tip">
  <p class="alert__title">Dica</p>
  <p>Antes de apontar a casa inteira para o DNS novo, teste em um aparelho só, trocando o DNS manualmente nas configurações de rede dele. Use um dia normal: banco, streaming, apps de trabalho. Se tudo funcionar, aí você muda no roteador.</p>
</aside><h2 id="para-onde-ele-pergunta-o-resto">Para onde ele pergunta o resto <a class="anchor" href="#para-onde-ele-pergunta-o-resto" aria-label="Link para esta seção">#</a></h2>
<p>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 <strong>encaminhando</strong> 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.</p>
<h2 id="cuidados-para-não-derrubar-a-internet">Cuidados para não derrubar a internet <a class="anchor" href="#cuidados-para-n%c3%a3o-derrubar-a-internet" aria-label="Link para esta seção">#</a></h2>
<p>Quando o DNS para, a casa inteira acha que &ldquo;a internet caiu&rdquo;. Alguns cuidados:</p>
<ul>
<li><strong>IP fixo para o container.</strong> DNS com endereço que muda é receita para dor de cabeça.</li>
<li><strong>Backup.</strong> 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 <a href="/backup-proxmox-vzdump/">backup no Proxmox</a>.</li>
<li><strong>Energia.</strong> Se o servidor desliga, o DNS vai junto. Aqui o Proxmox está na <a href="/ecoflow-river-3-plus-ups-homelab/">EcoFlow River 3 Plus como UPS</a>, junto com modem e roteador.</li>
<li><strong>Um DNS secundário, se a casa depende muito dele.</strong> 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.</li>
</ul>
<h2 id="resumindo">Resumindo <a class="anchor" href="#resumindo" aria-label="Link para esta seção">#</a></h2>
<ul>
<li>O <strong>Technitium</strong> junta DNS interno e bloqueio de anúncios num container leve.</li>
<li><strong>Troque a senha <code>admin</code></strong> e ligue o segundo fator logo no primeiro acesso.</li>
<li><strong>Crie uma zona própria</strong> (de preferência <code>home.arpa</code> ou um subdomínio seu) e pare de decorar IPs.</li>
<li><strong>Comece com poucas listas de bloqueio</strong> e use o registro de consultas para liberar o que quebrar.</li>
<li><strong>Teste em um aparelho</strong> antes de mudar o DNS da casa inteira.</li>
</ul>
<p>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.</p>
]]></content:encoded></item></channel></rss>