Tabela de conteúdos

FirewallD

Zonas

Aplicando zona

# firewall-cmd --add-interface=[INTERFACE] --zone=internal --permanent

CentOS

Editar a interface em /etc/sysconfig/network-scripts/ifcfg-[INTERFACE] e incluir :

[...]
ZONE=internal

Debian

Criar o arquivo /etc/network/if-pre-up.d/firewalld-zone-internal :

nmcli connection modify [INTERFACE] connection.zone internal

Permissão de execução:

# chmod +x /etc/network/if-pre-up.d/firewalld-zone-internal

Principais comandos

Liberar serviço

Em public (quando não informamos a zona):

# firewall-cmd --add-service=http --permanent

Em outra zona:

# firewall-cmd --zone=internal --add-service=http --permanent

Liberar porta

# firewall-cmd --add-port=1234/[tcp ou udp] --permanent

Recarregar as regras do firewall

# firewall-cmd --reload

Listar zonas ativas do FirewallD

# firewall-cmd --get-active-zones

Listar serviços disponíveis para o FirewallD

# firewall-cmd --get-services  

Liberar serviço a uma rede ou IP

# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.0.0.0/8" service name="http" accept"

Liberar porta a uma rede ou IP

# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="146.164.0.0/16" port port=9101 protocol=tcp accept"

Pode-se também liberar um range de portas:

# firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="146.164.0.0/16" port port=9101-9109 protocol=tcp accept"

Obs.: O parâmetro –remove-rich-rule remove as regras citadas acima.

Ativar modo "pânico"

O modo pânico bloqueia qualquer a passagem de dados, tanto as conexões de entrada quanto as de saída.

# firewall-cmd --panic-on

Para desligar o modo pânico, o comando é:

# firewall-cmd --panic-off

Para verificar se o modo pânico está ativo ou não:

# firewall-cmd --query-panic

Habilitar Masquerade no firewall (NAT)

# firewall-cmd --zone=external --add-masquerade

Verificar se o recurso masquerade está liberado no firewall:

# firewall-cmd --zone=external --query-masquerade

Utilizando redirecionamento de porta no FirewallD

# firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=2222:toaddr=192.168.0.132

Serviços ICMP

Listando os serviços ICMP disponíveis no FirewallD:

# firewall-cmd --get-icmptypes

Verificando se um serviço ICMP está ou não bloqueado:

# firewall-cmd --zone=public --query-icmp-block=echo-reply

Bloqueando um serviço ICMP:

# firewall-cmd --zone=public --add-icmp-block=echo-reply

Trabalhando com regras Chain

Listar regras:

# firewall-cmd --direct --get-rules ipv4 filter IN_public_allow

Adicionar uma nova regra:

# firewall-cmd --direct --add-rule ipv4 filter IN_public_allow 0 -m tcp -p tcp --dport 25 -j ACCEPT

Remover uma regra já existente:

# firewall-cmd --direct --remove-rule ipv4 filter IN_public_allow 0 -m tcp -p tcp --dport 25 -j ACCEPT

Referências