manuais-e-documentacao-itguys/documentacao rede e seguranca/[Nível 2] Serviço Tftp E Pr...

92 lines
4.3 KiB
Markdown

# MANUAL TÉCNICO - SERVIÇO TFTP E PROVISIONAMENTO
**Código:** ITGINF 0021/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
Habilitar e configurar o servidor TFTP (Trivial File Transfer Protocol) no pfSense, utilizado principalmente para provisionamento automático de telefones IP (VoIP) e boot via rede (PXE) de thin clients ou instaladores.
## 3. PRÉ-REQUISITOS
- [ ] Acesso à WebGUI do pfSense.
- [ ] Arquivos de configuração/firmware prontos para upload (ex: `.xml`, `.cfg`, `.bin`).
- [ ] DHCP Server configurado (necessário para informar a Option 66).
## 4. PASSO A PASSO (EXECUÇÃO)
### Etapa 1: Upload dos Arquivos
Antes de ativar o serviço, suba os arquivos que serão servidos.
1. Acesse `Diagnostics > Command Prompt`.
2. Use a seção **Upload File** para enviar arquivos um por um.
* O destino padrão do TFTP é `/tftpboot`. No entanto, o **Command Prompt** salva em `/tmp` por padrão.
3. **Método Recomendado (SCP/SFTP):**
* Use o WinSCP (ver `Manual de Ferramentas - WinSCP`) para conectar no pfSense via SSH (porta 22).
* Navegue até `/tftpboot/`. Se não existir, crie a pasta.
* Copie todos os arquivos de firmware/configuração para lá.
### Etapa 2: Validar Permissões (Shell)
1. Acesse o Shell (SSH ou Console).
2. Garanta que o usuário `root` ou `nobody` consiga ler os arquivos:
```bash
chmod -R 755 /tftpboot
chown -R root:wheel /tftpboot
```
### Etapa 3: Habilitar o Serviço TFTP
1. Acesse `System > Advanced > Firewall & NAT`.
2. Procure por **TFTP Proxy** e garanta que esteja configurado apenas se necessário NAT para fora.
3. Para o **Servidor Interno**, acesse `Services > TFTP Server`. (Se não aparecer, verifique se o pacote está instalado ou se sua versão inclui o daemon nativo. Em versões modernas, ele é nativo).
4. **Enable:** Marque a caixa.
5. **Interface:** Selecione a interface onde os telefones/clientes estão (ex: `LAN` ou `VOIP_VLAN`).
6. **TFTP Directory:** `/tftpboot` (ou o caminho onde você colocou os arquivos).
![TFTP Settings](assets/pfsense_tftp_settings.png)
7. Clique em **Save**.
### Etapa 4: Configurar DHCP Option 66 (Boot Server)
O telefone precisa saber ONDE buscar os arquivos.
1. Acesse `Services > DHCP Server`.
2. Vá na interface correspondente (ex: LAN).
3. Clique em **Advanced Options** (botão 'Display Advanced' se houver, ou role para baixo).
4. Em **TFTP Server**, coloque o IP da interface do pfSense (ex: `192.168.1.1`).
5. Em **Bootfile** (se necessário), coloque o nome do arquivo padrão (ex: `boot.bin` ou deixe em branco se o aparelho procurar pelo MAC).
6. Salve.
## 5. SOLUÇÃO DE PROBLEMAS (TROUBLESHOOTING)
**Problema 1: Timeout ao baixar arquivo**
* **Causa:** Firewall bloqueando porta 69 (UDP) ou intervalo de portas altas usadas pela transferência.
* **Solução:** Crie uma regra na Interface LAN/VLAN permitindo Protocolo UDP, Origem `Rede Local`, Destino `Endereço da Interface`, Porta `69 (TFTP)`. O helper TFTP deve cuidar do resto, mas às vezes é necessário liberar portas altas.
**Problema 2: File not found**
* **Causa:** Permissão de arquivo linux ou Case Sensitive.
* **Solução:** O Linux diferencia maiúsculas de minúsculas (`Config.xml` ≠ `config.xml`). Verifique o nome exato que o aparelho solicita nos logs (`Status > System Logs > DHCP/TFTP` se disponível, ou via tcpdump).
**Problema 3: Conflito com TFTP Proxy**
* **Solução:** Se estiver usando o TFTP Server interno, desative o TFTP Proxy em `System > Advanced > Firewall & NAT` se houver conflito, ou garanta que ele está apontando para o Localhost corretamente.
## 6. DADOS TÉCNICOS
| Campo | Valor | Descrição |
| :--- | :--- | :--- |
| **Porta** | 69 UDP | Porta de Controle |
| **Diretório** | `/tftpboot` | Padrão do pfSense |
| **Protocolo** | UDP | Não tem retransmissão TCP |
## 7. VALIDAÇÃO FINAL (Definição de Pronto)
- [ ] O serviço TFTP está rodando?
- [ ] Ao rodar `tftp 192.168.1.1 get arquivo.txt` de um PC, o download ocorre?
- [ ] Os telefones IP receberam a configuração após reboot?