Configurazione del firewall

Salve…

Ho copiato un firewall da un altro conputer su fedora20.
Ho fatto un file per systemctl, inserendo queste righe:

[Unit]
Description=To start iptalbes automatically

[Service]
ExecStart=/usr/sbin/iptables

[Install]
WantedBy=multi-user.target

inserendo poi systemctl enable iptables.service

Quando vado all’accensione però non parte e questo è il risultato di systemctl -lstatus iptables

iptables.service - To start iptalbes automatically
   Loaded: loaded (/etc/systemd/system/iptables.service; enabled)
   Active: failed (Result: exit-code) since ven 2014-03-14 17:41:54 CET; 5min ago
  Process: 3146 ExecStart=/usr/sbin/iptables (code=exited, status=2)
 Main PID: 3146 (code=exited, status=2)
   CGroup: /system.slice/iptables.service

mar 14 17:41:54 bina.agr.unipg.it
localhost.localdomain systemd[1]: Started To start iptalbes automatically.
mar 14 17:41:54 bina.agr.unipg.it
localhost.localdomain iptables[3146]: iptables v1.4.19.1: no command specified
mar 14 17:41:54 bina.agr.unipg.it
localhost.localdomain iptables[3146]: Try `iptables -h' or 'iptables --help' for more information.
mar 14 17:41:54 bina.agr.unipg.it
localhost.localdomain systemd[1]: iptables.service: main process exited, code=exited, status=2/INVALIDARGUMENT
mar 14 17:41:54 bina.agr.unipg.it
localhost.localdomain systemd[1]: Unit iptables.service entered failed state.

Ho letto che è stato anche sostituito iptables con firewalld, ma la sintassi è molto diversa.

Anche con systemctl -l status firewalld da che non è funzionante

firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled)
   Active: inactive (dead) since ven 2014-03-14 17:33:54 CET; 15min ago
 Main PID: 570 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/firewalld.service

mar 14 17:30:56 bina.agr.unipg.it systemd[1]: Starting firewalld - dynamic firewall daemon...
mar 14 17:30:57 bina.agr.unipg.it systemd[1]: Started firewalld - dynamic firewall daemon.
mar 14 17:33:53 bina.agr.unipg.it
localhost.localdomain systemd[1]: Stopping firewalld - dynamic firewall daemon...
mar 14 17:33:54 bina.agr.unipg.it
localhost.localdomain systemd[1]: Stopped firewalld - dynamic firewall daemon.

Come posso fare per far partire iptables o firewalld all’avvio?

Grazie

Sergio

Iptables sono nel kernel quindi non c’è un servizio, spero di non dire una cavolata. Io da diversi anni ho un file di script con le regole di iptables che lancio in avvio tramite lo script rc.local ( si lo so è deprecato ma fa il suo lavoro da anni ) riporto sotto un paio di righe dello script

iptables -A INPUT -i em1 -p all -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i em1 -p tcp --tcp-flags ACK,FIN FIN -j NFLOG --nflog-prefix "--PORTSCAN:-- "

Quando dici che hai copiato un firewall di preciso cosa intendi ?

Che in pratica ho copiato /etc/sysconfig/iptable da un altro computer e da questo partivo per una configurazione ad hoc.
Ho visto firewall e mi sembra molto più semplice.
In pratica fai le regole con un click.

Sì, il kernel “incorpora” la funzionalità di iptables, ma c’è un servizio… iptables.service, alternativo al firewall di default di Fedora che è https://fedoraproject.org/wiki/FirewallD. Se si sceglie di avere il vecchio iptables “statico” anziché il nuovo firewall “dinamico”, occorre rimuovere (o “https://fedoraproject.org/wiki/FirewallD#Using_static_firewall_rules_with_the_iptables_and_ip6tables_services”) firewalld e installare iptables e iptables-services, nonché abilitare il servizio systemd iptables.service (nota: il pacchetto iptables-service fornisce il servizio systemd necessario). Per una prima riconfigurazione del firewall statico (se si dovesse optare per esso) si può prendere spunto anche da http://infrastructure.fedoraproject.org/csi/security-policy/en-US/html-single/#HostIptables-Standard-Introduction-Prerequisites

Tempus: Se lancio il comando

systemctl status iptables.service

mi risponde che non esiste, vuol dire che il servizio non esiste ?

sergio59: metti le regole in un file di testo tipo firewall.sh e prova a lanciarlo nel frattempo ci fai
vedere cosa c’è in questo file

il pacchetto in questione non è installato per impostazione predefinita, giacché firewalld è il firewall predefinito.