110 lines
4.8 KiB
Markdown
110 lines
4.8 KiB
Markdown
# MANUAL TÉCNICO - DIAGNÓSTICO AVANÇADO, SHELL E RECOVERY
|
|
|
|
**Código:** ITGENG 0026/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
|
|
Fornecer ferramentas e comandos avançados para diagnóstico de rede, performance e recuperação de desastres no pfSense, focando no uso do Shell (`pfctl`, `tcpdump`) quando a WebGUI está inacessível ou insuficiente.
|
|
|
|
## 3. PRÉ-REQUISITOS
|
|
- [ ] Acesso SSH habilitado (`System > Advanced > Admin Access`).
|
|
- [ ] Usuário `admin` ou `root` com senha conhecida.
|
|
- [ ] Acesso físico (Console/VGA/Serial) para casos de recuperação crítica.
|
|
|
|
## 4. PASSO A PASSO (EXECUÇÃO)
|
|
|
|
### Etapa 1: Comandos Essenciais do Shell (SSH/Console)
|
|
|
|
Se a interface gráfica travar, use o shell (Opção 8 no menu console).
|
|
|
|
**1. Gerenciamento do Filtro de Pacotes (pf)**
|
|
* `pfctl -d`: **Desabilita** o Firewall temporariamente (CUIDADO! Libera tudo). Use se trancou para fora.
|
|
* `pfctl -e`: **Habilita** o Firewall novamente.
|
|
* `pfctl -f /etc/filter.conf`: Recarrega as regras de filtro.
|
|
* `pfctl -s info`: Mostra estatísticas gerais (Estado, Drops).
|
|
|
|
**2. Diagnóstico de Interface e Roteamento**
|
|
* `ifconfig`: Lista interfaces, IPs e MACs.
|
|
* `netstat -rn`: Mostra a tabela de roteamento.
|
|
* `netstat -i`: Mostra estatísticas de erros/colisões por interface.
|
|
|
|
**3. Captura de Pacotes (tcpdump)**
|
|
Ferramenta definitiva para ver o que está passando no cabo.
|
|
* `tcpdump -i em0`: Vê tudo na interface `em0`.
|
|
* `tcpdump -i em0 host 192.168.1.50`: Vê tráfego de/para um IP específico.
|
|
* `tcpdump -i em0 port 80`: Vê apenas tráfego HTTP.
|
|
* `tcpdump -n -e -ttt -i pflog0`: Vê o log do firewall em tempo real (o que está sendo bloqueado).
|
|
|
|
### Etapa 2: Recuperação de Desastres (Rescue)
|
|
|
|
**Cenário: Perdi a senha de admin ou lockout da WebGUI.**
|
|
|
|
1. Acesse o **Console Físico** (Monitor+Teclado ou Serial).
|
|
2. No menu numérico (0-16):
|
|
* **Opção 3 (Reset webConfigurator password):** Reseta senha para `pfsense`.
|
|
* **Opção 4 (Reset to factory defaults):** Zera TUDO. (Use em último caso).
|
|
* **Opção 11 (Restart webConfigurator):** Reinicia apenas o serviço PHP/Nginx. Use se a GUI estiver dando erro 502/504.
|
|
* **Opção 15 (Restore recent configuration):** Permite voltar para um backup automático anterior. O pfSense salva backups a cada alteração. Isso salva vidas!
|
|
|
|
### Etapa 3: Diagnóstico via WebGUI (Tools)
|
|
|
|
Se a GUI funciona, use:
|
|
|
|
1. **Test Port (`Diagnostics > Test Port`):**
|
|
* Testa se uma porta TCP está aberta num servidor remoto. Melhor que ping para testar serviço.
|
|
2. **Packet Capture (`Diagnostics > Packet Capture`):**
|
|
* Interface gráfica para o `tcpdump`. Permite baixar o arquivo `.cap` para analisar no Wireshark do seu PC.
|
|
3. **States Dump (`Diagnostics > States`):**
|
|
* Veja quem está conectado, quantos bytes consumiu e mate conexões específicas.
|
|
|
|
### Etapa 4: Logs do Sistema
|
|
|
|
Caminhos importantes no Shell para leitura com `tail -f`:
|
|
|
|
* `/var/log/system.log`: Log geral do sistema.
|
|
* `/var/log/filter.log`: Logs do Firewall (Blocos/Pass).
|
|
* `/var/log/dhcpd.log`: Logs do DHCP.
|
|
* `/var/log/openvpn.log`: Logs das VPNs.
|
|
* `/var/log/nginx.log`: Logs do servidor web da GUI.
|
|
|
|
## 5. SOLUÇÃO DE PROBLEMAS (TROUBLESHOOTING)
|
|
|
|
**Problema 1: "PHP ERROR: Type: 1, File: /etc/inc/..."**
|
|
* **Causa:** Corrupção de arquivos ou disco cheio.
|
|
* **Solução:**
|
|
1. Verifique espaço em disco: `df -h`.
|
|
2. No console, escolha **Opção 16 (Restart PHP-FPM)**.
|
|
3. Se persistir, reforce update via console opção 13.
|
|
|
|
**Problema 2: Alta Latência / Perda de Pacotes**
|
|
* **Causa:** Hardware insuficiente (Mbuf exhaustion) ou loop de rede.
|
|
* **Solução:**
|
|
1. Verifique uso de CPU (`top -aSH`).
|
|
2. Verifique interrupções (`vmstat -i`). Se uma placa de rede gera 20k+ interrupts, pode ser defeito ou driver ruim.
|
|
3. Aumente Mbufs em `System > Advanced > Networking` se tiver RAM sobrando.
|
|
|
|
**Problema 3: Boot Loop ou Filesystem Error**
|
|
* **Solução:**
|
|
1. Boot no modo Single User (`s` no boot loader).
|
|
2. Execute `fsck -y /` para corrigir o sistema de arquivos (apenas UFS). ZFS geralmente se autocorrige ou exige scrub.
|
|
|
|
## 6. DADOS TÉCNICOS
|
|
|
|
| Comando | Função | Exemplo |
|
|
| :--- | :--- | :--- |
|
|
| `pfctl -d` | Desativa Firewall | Emergência |
|
|
| `viconfig` | Edita config.xml | Uso Avançado |
|
|
| `top` | Monitor de Processos | Ver carga |
|
|
|
|
## 7. VALIDAÇÃO FINAL (Definição de Pronto)
|
|
- [ ] Consegue acessar via SSH?
|
|
- [ ] O comando `tcpdump` mostra tráfego?
|
|
- [ ] Sabe onde restaurar um backup pelo console (Opção 15)?
|
|
- [ ] Logs estão acessíveis e legíveis?
|