Como desativar o firewalld e mantê-lo assim?

4

Eu tenho para um projeto de escola uma arquitetura simples composta de 3 máquinas virtuais que executam o Fedora 24: um servidor, um cliente e um roteador. Decidi usar o iptables sobre o firewalld para o uso extensivo do DNAT / SNAT que eu só sabia gerenciar bem com o iptables; portanto, desabilitei o firewalld e ative o iptables:

# dnf install iptables-services
# systemctl stop firewalld
# systemctl disable firewalld
# systemctl start iptables && systemctl start ip6tables
# systemctl enable iptables && systemctl enable ip6tables

Eu tinha um conjunto de regras que salvei em # service iptables save e funcionou perfeitamente no meu roteador.

Eu usei o mesmo método em minhas duas outras máquinas, servidor e cliente, mas as regras não foram salvas. Depois de um pouco de pesquisa, percebi que o iptables.service não inicia na inicialização; e notei ainda que o firewalld fez mesmo que tenha sido desativado como apresentado acima.

Existe algum motivo específico pelo qual o firewalld seria iniciado mesmo desativado? Veja o que o status mostra logo após a inicialização:

firewalld.service - firewalld - dynamic firewall daemon
  Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset : enabled)
  Active: active (running) since Sun 2017-01-22 23:52:34 PST; 15s ago
    Docs:  man:firewalld(1)
Main PID: 619 (firewalld)
   Tasks: 2 (list:512)
  CGroup: /system.slice/firewalld.service
          └─619 /usr/bin/python3 -Es /usr/sbin/firewalld --nofork --nopid

Jan 22 23:52:33 public systemd[1]: Starting firewalld - dynamic firewall daemon
Jan 22 23:52:34 public systemd[1]: Started firewalld - dynamic firewall daemon.

Por outro lado, aqui está o iptables:

iptables.service - IPv4 firewall with iptables
 Loaded: loaded (/usr/lib/systemd/systemd/system/iptables.service; enabled; vendor preset: disabled)
 Active: inactive (dead)
    
por Kevin Cuallado 23.01.2017 / 09:15

3 respostas

5

A maneira mais segura de se livrar de firewalld é removê-lo:

dnf remove firewalld

É bem aceitável fazer para máquinas virtuais.

    
por 23.01.2017 / 10:31
4

Mascare e desative o firewalld service:

systemctl mask firewalld
systemctl disable firewalld
    
por 24.01.2017 / 14:28
2

você pode desativá-lo usando o seguinte comando:

#chkconfig firewalld off

depois reinicie sua máquina e pronto.

Dessa forma, você desligará o serviço firewalld dos níveis de execução para que ele não seja iniciado quando você inicializar a máquina.

    
por 23.01.2017 / 12:57