REDE ONLINE · 7 fabricantes · 84 artigos · 1.2k comandos
v2.1.0 PT_BR
CircuitoCarioca
Home
↳ Visão geral Datacom Nokia Huawei Mikrotik Cisco Intelbras Parks
↳ Visão geral VLAN QinQ MPLS BGP OSPF
Ferramentas
↳ Visão geral Linux Windows Zabbix Grafana LibreNMS Firewall VPN Hardening
Wiki Comunidade Sobre
entrar cadastrar
firewall · appliance · interface gráfica

pfSense

Firewall/roteador completo baseado em FreeBSD e no filtro pf do OpenBSD, com interface web — da arquitetura à alta disponibilidade, com foco em ISP.

Nesta página

1. Contexto histórico e normativo 2. Arquitetura interna — FreeBSD e pf 3. Edições — Community vs. Plus 4. Instalação 5. Interfaces WAN/LAN 6. Regras de firewall 7. NAT e Port Forward 8. Pacotes — pfBlockerNG e outros 9. Alta disponibilidade — CARP 10. Monitoramento e métricas 11. Backup e recuperação 12. Dimensionamento e performance 13. Comparativo — pfSense vs. iptables/nftables 14. Troubleshooting 15. Glossário 16. Referências

1. Contexto histórico e normativo

O pfSense é uma distribuição de firewall/roteador de código aberto baseada no FreeBSD e no filtro de pacotes pf, originalmente desenvolvido no OpenBSD. O pf foi criado por Daniel Hartmeier em 2001 para substituir o IPFilter, e ganhou reputação por sua sintaxe declarativa e robustez — qualidades que o pfSense herda e estende com uma interface web de gerenciamento.

O projeto pfSense nasceu em 2004 como fork do m0n0wall, e desde então evoluiu para uma plataforma completa que inclui firewall, roteamento, VPN, portal cativo, balanceamento de carga e muito mais. É mantido pela Netgate, empresa que também comercializa hardware otimizado e suporte corporativo.

Para ISPs brasileiros, o pfSense se tornou uma alternativa popular a firewalls comerciais de grandes marcas, especialmente para borda de rede, concentrador de VPNs e segmentação interna. Sua licença open source (Apache 2.0) e a flexibilidade de rodar em hardware x86 comum o tornam atraente para provedores de pequeno e médio porte.

2. Arquitetura interna — FreeBSD e pf

O pfSense herda a arquitetura do FreeBSD e do pf, que difere significativamente do Linux/netfilter:

  • pf — filtro de pacotes com sintaxe declarativa, avaliação otimizada e suporte a tabelas de endereços.
  • ALTQ — escalonamento de tráfego para QoS, integrado ao pf.
  • CARP — protocolo de redundância para alta disponibilidade (similar ao VRRP).
  • pfsync — sincronização de estado de conexões entre firewalls redundantes.
  • Interface web — escrita em PHP, que gera as configurações do pf e de outros subsistemas.

Em essência, o pfSense é uma camada de gerenciamento sobre o pf, permitindo que administradores configurem regras sem conhecer a sintaxe subjacente — embora o conhecimento do pf seja valioso para troubleshooting avançado.

3. Edições — Community vs. Plus

A Netgate mantém duas edições:

  • Community Edition (CE) — gratuita, open source, com todas as funcionalidades essenciais.
  • pfSense Plus — versão com recursos adicionais (como boot environments com ZFS, suporte oficial, atualizações mais frequentes), voltada para hardware Netgate ou clientes que desejam suporte comercial.

Para a maioria dos ISPs pequenos e médios, a CE atende plenamente às necessidades de firewall de borda.

4. Instalação

A instalação é feita a partir de imagem ISO oficial, gravada em mídia USB ou CD, e segue um assistente simples:

  1. Baixar a imagem no site oficial (netgate.com/pfsense).
  2. Gravar a ISO em USB (usando ferramentas como balenaEtcher, Rufus ou dd).
  3. Dar boot no hardware alvo ou VM.
  4. O instalador oferece opções de particionamento (ZFS recomendado em hardware com suporte).
  5. Após a instalação, o console solicita a configuração das interfaces WAN e LAN.
  6. Todo o restante da configuração é feito pela interface web.

Requisitos mínimos práticos: processador x86_64, 2 GB de RAM, 8 GB de armazenamento e 2+ interfaces de rede. Para produção, recomenda-se hardware dedicado ou VM com reserva de recursos.

5. Configuração de interfaces WAN/LAN

Pela interface web (Interfaces → WAN e Interfaces → LAN):

  • WAN — configurada via DHCP, PPPoE ou IP estático, conforme o uplink do provedor.
  • LAN — IP fixo na sub-rede interna, servindo como gateway para os hosts locais.
  • Interfaces adicionais (OPT1, OPT2...) — podem ser criadas para segmentar DMZ, rede de gerência, convidados, etc.

Cada interface possui seu próprio conjunto de regras de firewall, o que permite políticas distintas por segmento de rede — fundamental para a segmentação de um ISP.

6. Regras de firewall pela interface

Em Firewall → Rules, por interface. A lógica segue o pf por baixo, mas com montagem visual: Ação (Pass/Block/Reject), Protocolo, Origem, Destino, Porta.

Exemplo de regra para liberar RADIUS (UDP 1812) apenas da rede de NAS:

Action: Pass · Protocol: UDP · Source: 10.0.0.0/24 · Destination port: 1812 (RADIUS-Auth)

A ordem das regras importa: o pfSense avalia de cima para baixo, e a primeira que casar decide. Política padrão é bloquear tudo que não for explicitamente permitido.

7. NAT e Port Forward

Em Firewall → NAT:

  • Port Forward — DNAT: redireciona uma porta da WAN para um serviço interno (ex.: painel de gerência).
  • Outbound NAT — controle do tráfego de saída (equivalente a MASQUERADE/SNAT). O pfSense faz NAT automático por padrão na WAN.

8. Pacotes — pfBlockerNG e outros

O Package Manager (System → Package Manager) permite instalar funcionalidades adicionais:

  • pfBlockerNG — bloqueio por listas de reputação, geoblocking, integração com feeds de inteligência.
  • Suricata/Snort — IDS/IPS como pacote.
  • OpenVPN/WireGuard — VPNs já integradas ao core.
  • Squid — proxy/cache.
  • HAProxy — balanceamento de carga.

O pfBlockerNG é especialmente relevante para ISPs, permitindo bloquear tráfego malicioso conhecido sem depender de soluções externas.

9. Alta disponibilidade — CARP

Para ISPs que não podem ter o firewall de borda como ponto único de falha, o pfSense oferece CARP (Common Address Redundancy Protocol) — dois firewalls compartilhando um IP virtual, com failover automático se o primário cair.

A configuração é feita em System → High Availability Sync, que sincroniza regras, NAT, DHCP e estado de conexões entre os nós. O pfsync mantém as tabelas de estado consistentes, garantindo que conexões ativas não sejam derrubadas durante o failover.

10. Monitoramento e métricas

O pfSense oferece:

  • Status → Dashboard — visão geral de tráfego, CPU, memória, interfaces.
  • Status → System Logs → Firewall — logs em tempo real das regras.
  • SNMP — pode ser habilitado para integração com Zabbix/PRTG.
  • RRD Graphs — gráficos históricos de tráfego e performance.

Para monitoramento externo, o SNMP é o método mais comum, expondo métricas de interfaces, CPU, memória e estado do CARP.

11. Backup e recuperação

O pfSense permite exportar a configuração completa em XML:

  • BackupDiagnostics → Backup/Restore, baixar o arquivo XML.
  • Restauração — restaurar o XML em um hardware novo ou após reinstalação.
  • Recomenda-se manter o backup em local seguro, seguindo a regra 3‑2‑1‑1‑0.

Em caso de falha total do hardware, a restauração é rápida: instalar o pfSense em novo equipamento e importar o XML.

12. Dimensionamento e performance

O pfSense pode lidar com gigabits de tráfego em hardware adequado. Para ISPs, as métricas importantes são:

  • Throughput de firewall — depende da CPU, número de regras e uso de pacotes como IDS/IPS.
  • VPN — criptografia consome CPU; hardware com AES-NI é essencial para alta performance.
  • CARP — adiciona overhead mínimo, mas exige sincronização de estado.

Para produção, recomenda-se hardware com CPU x86_64, 4+ GB de RAM, armazenamento SSD e interfaces Intel (melhor compatibilidade com FreeBSD).

13. Comparativo — pfSense vs. iptables/nftables

CritériopfSenseiptables/nftables
Curva de aprendizadoMenor — interface visualMaior — linha de comando
Integração com servidor Linux existenteNão — appliance dedicadaSim — roda no mesmo host
Automação/IaCAPI disponível, mas menos versionávelArquivos de config versionáveis
Alta disponibilidadeCARP + pfsync integradosExige soluções externas (keepalived, etc.)
Pacotes adicionaispfBlockerNG, Suricata, Squid, etc.Ferramentas separadas, integração manual

14. Troubleshooting

Perdeu acesso à interface web após mudar regra

Usar console/serial (opção "Set interface(s) IP address") para resetar regras da LAN de emergência.

Regra criada não funciona

Conferir Status → System Logs → Firewall para ver qual regra está processando o pacote.

CARP não faz failover

Verificar sincronização de estado (Status → CARP) e conectividade da interface de sincronização entre os nós.

VPN lenta

Verificar se a CPU suporta AES-NI e se o hardware está adequado para a carga de criptografia.

15. Glossário

pf Filtro de pacotes do OpenBSD, base do firewall do pfSense.
FreeBSD Sistema operacional base do pfSense.
CARP Common Address Redundancy Protocol — redundância de firewall.
pfsync Protocolo de sincronização de estado de conexões entre firewalls CARP.
pfBlockerNG Pacote para bloqueio de listas de reputação e geoblocking.
ALTQ Escalonador de tráfego (QoS) integrado ao pf.
AES-NI Instruções de hardware para aceleração de criptografia.
DNAT Tradução de endereço de destino (Port Forward).
SNAT Tradução de endereço de origem (NAT de saída).
Boot Environment Snapshot do sistema que permite rollback de atualizações (pfSense Plus).

16. Referências

Conteúdo técnico independente, baseado em conhecimento consolidado e estável da ferramenta. Nenhum trecho é cópia literal de fonte de terceiro.