Existe uma maneira de executar apenas salvar com firewalld no RHEL7?

8

Estou começando a usar o RHEL7 e aprendendo um pouco sobre as mudanças que vêm com o systemd.

Existe uma maneira de executar /sbin/service iptables save no firewalld?

$ /sbin/service iptables save
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.

O paralelo mais próximo que posso encontrar na Documentação é --reload :

Reload the firewall without loosing state information:
$ firewall-cmd --reload

Mas não diz explicitamente se está salvando ou não.

    
por Peter Souter 12.03.2015 / 11:13

2 respostas

15

A versão do firewalld no RHEL 7.0 não possui script de "salvar" e nenhuma maneira de copiar a configuração de firewall em execução para a configuração permanente. Você salva uma alteração de firewall com firewalld adicionando --permanent à linha de comando fazendo a alteração. Sem isso, qualquer alteração feita é temporária e será perdida quando o sistema for reiniciado.

Por exemplo:

firewall-cmd --add-service=http                 # Running config
firewall-cmd --add-service=http --permanent     # Startup config

Mais tarde (post-RHEL 7) versões do firewalld incluem uma maneira de salvar a configuração em execução, e isso está disponível agora no Fedora e no RHEL 7.1 . Neste caso, o comando é simplesmente:

firewall-cmd --runtime-to-permanent
    
por 12.03.2015 / 12:00
0

Eu precisava adicionar o serviço SIP e alguns IPs

no diretório / usr / lib / firewalld / services /, adicionei sip.xml com base em outros arquivos de serviço xml.

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SIP</short>
  <description>This is SIP, Yo! </description>
  <port protocol="udp" port="5060"/>
</service>

Em seguida, adicionei o serviço sip a um firewalld

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

Em seguida, adicionei IPs ao serviço em /etc/firewalld/zones/public.xml

<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description></description>
  <service name="dhcpv6-client"/>
  <service name="http"/>
  <service name="ssh"/>
  <service name="https"/>

  <rule family="ipv4">
    <source address="x.x.x.x/32"/>
    <service name="sip"/>
    <accept/>
  </rule>

</zone>

você também pode adicionar LOG se adicionar nível de registro

  <rule family="ipv4">
    <source address="x.x.x.x/32"/>
    <service name="sip" 
    <log prefix="sip" level="info"/>
    <accept/>
  </rule>

depois de adicionar regras à sua zona, execute

# firewall-cmd --reload

verifique seu iptables - você deve estar pronto.

    
por 22.08.2015 / 03:41