web-dev-qa-db-fra.com

Y a-t-il un moyen de gérer simplement d'économiser avec un pare-feu dans Rhel7?

Je commence à utiliser Rhel7 et à apprendre un peu sur les changements fournis avec SystemD.

Y a-t-il un moyen de jouer /sbin/service iptables save dans le pare-feu?

$ /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.

Le parallèle le plus proche, je peux trouver de la documentation est --reload:

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

Mais cela ne dit pas explicitement si cela sauve ou non.

11
Peter Souter

La version de Firewalld in Rhel 7.0 n'a pas de script "Enregistrer" et aucun moyen de copier la configuration du pare-feu exécutant vers la configuration permanente. Vous enregistrez un changement de pare-feu avec le pare-feu en ajoutant --permanent à la ligne de commande faisant le changement. Sans cela, aucun changement que vous faites est temporaire et sera perdu lorsque le système redémarre.

Par exemple:

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

Plus tard (Post-Rhel 7) Les versions de Firewalld incluent un moyen de sauvegarder la configuration en cours d'exécution, ce qui est disponible maintenant dans Fedora et dans RHEL 7.1 . Dans ce cas, la commande est simplement:

firewall-cmd --runtime-to-permanent
21
Michael Hampton

J'avais besoin d'ajouter SIP Service et certains IPS

dans le répertoire/USR/LIB/Firewalld/Services/j'ai ajouté sIP.xml Basé sur d'autres fichiers de service XML.

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

Puis j'ai ajouté un service SIP à un pare-feu

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

Ensuite, j'ai ajouté IPS au service de /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>

vous pouvez également ajouter un journal si vous ajoutez du niveau de journalisation

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

après avoir ajouté des règles à votre zone, exécutez

# firewall-cmd --reload

vérifiez vos iptables - vous devriez être tous définis.

0
Alex N