# MANUAL TÉCNICO - SERVIÇO DHCP E RESERVAS DE IP (STATIC MAPPING)

**Código:** ITGINF 0020/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
Padronizar a configuração do servidor DHCP no pfSense, garantindo a distribuição dinâmica de IPs para a rede local e a fixação de endereços (Static Mapping) para dispositivos críticos (Impressoras, APs, Servidores locais em DHCP).

## 3. PRÉ-REQUISITOS
- [ ] Interface LAN configurada com IP fixo (Static IPv4).
- [ ] Faixa de IP definida para o Pool DHCP (ex: `.100` a `.200`).
- [ ] Endereços MAC dos dispositivos para reserva.

## 4. PASSO A PASSO (EXECUÇÃO)

### Etapa 1: Habilitar o Servidor DHCP

1.  Acesse `Services > DHCP Server`.
2.  Selecione a aba da interface desejada (ex: **LAN** ou **VLAN_X**).
3.  Marque a opção **Enable DHCP server on ... interface**.
4.  **Range:** Defina o intervalo de IPs que serão entregues dinamicamente.
    *   **From:** `192.168.1.100` (Deixe espaço no início para servidores/APs).
    *   **To:** `192.168.1.250`
5.  **DNS Servers (Opcional):** Se deixar em branco, o pfSense entrega o próprio IP (recomendado se usar DNS Resolver). Se quiser forçar, coloque `8.8.8.8`.
6.  **Gateway (Opcional):** Deixe em branco para entregar o próprio IP do pfSense (Padrão).

![Habilitar DHCP](assets/pfsense_dhcp_enable.png)

7.  Clique em **Save** no final da página.

### Etapa 2: Criar Reserva de IP (Static Mapping)

Use para garantir que uma impressora ou relógio de ponto pegue sempre o mesmo IP via DHCP, sem configurar fixo no dispositivo.

1.  Na mesma página do DHCP Server, role até o final.
2.  Clique no botão **Add** na seção **DHCP Static Mappings for this interface**.
3.  Preencha os dados:
    *   **MAC Address:** `00:11:22:33:44:55` (Use `:` ou `-`).
    *   **Client Identifier:** (Deixe em branco).
    *   **IP Address:** `192.168.1.50` (Deve estar FORA do Range dinâmico definido acima).
    *   **Hostname:** `imp-financeiro` (Sem espaços).
    *   **Description:** Impressora HP Laserjet 400.
4.  **ARP Table Static Entry:** (Opcional) Marque para vincular MAC x IP na tabela ARP e aumentar a segurança.

![Static Mapping](assets/pfsense_dhcp_static.png)

5.  Clique em **Save** e **Apply Changes**.

### Etapa 3: Visualizar Leases Atuais

1.  Acesse `Status > DHCP Leases`.
2.  Aqui você vê todos os dispositivos conectados, seus IPs, MACs e Hostnames.
3.  > 🚀 **DICA:** Você pode clicar no botão `+` (mais) ao lado de um lease existente para transformá-lo em Static Mapping rapidamente.

## 5. SOLUÇÃO DE PROBLEMAS (TROUBLESHOOTING)

**Problema 1: Dispositivo não pega IP**
*   **Causa:** Range esgotada (Pool exhaustion) ou dispositivo em VLAN errada.
*   **Solução:** Verifique `Status > DHCP Leases` se o pool está cheio (`Show all configured leases`). Aumente a Range se necessário.

**Problema 2: Conflito de IP**
*   **Causa:** IP reservado (Static) está DENTRO da Range dinâmica e foi entregue para outro.
*   **Solução:** Mova todos os IPs estáticos (Reservas) para FORA da Range dinâmica (ex: Range `.100-.250`, Reservas `.10-.99`).

**Problema 3: Rogue DHCP**
*   **Sintoma:** Máquinas pegando gateway errado (ex: Roteador WiFi doméstico plugado na rede).
*   **Solução:** Identifique o MAC do "DHCP Server falso" rodando um `ipconfig /all` na máquina cliente e bloqueie a porta do switch desse MAC. O pfSense não bloqueia DHCP de terceiros na mesma L2, isso é função do Switch (DHCP Snooping).

## 6. DADOS TÉCNICOS

| Campo | Valor | Descrição |
| :--- | :--- | :--- |
| **Porta Server** | 67 UDP | Porta do Servidor |
| **Porta Client** | 68 UDP | Porta do Cliente |
| **Log** | `/var/log/dhcpd.log` | Log do Serviço |

## 7. VALIDAÇÃO FINAL (Definição de Pronto)
- [ ] O serviço está como "Running" no Widget Services?
- [ ] Um PC cliente recebe IP, Máscara, Gateway e DNS corretos?
- [ ] A impressora reservada pega sempre o IP `192.168.1.50`?
