Guia rápido: Firewall via GUI no Linux com Cockpit + FirewallD (para iniciantes)

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:

  • iptables ou
  • nftables (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

  1. Networking → Firewall
  2. Escolha a zona (geralmente public)
  3. Em Services, marque:
    • http
    • https
    • cockpit (se quiser acesso remoto)
  4. Ou adicione portas manualmente:
    • 80/tcp
    • 443/tcp

Aplica na hora. Sem reload manual.


8. NAT (Masquerade) via GUI

Para servidor atuando como gateway:

  1. Networking → Firewall
  2. Zona externa (ex: public)
  3. 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:

  1. Networking → Firewall
  2. Zona → Port Forwarding
  3. 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.

Rolar para cima