manuais-e-documentacao-itguys/documentacao rede e seguranca/Nivel_2/Manual_pfSense_10_TFTP.md

4.3 KiB

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:
    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

  1. 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.xmlconfig.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?