User Tools

Site Tools


wiki:linux:comandos:comando_firewalld

Exemplos do comando firewalld

Nível Básico

  • Verificar o status do `firewalld`:
    1. sudo firewall-cmd --state
    2. Verifica se o serviço `firewalld` está ativo ou inativo.
  • Iniciar o serviço `firewalld`:
    1. sudo systemctl start firewalld
    2. Inicia o serviço `firewalld`.
  • Ativar o `firewalld` para iniciar no boot:
    1. sudo systemctl enable firewalld
    2. Ativa o serviço para iniciar automaticamente no boot.
  • Listar todas as zonas ativas e suas interfaces:
    1. sudo firewall-cmd --get-active-zones
    2. Mostra todas as zonas ativas e as interfaces de rede atribuídas a cada zona.
  • Listar os serviços permitidos em uma zona:
    1. sudo firewall-cmd --list-services --zone=public
    2. Lista todos os serviços permitidos na zona `public`.
  • Permitir temporariamente o tráfego HTTP (porta 80):
    1. sudo firewall-cmd --add-service=http
    2. Permite o tráfego HTTP (porta 80) temporariamente (até o próximo reload ou reboot).
  • Remover temporariamente o tráfego HTTP:
    1. sudo firewall-cmd --remove-service=http
    2. Remove a permissão para tráfego HTTP (porta 80) temporariamente.

Nível Intermediário

  • Permitir permanentemente o tráfego SSH (porta 22):
    1. sudo firewall-cmd --add-service=ssh --permanent
    2. Permite o tráfego SSH na porta `22` de forma permanente.
  • Adicionar uma porta específica para tráfego TCP ou UDP:
    1. sudo firewall-cmd --add-port=8080/tcp
    2. Permite o tráfego na porta `8080` para o protocolo `TCP`.
  • Remover uma porta aberta:
    1. sudo firewall-cmd --remove-port=8080/tcp
    2. Remove o acesso à porta `8080` via protocolo `TCP`.
  • Recarregar as configurações de firewall sem interromper conexões:
    1. sudo firewall-cmd --reload
    2. Recarrega as regras do firewall sem derrubar conexões ativas.
  • Verificar se uma porta está aberta em uma zona específica:
    1. sudo firewall-cmd --zone=public --query-port=8080/tcp
    2. Verifica se a porta `8080` está aberta na zona `public`.
  • Listar as zonas e configurações ativas:
    1. sudo firewall-cmd --list-all
    2. Lista todas as configurações da zona ativa padrão, incluindo serviços, portas e interfaces permitidas.
  • Bloquear permanentemente um endereço IP:
    1. sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject' --permanent
    2. Bloqueia permanentemente o tráfego do endereço IP `192.168.1.100`.
  • Permitir permanentemente uma faixa de IPs:
    1. sudo firewall-cmd --add-source=192.168.1.0/24 --zone=public --permanent
    2. Permite permanentemente o tráfego de uma faixa de IPs (`192.168.1.0/24`) na zona `public`.

Nível Avançado

  • Criar uma nova zona personalizada:
    1. sudo firewall-cmd --new-zone=zona-personalizada --permanent
    2. Cria uma nova zona chamada `zona-personalizada`.
  • Atribuir uma interface de rede a uma zona específica:
    1. sudo firewall-cmd --zone=public --change-interface=eth0
    2. Atribui a interface `eth0` à zona `public`.
  • Permitir tráfego de um serviço específico apenas em uma zona:
    1. sudo firewall-cmd --zone=home --add-service=samba --permanent
    2. Permite permanentemente o tráfego para o serviço `Samba` apenas na zona `home`.
  • Aplicar uma regra de rich-rule para aceitar tráfego HTTP apenas de um IP específico:
    1. sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.50" service name="http" accept' --permanent
    2. Permite o tráfego HTTP (porta 80) apenas do IP `192.168.1.50`.
  • Configurar um port forwarding (redirecionamento de porta):
    1. sudo firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080 --permanent
    2. Redireciona o tráfego TCP da porta `80` para a porta `8080` na zona `public`.
  • Listar todos os serviços disponíveis no `firewalld`:
    1. sudo firewall-cmd --get-services
    2. Exibe uma lista de todos os serviços disponíveis que podem ser permitidos ou bloqueados no firewall.
  • Remover uma zona personalizada:
    1. sudo firewall-cmd --delete-zone=zona-personalizada --permanent
    2. Remove a zona `zona-personalizada` do `firewalld` de forma permanente.
  • Visualizar a zona associada a uma interface específica:
    1. sudo firewall-cmd --get-zone-of-interface=eth0
    2. Exibe a zona atual associada à interface `eth0`.

Nível Especializado

  • Criar e aplicar uma regra de rich-rule com base em horário:
    1. sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100" service name="ssh" log prefix="SSH-Access" time daytime start="08:00" stop="18:00" accept' --permanent
    2. Permite o acesso SSH (porta 22) do IP `192.168.1.100` apenas entre 08:00 e 18:00, registrando cada tentativa no log.
  • Bloquear pacotes ICMP (ping) de uma zona específica:
    1. sudo firewall-cmd --zone=public --add-icmp-block=echo-request --permanent
    2. Bloqueia pacotes ICMP `echo-request` (ping) na zona `public`.
  • Ativar masquerading (NAT) para compartilhamento de internet:
    1. sudo firewall-cmd --zone=public --add-masquerade --permanent
    2. Ativa o masquerading na zona `public` para realizar NAT (compartilhamento de internet).
  • Desativar masquerading:
    1. sudo firewall-cmd --zone=public --remove-masquerade --permanent
    2. Remove a regra de masquerading na zona `public`.
  • Permitir múltiplos serviços de uma só vez:
    1. sudo firewall-cmd --add-service={http,https,ftp} --permanent
    2. Permite permanentemente os serviços `http`, `https` e `ftp` com um único comando.
  • Monitorar alterações em tempo real no `firewalld`:
    1. sudo firewall-cmd --watch
    2. Monitora alterações no firewall em tempo real, mostrando modificações na configuração do firewall.
  • Desativar completamente o `firewalld`:
    1. sudo systemctl stop firewalld

      <br>

sudo systemctl disable firewalld
  1. Para e desativa o `firewalld` para que ele não inicie automaticamente no boot.
  • Restaurar as configurações de fábrica do `firewalld`:
    1. sudo firewall-cmd --complete-reload
    2. Restaura todas as configurações do firewall para o estado padrão.
wiki/linux/comandos/comando_firewalld.txt · Last modified: by Wiki Administrator