# MANUAL TÉCNICO - SERVIÇO DE DNS (RESOLVER/FORWARDER) - PFSENSE **Código:** ITGINF 0019/26 | **Classificação:** RESTRITO **Responsável:** João Pedro Toledo Gonçalves | **Data:** {{DATA_ATUAL}} ## 1. HISTÓRICO DE REVISÃO | Data | Versão | Descrição | Autor | | :--- | :--- | :--- | :--- | | {{DATA_ATUAL}} | 1.0 | Criação Inicial | João Pedro Toledo Gonçalves | ## 2. OBJETIVO Garantir a resolução de nomes (DNS) segura e rápida para a rede local, com capacidade de sobrescrever nomes específicos (Host Overrides) para serviços internos. ## 3. PRÉ-REQUISITOS - [ ] pfSense com acesso à internet. - [ ] DNS Upstream definidos (ex: Cloudflare 1.1.1.1, Google 8.8.8.8) se usar Forwarding. ## 4. PASSO A PASSO (EXECUÇÃO) ### Etapa 1: DNS Resolver (Unbound) O Resolver é o método padrão e mais seguro (DNSSEC). 1. Acesse `Services > DNS Resolver > General Settings`. 2. Marque **Enable DNS Resolver**. 3. **Network Interfaces:** Selecione `All` (ou apenas as interfaces LAN/VLANs onde o serviço deve escutar). 4. **Outgoing Network Interfaces:** Selecione `WAN` (Por onde a consulta sai). 5. **DNSSEC:** Marque **Enable DNSSEC Support** para proteção contra spoofing. 6. **DNS Query Forwarding:** * **Desmarcado:** O pfSense resolve direto com os Root Servers (Mais privado, pode ser mais lento no início). * **Marcado (Enable Forwarding Mode):** O pfSense repassa para os DNS definidos em `System > General Setup` (Mais rápido se os DNS do ISP/Google forem bons). * **Recomendação:** Habilite se usar MultiWAN. ![Configuração DNS Resolver](assets/pfsense_dns.png) 7. Clique em **Save** e **Apply Changes**. ### Etapa 2: Host Overrides (DNS Split) Use para fazer com que `intranet.meudominio.com` aponte para um IP local (`192.168.1.x`) quando acessado de dentro da empresa. 1. Role até o final da página **DNS Resolver**. 2. Em **Host Overrides**, clique em **Add**. 3. Preencha: * **Host:** `intranet` * **Domain:** `itguys.local` * **IP Address:** `192.168.1.50` * **Description:** Intranet Server 4. Salve. ![Host Override](assets/pfsense_host_override.png) ### Etapa 3: Integração com Active Directory (Domain Override) Se você tem um AD (`itguys.local`) mas quer que o pfSense seja o DNS principal dos clientes: 1. Acesse `Services > DNS Resolver`. 2. Role até **Domain Overrides**. 3. Clique em **Add**. * **Domain:** `itguys.local` * **IP Address:** `192.168.1.10` (IP do Domain Controller). 4. Salve. * > ℹ️ **Explicação:** O pfSense enviará qualquer consulta sobre `*.itguys.local` para o AD, e resolverá o resto da internet sozinho. ## 5. SOLUÇÃO DE PROBLEMAS (TROUBLESHOOTING) **Problema 1: DNS muito lento** * **Causa:** Root servers distantes ou problemas de rota. * **Solução:** Ative o **DNS Query Forwarding** e use `1.1.1.1` e `8.8.8.8` em `System > General Setup`. **Problema 2: Não resolve nomes internos do AD** * **Causa:** Domain Override configurado errado ou Firewall bloqueando a porta 53 TCP/UDP entre pfSense e AD. * **Solução:** Libere a porta 53 na regra de firewall da LAN/VLAN onde o AD está. **Problema 3: DNS Rebind Attack** * **Sintoma:** O pfSense bloqueia respostas que apontam para IPs privados (RFC1918). * **Solução:** Se precisar disso (ex: Plex, serviços locais), adicione o domínio em `System > Advanced > Admin Access > DNS Rebind Check` ou use as opções customizadas (Advanced Settings) do Unbound: `private-domain: "meudominio.local"`. ## 6. DADOS TÉCNICOS | Campo | Valor | Descrição | | :--- | :--- | :--- | | **Porta** | 53 (TCP/UDP) | Porta Padrão | | **DNSSEC** | Ativo | Segurança Padrão | | **Service** | Unbound | Resolver | ## 7. VALIDAÇÃO FINAL (Definição de Pronto) - [ ] Clientes navegam na internet? - [ ] Ping para `intranet.itguys.local` resolve o IP interno? - [ ] `nslookup google.com` retorna resposta rápida?