Este guia mostra como instalar, acessar e usar recursos básicos de firewall e NAT em servidores Linux usando Cockpit (web GUI) com FirewallD como backend.
Escopo: firewall de host ou gateway simples
Não substitui pfSense / OPNsense
1. O que é o Cockpit
- Interface web para administração Linux
- Acesso via navegador (HTTPS)
- Não exige desktop
- Usa usuários do sistema (PAM/sudo)
O firewall é gerenciado via FirewallD, que por sua vez gera regras em:
iptablesounftables(dependendo da distro)
2. Sistemas suportados
Funciona melhor em:
- RHEL / Rocky / Alma / CentOS Stream
- Fedora
- Debian
- Ubuntu Server
3. Instalação
Debian / Ubuntu
apt update
apt install -y cockpit firewalld
systemctl enable --now cockpit.socket
systemctl enable --now firewalld
RHEL / Rocky / Alma / Fedora
dnf install -y cockpit cockpit-firewalld
systemctl enable --now cockpit.socket
systemctl enable --now firewalld
4. Acesso via navegador
Por padrão:
https://IP_DO_SERVIDOR:9090
- HTTPS com certificado próprio
- Login com usuário do sistema
- Root = acesso total
- Usuário comum = depende de
sudo
A porta 9090 pode ser alterada via
cockpit.socket.
5. Atenção: Firewalld bloqueia tudo por padrão
Ao ativar o firewalld:
- Tráfego externo é bloqueado
- Apenas loopback e SSH costumam estar liberados
Liberar serviços comuns (CLI)
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload
Ou faça isso via GUI, como mostrado abaixo.
6. Usando o firewall via GUI
Caminho no Cockpit:
Networking → Firewall
Conceitos básicos
- Zones: grupos de regras (ex:
public,internal) - Services: portas pré-definidas (http, ssh, cockpit)
- Ports: portas customizadas
- Masquerading: NAT de saída
- Port Forwarding: DNAT simples
7. Liberar portas via GUI
- Networking → Firewall
- Escolha a zona (geralmente
public) - Em Services, marque:
- http
- https
- cockpit (se quiser acesso remoto)
- Ou adicione portas manualmente:
80/tcp443/tcp
Aplica na hora. Sem reload manual.
8. NAT (Masquerade) via GUI
Para servidor atuando como gateway:
- Networking → Firewall
- Zona externa (ex:
public) - Ativar Masquerading
Isso cria:
SNAT / MASQUERADE
Importante
Você também precisa:
sysctl -w net.ipv4.ip_forward=1
Persistente:
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
9. Port Forward (DNAT) via GUI
Exemplo:
- Porta externa 2222
- Redireciona para 192.168.1.10:22
Via GUI:
- Networking → Firewall
- Zona → Port Forwarding
- Adicionar:
- Port: 2222
- Protocol: TCP
- To address: 192.168.1.10
- To port: 22
Pronto.
10. Controle de usuários (níveis)
Cockpit não tem RBAC próprio.
Controle é feito por:
- Usuários Linux
sudo
Exemplo:
- Usuário sem sudo → só visualiza
- Usuário com sudo para
firewall-cmd→ altera firewall - Root → tudo
11. Limitações importantes
- NAT avançado → CLI apenas
- Regras complexas → CLI
- Visualização de estados → não
- Logs avançados → limitado
Cockpit é:
- Admin simples
- Manutenção
- Firewall básico
- Uso diário via browser
12. Quando usar / quando não usar
Use se:
- Servidor Linux
- Gateway simples
- Admin remoto via web
- Quer algo open-source e padrão de mercado
Não use se:
- Firewall de borda complexo
- Multi-WAN
- VPN avançada
- Alta visibilidade de tráfego
Nesse caso: pfSense / OPNsense.
Conclusão
- ✔ Open-source
- ✔ Via navegador
- ✔ NAT básico via GUI
- ✔ Fácil de manter
- ❌ Não é appliance de firewall
É uma boa solução pragmática, não mágica.
