Estoy usando CentOS 7 y tengo que asegurarme de que los puertos 2888 y 3888 estén abiertos.
Leí este artículo pero esto no funcionó porque en el sistema operativo CentOS 7 no hay ningún iptables save
comando.
Alguien me dijo que la URL anterior no es válida para CentOS 7. y debería seguir esto . Pero este artículo no me deja claro exactamente qué comando necesito ejecutar.
Yo tambien encontre
firewall-cmd --zone=public --add-port=2888/tcp
pero esto no sobrevive los reinicios.
Entonces, ¿cómo puedo abrir los puertos y hacer que sobreviva los reinicios?
Respuestas:
Use este comando para encontrar sus zonas activas:
Dirá public, dmz o algo más. Solo debe aplicar a las zonas requeridas.
En el caso de un intento público:
Luego recuerde volver a cargar el firewall para que los cambios surtan efecto.
De lo contrario, sustituya public por su zona, por ejemplo, si su zona es dmz:
fuente
--zone=dmz
a--zone=public
--permanent
hace, solo dicen que lo hagas. Ambas serían respuestas más completas y útiles si se explicara cómo funciona la respuesta. De uno de los recursos de OP: "Las reglas pueden hacerse permanentes agregando la opción --permanente [...]. Si las reglas no se hacen permanentes, entonces deben aplicarse cada vez que se recibe el mensaje de inicio, reinicio o recarga de firewalld usando D-BUS ".firewall-cmd --get-active-zones
para averiguar qué zona se utiliza en su sistema. Además, man firewall-cmd.The --permanent option needs to be the first option for all permanent calls
. No recibí ningún error al usar lo anterior, pero no estoy seguro de si esto puede causar problemas a otra persona.La respuesta de ganeshragav es correcta, pero también es útil saber que puede usar:
pero si es un servicio conocido, puede usar:
y luego vuelva a cargar el firewall
[Respuesta modificada para reflejar el comentario de Martin Peter, la respuesta original tenía
--permanent
al final de la línea de comando]fuente
--permanent
opción al final de la declaración. La documentación señala explícitamente que debería ser la primera opción.man firewall-cmd
no da tal indicación en mi máquina (Fedora 21).The --permanent option needs to be the first option for all permanent calls.
CentOS (RHEL) 7, ha cambiado el firewall para usarlo,
firewall-cmd
que tiene una noción de zonas, que es como una versión de Windows de redes públicas, domésticas y privadas. Debes mirar aquí para descubrir cuál crees que deberías usar. EL7 usapublic
por defecto, así que eso es lo que usan mis ejemplos a continuación.Puede verificar con qué zona está utilizando
firewall-cmd --list-all
y cambiarlafirewall-cmd --set-default-zone=<zone>
.Entonces sabrá en qué zona permitir un servicio (o puerto) en:
firewall-cmd --permanent --zone=<zone> --add-service=http
firewall-cmd --permanent --zone=<zone> --add-port=80/tcp
Puede verificar si el puerto se ha abierto realmente ejecutando:
firewall-cmd --zone=<zone> --query-port=80/tcp
firewall-cmd --zone=<zone> --query-service=http
De acuerdo con la documentación ,
Puede volver a cargar la configuración del cortafuegos con:
firewall-cmd --reload
.fuente
Fedora, lo hizo vía
iptables
Parece funcionar
fuente
Para ver los puertos abiertos, use el siguiente comando.
Usamos lo siguiente para ver servicios cuyos puertos están abiertos.
Usamos lo siguiente para ver servicios cuyos puertos están abiertos y ver puertos abiertos
Para agregar un servicio al firewall, usamos el siguiente comando, en cuyo caso el servicio usará cualquier puerto para abrir en el firewall.
Para que este servicio esté permanentemente abierto, utilizamos el siguiente comando.
Para agregar un puerto, use el siguiente comando
Para ejecutar el firewall se debe volver a cargar con el siguiente comando.
Ya Ali
fuente
Si bien ganeshragav y Sotsir proporcionan enfoques correctos y directamente aplicables, es útil tener en cuenta que puede agregar sus propios servicios
/etc/firewalld/services
. Para inspirarte, mira/usr/lib/firewalld/services/
dónde se encuentran los servicios predefinidos de Firewalld.La ventaja de este enfoque es que más adelante sabrá por qué estos puertos están abiertos, como lo describió en el archivo de servicio. Además, ahora puede aplicarlo a cualquier zona sin riesgo de errores tipográficos. Además, los cambios en el servicio no tendrán que aplicarse a todas las zonas por separado, sino solo al archivo de servicio.
Por ejemplo, puedes crear
/etc/firewalld/services/foobar.xml
:(Para obtener información sobre la sintaxis, haga
man firewalld.service
.)Una vez creado este archivo, puede
firewall-cmd --reload
hacer que esté disponible y luego agregarlo permanentemente a alguna zona conseguido con
firewall-cmd --reload
para activarlo de inmediato.fuente
Para ver los puertos abiertos, use el siguiente comando:
Usamos lo siguiente para ver servicios cuyos puertos están abiertos:
Usamos lo siguiente para ver servicios cuyos puertos están abiertos y ver puertos abiertos:
Para agregar un servicio al firewall, utilizamos el siguiente comando, en cuyo caso el servicio usará cualquier puerto para abrir en el firewall:
Para que este servicio esté permanentemente abierto, utilizamos el siguiente comando:
Para agregar un puerto, use el siguiente comando:
fuente
Las mejores respuestas aquí funcionan, pero encontré algo más elegante en la respuesta de Michael Hampton a una pregunta relacionada. La
--runtime-to-permanent
opción "nuevo" (firewalld-0.3.9-11 +) lefirewall-cmd
permite crear reglas de tiempo de ejecución y probarlas antes de hacerlas permanentes:O para revertir los cambios de tiempo de ejecución solamente:
Ver también el comentario de Antony Nguyen . Aparentemente, firewall-cmd --reload puede no funcionar correctamente en algunos casos donde se han eliminado las reglas. En ese caso, sugiere reiniciar el servicio firewalld:
fuente
Si tiene varios puertos para permitir en Centos 7 FIrewalld, entonces podemos usar el siguiente comando.
fuente
Si está familiarizado con el servicio de iptables como en centos 6 o anterior, aún puede usar el servicio de iptables mediante la instalación manual:
paso 1 => instalar epel repo
paso 2 => instalar el servicio de iptables
paso 3 => detener el servicio de firewalld
paso 4 => deshabilitar el servicio firewalld al inicio
paso 5 => iniciar el servicio de iptables
paso 6 => habilitar iptables en el inicio
Finalmente, ahora puede editar su configuración de iptables en / etc / sysconfig / iptables.
Entonces -> editar regla -> recargar / reiniciar.
me gustan los centos más antiguos con la misma función que firewalld.
fuente
Firewalld es un poco no intuitivo para el veterano de iptables. Para aquellos que prefieren un firewall controlado por iptables con una sintaxis similar a iptables en un árbol configurable fácil, intente reemplazar firewalld con fwtree: https://www.linuxglobal.com/fwtree-flexible-linux-tree-based-firewall/ y luego Haz lo siguiente:
fuente
Hola en Centos 7 firewall-cmd. Sí, correcto si usa firewall-cmd --zone = public --add-port = 2888 / tcp pero si vuelve a cargar firewal firewall-cmd --reload
su configuración no se guardará
necesitas agregar clave
firewall-cmd --permanent --zone = public --add-port = 2888 / tcp
fuente