Manual do Usuário — Guia Completo para Iniciantes
Desenvolvido por Ronaldo Martins
O Web Config Bind9 é uma ferramenta web desenvolvida para facilitar a configuração completa de servidores DNS que usam o software Bind9, que é o servidor DNS mais utilizado no mundo em sistemas Linux.
Antes dessa ferramenta, para configurar um servidor DNS era necessário acessar o terminal do servidor, editar arquivos de configuração manualmente, criar pastas, ajustar permissões e reiniciar serviços — tudo digitando comandos um por um. Com o Web Config Bind9, você faz tudo isso por uma interface visual no navegador, sem precisar ser um expert em terminal.
A ferramenta não armazena nenhuma informação em banco de dados. Nenhuma senha, IP, domínio ou configuração é salva nos servidores da ferramenta. Toda a comunicação acontece diretamente entre o seu navegador e o servidor de destino via SSH — a ferramenta atua apenas como intermediária da conexão, sem guardar nada. Ao fechar o navegador ou trocar de aba, a sessão SSH é encerrada automaticamente.
Antes de usar a ferramenta, é importante entender alguns termos que aparecem durante a configuração.
DNS significa Domain Name System — Sistema de Nomes de Domínio. Ele funciona como uma agenda telefônica da internet: quando você digita google.com no navegador, o DNS traduz esse nome para um endereço IP (como 142.250.79.46) que o computador entende.
É o servidor que busca a resposta para você. Quando seu computador não sabe o IP de um site, ele pergunta ao servidor recursivo, que vai pesquisar na internet e te trazer a resposta.
É o servidor que tem a resposta definitiva para um domínio. Se você é dono do domínio meusite.com.br, seu servidor autoritativo é quem diz ao mundo qual é o IP desse site.
O Master é o servidor principal, onde as configurações são editadas. O Slave é uma cópia automática do Master — se o Master cair, o Slave assume. É uma questão de redundância e segurança.
É uma camada de segurança criptográfica para o DNS. Com DNSSEC ativado, as respostas DNS são assinadas digitalmente, evitando que hackers falsifiquem respostas e redirecionem usuários para sites falsos.
Enquanto o DNS normal traduz nome → IP, a zona reversa faz o contrário: IP → nome. É usada para verificar a origem de conexões e é exigida por muitos sistemas de e-mail.
| Termo | O que faz | Analogia |
|---|---|---|
| DNS Recursivo | Busca a resposta | Operador de telefonia |
| DNS Autoritativo | Tem a resposta | Dono da agenda |
| Master | Servidor principal | Original do documento |
| Slave | Cópia automática | Cópia de segurança |
| DNSSEC | Segurança criptográfica | Assinatura digital |
| Zona Reversa | IP → Nome | Identificador de chamadas |
Antes de usar o Web Config Bind9, certifique-se de ter em mãos:
192.168.0.10
root. Tenha a senha em mãos.
meusite.com.br, prefixo IPv4 192.168.0.0/24.
22. Verifique se está acessível no firewall.
Abra seu navegador e acesse:
https://www.freedomnetwork.net.br/web-config-bind9/
Você verá a interface principal com:
SSH é o protocolo seguro usado para se comunicar com o servidor remotamente. Preencha os campos na barra do topo:
| Campo | O que preencher | Exemplo |
|---|---|---|
| IP/Host | IP ou hostname do servidor | 192.168.0.10 |
| Usuário | Usuário SSH do servidor | root |
| Senha | Senha do usuário SSH | •••••••• |
| Porta SSH | Porta do SSH (padrão: 22) | 22 |
Após preencher, clique em 🔌 CONECTAR.
O indicador no canto mudará de 🔴 Offline para 🟢 Online quando a conexão for estabelecida.
A aba DNS MASTER contém 11 etapas que devem ser seguidas em ordem. Veja o que cada uma faz:
O primeiro botão instala o Bind9 e o Dnsutils no servidor. Clique em 📦 Instalar Dependências e aguarde a conclusão no log.
Define quais servidores DNS o próprio servidor usará para resolver nomes. Preencha:
127.0.0.1 (ele mesmo)::1 (ele mesmo em IPv6)Clique em 💾 Salvar para gravar o arquivo /etc/resolv.conf.
Preencha os dados principais do seu servidor:
| Campo | O que é | Exemplo |
|---|---|---|
| Domínio | Seu domínio principal | meusite.com.br |
| Prefixo IPv4 | Bloco de IPs da sua rede | 192.168.0.0/24 |
| Prefixo IPv6 | Bloco IPv6 da sua rede | 2001:db8::/32 |
| Slave IPv4 | IP do servidor Slave | 192.168.0.2 |
| Slave IPv6 | IP IPv6 do Slave | 2001:db8::2 |
named.conf.options e a zona DNS são criados automaticamente com base nesses dados. Você pode editar manualmente se necessário.
Use os botões:
Cria a estrutura de pastas onde ficará a zona do domínio. Os campos são preenchidos automaticamente ao digitar o domínio na Etapa 2. Clique em 📂 Criar Pastas.
Cria as pastas das zonas reversas IPv4 e IPv6. Gerado automaticamente com base no Prefixo IPv4. Clique em 1️⃣ Criar Pastas Reverso e depois em 3️⃣ Permissões e Restart.
Aqui você visualiza e edita o arquivo de zona do seu domínio — o arquivo que define todos os registros DNS (A, AAAA, MX, NS, TXT, etc.). Gerado automaticamente na Etapa 2.
Ajusta as permissões das pastas para que o Bind9 possa ler e escrever os arquivos. Clique em ⚠️ Corrigir Permissões.
Declara as zonas no arquivo de configuração do Bind9. Gerado automaticamente. Use 💾 Gravar no Servidor para salvar.
Cria um atalho (symlink) da pasta de zonas e reinicia o Bind9. Clique em 🔗 Criar Atalho e depois em 🔄 Restart Bind9.
Após ativar o DNSSEC, essa etapa busca as informações de DS Record (Keytag e Digest) necessárias para cadastrar no Registro.br e ativar o DNSSEC no seu domínio.
Edita os arquivos de zona reversa IPv4 e IPv6. Clique no botão com o caminho do arquivo para selecioná-lo — o template é gerado automaticamente com base na Etapa 5. Depois clique em 💾 Salvar Zona.
Prepara os diretórios de chaves DNSSEC para as zonas reversas. Selecione a aba do bloco de IPs, clique em 📂 Preparar Diretório, depois em ⚠️ Aplicar Permissão e por fim em 🔄 Restart Bind9.
A aba DNS SLAVE configura o servidor secundário que replica automaticamente as zonas do Master. Siga as 8 etapas em ordem.
Igual ao Master — define os servidores DNS que o Slave usará. Normalmente 127.0.0.1 e ::1.
Preencha manualmente todos os campos:
| Campo | O que preencher |
|---|---|
| Domínio | O mesmo domínio do Master |
| Prefixo IPv4 | O mesmo bloco IPv4 do Master |
| Prefixo IPv6 | O mesmo bloco IPv6 do Master |
| Master IPv4 | IP do servidor Master |
| Master IPv6 | IP IPv6 do servidor Master |
Cria a pasta /var/cache/bind/slave-aut/seudominio. Clique em 📂 Criar Pastas.
Declara a zona autoritativa do Slave. Gerado automaticamente. Grave no servidor com 💾 Gravar no Servidor.
Aplica permissões, cria symlink e reinicia o Bind9. Tudo em um clique: ⚠️ Permissão + Symlink + Restart.
Cria a pasta /var/cache/bind/slave-rev. Clique em 📂 Criar Pasta Reverso.
Gerado automaticamente com base no Prefixo IPv4. Adicione ao arquivo com 💾 Adicionar ao named.conf.local.
Finaliza com permissões do reverso, symlink e verificação dos arquivos importados do Master.
| Botão | O que faz |
|---|---|
| 📖 Ler do Servidor | Carrega o arquivo atual do servidor para o editor |
| 💾 Gravar no Servidor | Salva o conteúdo do editor no arquivo do servidor |
| 🔄 Restaurar | Recria o template padrão com base nos campos preenchidos |
| 📂 Criar Pastas | Cria a estrutura de diretórios no servidor |
| ⚠️ Permissões | Aplica chown/chmod nas pastas do Bind9 |
| 🔄 Restart Bind9 | Reinicia o serviço Bind9 no servidor |
| 🔗 Criar Atalho | Cria symlink da pasta de zonas |
| 🔍 Descobrir Keytag | Busca o DS Record para cadastro no Registro.br |
| 💾 Salvar Zona | Salva o arquivo de zona reversa selecionado |
Na parte inferior da página existe um painel de log com fundo preto e texto verde. Ele registra tudo que acontece na ferramenta em tempo real.
| Símbolo | Significado |
|---|---|
| ✅ | Operação concluída com sucesso |
| ❌ | Erro — leia a mensagem para entender o problema |
| 📖 | Lendo arquivo do servidor |
| 💾 | Salvando arquivo no servidor |
| 📂 | Criando pastas ou diretórios |
| 🔌 | Evento de conexão/desconexão SSH |
| 🔄 | Reiniciando serviço ou restaurando template |
Você tentou executar uma ação sem estar conectado. Clique em 🔌 CONECTAR primeiro.
O servidor da ferramenta caiu ou está inacessível. Verifique se o Gunicorn está rodando no servidor da ferramenta.
Verifique: IP correto, porta 22 aberta, usuário e senha corretos, servidor ligado.
Na Etapa 10, você precisa clicar em um dos botões de zona reversa antes de salvar.
Provavelmente há um erro de sintaxe nos arquivos de configuração. No servidor, execute:
# Verificar configuração named-checkconf # Verificar zona específica named-checkzone meudominio.com.br /var/cache/bind/master-aut/meudominio.com.br/meudominio.com.br.hosts
O Gunicorn caiu. Reinicie o serviço:
systemctl restart web-config-bind9 systemctl status web-config-bind9
Após concluir todas as configurações DNS com a ferramenta, é altamente recomendado reforçar a segurança do servidor. As práticas abaixo reduzem drasticamente o risco de invasões e ataques.
A porta 22 é a primeira que atacantes testam. Trocar para uma porta diferente reduz automaticamente a quantidade de tentativas de invasão.
# Editar o arquivo de configuração do SSH nano /etc/ssh/sshd_config # Localize a linha abaixo e troque 22 por outra porta (ex: 2222) Port 2222 # Reiniciar o serviço SSH para aplicar systemctl restart sshd
firewall-cmd --permanent --add-port=2222/tcp firewall-cmd --reload
Ao invés de logar como root diretamente, crie um usuário comum, logue com ele e use sudo para executar comandos administrativos. Isso adiciona uma camada extra de proteção.
# Criar um usuário comum adduser meuusuario # Adicionar ao grupo sudo usermod -aG sudo meuusuario # Editar o sshd_config e desativar login root nano /etc/ssh/sshd_config # Localize e altere a linha: PermitRootLogin no # Reiniciar SSH systemctl restart sshd
Depois do login com o usuário comum, para entrar em modo root:
# Elevar para root usando sudo sudo -i # ou sudo su -
O Fail2Ban monitora os logs do servidor e bloqueia automaticamente IPs que tentam fazer muitas tentativas de login incorretas — protegendo contra ataques de força bruta.
# Instalar o Fail2Ban apt install fail2ban -y # Criar arquivo de configuração local cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local # Editar as configurações nano /etc/fail2ban/jail.local
Dentro do arquivo, configure a seção [sshd]:
[sshd] enabled = true port = 2222 ; use a porta que você configurou maxretry = 5 ; bloqueia após 5 tentativas erradas bantime = 3600 ; bloqueia por 1 hora (em segundos) findtime = 600 ; janela de tempo para contar tentativas
# Habilitar e iniciar o Fail2Ban systemctl enable fail2ban systemctl start fail2ban # Verificar status e IPs bloqueados fail2ban-client status sshd
PermitRootLogin no)sudo su - para entrar como root192.168.0.12001:db8::1🔒 Web Config Bind9 — Manual do Usuário
Desenvolvido por Ronaldo Martins