Como verificar se o iptables está em execução ou se o firewall está ativado

15

Quando eu executo minha máquina Linux Redhat versão 6.8 - service iptables status

Recebo a tabela de regras (mas não se o iptables estiver sendo executado ou não)

O seguinte mostra que o iptables está em execução?

 # service iptables status
 Table: filter
 Chain INPUT (policy ACCEPT)
 num  target     prot opt source               destination
 1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state   RELATED,ESTABLISHED
 2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
 3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
 4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state  NEW tcp dpt:22
 5    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject- with icmp-host-prohibited

 Chain FORWARD (policy ACCEPT)
 num  target     prot opt source               destination
 1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject- with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

Iptables está ativado na inicialização

# chkconfig --list iptables
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
Rei Davi
fonte

Respostas:

15

Não existe "iptables is running" - não há processo de firewall dedicado para monitorar.

Se os módulos do kernel forem carregados e as regras definidas (ambas comprovadas por mostrar uma tabela de regras válida), a filtragem estará ativa. Isso é feito no kernel em eventos (pacote rcv / snd) e não em um processo separado.

Então: Sim, se as regras mostradas forem o que você deseja, seu firewall estará ativado.

Eugen Rieck
fonte
6
Nem sempre é verdade. No CentOS7, você firewalldinstalou por padrão e pode verificar seu status executando systemctl status firewalld. Além disso, um pacote chamado iptables-servicespode ser instalado e, se iniciado (nome do serviço:) iptables, você pode verificar se está em execução ou não.
NKn 14/09/16
3
@ nKn - a questão era: como verificar se o iptables está em execução. O firewalld NÃO substitui o iptables, apenas é usado para configurá-lo. A firewalld morto com iptables ativos regras significam que o firewall é para cima, não para baixo
Eugen Rieck
1
Exatamente, e eu disse que pode ser verificado instalando os iptables-servicespacotes e verificando systemctl status iptables, o que informará se iptablesestá sendo executado ou não.
NKn 14/09/16
E novamente, novamente, novamente: Não existe "iptables está sendo executado".
Eugen Rieck
1
@nKn Obrigado mano. firewalldfoi o meu problema!
Habeeb Perwad
0

Desta forma, podemos saber apenas se não estiver em execução

[root @ vm1 ~] # service iptables status iptables: o firewall não está sendo executado.

se estiver em execução, imprime a tabela de regras, como mostrado a você

programador
fonte