Anziché digitare manualmente le regole, è possibile utilizzare iptables
per aggiungere le regole alle catene appropriate e quindi salvarle. Ciò ti consentirà di eseguire il debug delle regole in tempo reale, confermando che sono corrette, anziché doverle aggiungere al file come sembra che tu stia facendo.
Per aprire la porta 80 faccio questo:
$ sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo /etc/init.d/iptables save
L'ultimo comando salverà le regole aggiunte. Questa è la regola che vorrei utilizzare per aprire la porta per il traffico web.
Perché la tua regola sta causando problemi
Se noti la regola che stai tentando di utilizzare:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Ha una catena chiamata "RH-Firewall-1-INPUT". Se non si dispone di questa catena o di un collegamento dalla INPUT
catena a questa catena, questa regola non sarà mai raggiungibile. Questa regola potrebbe probabilmente essere così:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Oppure la tua INPUT
catena dovrebbe collegarsi a questa catena RH-Firewall-1-INPUT
con una regola come questa:
$ sudo iptables --list
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0
....
NOTA: puoi vedere quali catene hai con questo comando:
$ sudo iptables -L| grep Chain
Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
...
Inoltre, potrebbe essere necessario modificare gli stati in modo da consentire anche le connessioni esistenti.
-A INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT
Inoltre, quando usi l' -A
interruttore, aggiungi la regola alla catena INPUT
. Se ci sono altre regole che stanno bloccando e / o interferendo con il raggiungimento di questa regola, non verrà mai eseguita. Quindi potresti voler spostarlo verso l'alto inserendo anziché aggiungendo, in questo modo:
-I INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT
Utilizzo della GUI
I firewall possono essere bestie complicate. Quindi potresti voler provare la TUI (le TUI sono le GUI per il terminale).
$ sudo system-config-firewall-tui
È quindi possibile scorrere le varie schermate impostando le iptables
regole.
Riferimenti