En lugar de introducir las reglas manualmente, puede usarlas iptables
para agregar las reglas a las cadenas apropiadas y luego guardarlas. Esto le permitirá depurar las reglas en vivo, confirmando que son correctas, en lugar de tener que agregarlas al archivo como parece estar haciendo.
Para abrir el puerto 80 hago esto:
$ sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo /etc/init.d/iptables save
El último comando guardará las reglas agregadas. Esta es la regla que usaría para abrir el puerto para el tráfico web.
Por qué su regla está causando problemas
Si notas la regla que estás intentando usar:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Tiene una cadena llamada "RH-Firewall-1-INPUT". Si no tiene esta cadena, o un enlace de la INPUT
cadena a esta cadena, entonces esta regla nunca será accesible. Esta regla probablemente podría ser así:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
O su INPUT
cadena debería vincularse a esta cadena RH-Firewall-1-INPUT
con una regla como esta:
$ 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: Puede ver qué cadenas tiene con este comando:
$ sudo iptables -L| grep Chain
Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
...
También es posible que sea necesario modificar los estados para que también se permitan las conexiones existentes.
-A INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT
Además, cuando usa el -A
interruptor, agrega la regla a la cadena INPUT
. Si hay otras reglas anteriores que bloquean y / o interfieren con el alcance de esta regla, nunca se ejecutará. Por lo tanto, es posible que desee moverlo a la parte superior insertando en lugar de agregar, de esta manera:
-I INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT
Usando la GUI
Los cortafuegos pueden ser bestias complicadas. Por lo tanto, es posible que desee probar la TUI (las TUI son GUI para el terminal).
$ sudo system-config-firewall-tui
Luego puede pasar por las distintas pantallas configurando iptables
reglas.
Referencias
/etc/sysconfig/iptables
y agregarlas. Las entradas originales deben estar en este archivo,/etc/sysconfig/iptables.save
.Recientemente instalé CentOS 6.5 como máquina virtual por la misma razón, para usarlo como servidor web virtual. De todos modos, seguí este tutorial muy detallado de la wiki de CentOS . Luego, según la respuesta de @slm, le agregué el puerto 80 y lo guardé usando
sudo /etc/init.d/iptables save
.iptables -L -v
tiene esta salida:fuente
Si desea editar la configuración de su firewall pero no está familiarizado
iptables
, le sugiero que use lasystem-config-firewall-tui
herramienta si no tiene un servidor X, o bien, use lasystem-config-firewall
herramienta GUI para ello.fuente