A partire da Red Hat® Enterprise Linux® (RHEL) 7 e CentOS® 7, firewalld è disponibile per la gestione di iptables. Di conseguenza, è necessario utilizzare firewall-cmd
comandi, oppure disabilita firewalld e abilita iptables. Questo articolo mostra come utilizzare la configurazione classica di iptables.
Interrompi e maschera il servizio firewalld
Esegui i seguenti comandi per arrestare e mascherare il servizio firewalld che non desideri utilizzare:
$ systemctl stop firewalld
$ systemctl mask firewalld
Installa e configura iptables
Utilizzare i seguenti passaggi per installare e configurare iptables:
-
Installa i
iptables-services
pacchetto (se non è già installato) eseguendo il comando seguente:$ yum install iptables-services
-
Abilita l'avvio del servizio all'avvio eseguendo i seguenti comandi:
$ systemctl enable iptables $ systemctl enable ip6tables
-
Quindi, aggiungi le regole di iptables. Puoi farlo in uno dei seguenti modi:
-
Dall'interfaccia della riga di comando (CLI), eseguendo comandi simili a
iptables -I INPUT ...
-
Creando o modificando il tuo
/etc/sysconfig/iptables
in modo che assomigli al seguente esempio di base, che lascia aperte le porte 22 e 80:$ cat /etc/sysconfig/iptables *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [214:43782] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -j REJECT --reject-with icmp-port-unreachable COMMIT $cat /etc/sysconfig/ip6tables *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [214:43782] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -j REJECT --reject-with icmp6-adm-prohibited COMMIT
-
-
(Facoltativo ) Se stai salvando le tue regole nelle
/etc/sysconfig/ip{,6}tables
file, devi anche eseguire i seguenti comandi:$ systemctl restart iptables $ systemctl restart ip6tables
-
Successivamente, verifica che il servizio iptables sia attivo eseguendo i seguenti comandi:
$ systemctl status iptables $ systemctl status ip6tables
-
Controlla le regole di iptables eseguendo i seguenti comandi:
$ iptables -L $ ip6tables -L
-
Verifica che il tuo server sia in ascolto sulle porte che hai aperto (22 e 80 nell'esempio sopra) eseguendo il comando seguente:
$ netstat -plant
-
Interroga il
systemd
journal per un registro delle modifiche apportate al servizio iptables eseguendo i seguenti comandi:$ journalctl -f -u iptables.service $ journalctl -f -u ip6tables.service
-
Riavvia il server. Le regole di iptables dovrebbero essere salvate e ricaricate automaticamente.