revisar puerto desinstalar deshabilitar dar configurar baja abrir centos port firewall

centos - puerto - iptables



Abra el puerto del cortafuegos en CentOS 7 (10)

CentOS (RHEL) 7, ha cambiado el firewall para usar 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 here para averiguar cuál crees que deberías usar. EL7 usa el public por defecto, así que eso es lo que usan mis ejemplos a continuación.

Puede verificar qué zona está usando con firewall-cmd --list-all y cambiarlo con firewall-cmd --set-default-zone=<zone> .

Entonces sabrá en qué zona se permite 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 ejecutando:

firewall-cmd --zone=<zone> --query-port=80/tcp

firewall-cmd --zone=<zone> --query-service=http

Según la documentation ,

Al realizar cambios en la configuración del firewall en el modo Permanente, su selección solo tendrá efecto cuando vuelva a cargar el firewall o se reinicie el sistema.

Puede volver a cargar la configuración del firewall con: firewall-cmd --reload .

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 iptables save comando de iptables save .

Alguien me dijo que la URL anterior no es válida para CentOS 7. y debo seguir this . Pero este artículo no me queda claro exactamente qué comando necesito ejecutar.

Tambien encontre

firewall-cmd --zone=public --add-port=2888/tcp

Pero esto no sobrevive a los reinicios.

Entonces, ¿cómo puedo abrir los puertos y hacer que sobrevivan a los reinicios?


Fedora, lo hizo vía iptables

sudo iptables -I INPUT -p tcp --dport 3030 -j ACCEPT sudo service iptables save

Parece funcionar


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:

echo ''-p tcp --dport 80 -m conntrack --cstate NEW -j ACCEPT'' > /etc/fwtree.d/filter/INPUT/80-allow.rule systemctl reload fwtree


La respuesta de ganeshragav es correcta, pero también es útil saber que puede usar:

firewall-cmd --permanent --zone=public --add-port=2888/tcp

pero si es un servicio conocido, puedes usar:

firewall-cmd --permanent --zone=public --add-service=http

y luego vuelva a cargar el firewall

firewall-cmd --reload

[Respuesta modificada para reflejar el comentario de Martin Peter, la respuesta original tenía --permanent al final de la línea de comando]


Las respuestas principales aquí funcionan, pero encontré algo más elegante en la respuesta de Michael Hampton a una pregunta relacionada. La opción "nuevo" (firewalld-0.3.9-11 +) --runtime-to-permanent para firewall-cmd permite crear reglas de tiempo de ejecución y probarlas antes de hacerlas permanentes:

$ firewall-cmd --zone=<zone> --add-port=2888/tcp <Test it out> $ firewall-cmd --runtime-to-permanent

O para revertir los cambios de solo ejecución:

$ firewall-cmd --reload

Véase también el comentario de Antony Nguyen . Al parecer, firewall-cmd --reload puede no funcionar correctamente en algunos casos donde se han eliminado las reglas. En ese caso, sugiere reiniciar el servicio firewalld:

$ systemctl restart firewalld


Para ver los puertos abiertos, use el siguiente comando.

firewall-cmd --list-ports Usamos lo siguiente para ver los servicios cuyos puertos están abiertos.

firewall-cmd --list-services Usamos lo siguiente para ver los servicios cuyos puertos están abiertos y ver los puertos abiertos

firewall-cmd - list-all Para agregar un servicio al firewall, usamos el siguiente comando, en cuyo caso el servicio usará cualquier puerto para abrir en el firewall.

firewall-cmd --add-services = ntp Para que este servicio se abra permanentemente, usamos el siguiente comando.

firewall-cmd -add-service = ntp --permanent Para agregar un puerto, use el siguiente comando

firewall-cmd --add-port = 132 / tcp --permanent


Para ver los puertos abiertos, use el siguiente comando.

firewall-cmd --list-ports

Usamos lo siguiente para ver los servicios cuyos puertos están abiertos.

firewall-cmd --list-services

Usamos lo siguiente para ver servicios cuyos puertos están abiertos y ver puertos abiertos

firewall-cmd --list-all

Para agregar un servicio al firewall, usamos el siguiente comando, en cuyo caso el servicio usará cualquier puerto para abrir en el firewall.

firewall-cmd --add-services=ntp

Para que este servicio esté abierto permanentemente usamos el siguiente comando.

firewall-cmd —add-service=ntp --permanent

Para agregar un puerto, use el siguiente comando

firewall-cmd --add-port=132/tcp --permanent

Para ejecutar el firewall se debe recargar usando el siguiente comando.

firewall-cmd --reload

Ya Ali


Si bien ganeshragav y Sotsir proporcionan Sotsir correctos y directamente aplicables, es útil tener en cuenta que puede agregar sus propios servicios a /etc/firewalld/services . Para inspirarse, consulte /usr/lib/firewalld/services/ , donde 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, tal como lo describió en el archivo de servicio. Además, ahora puede aplicarlo a cualquier zona sin el 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, puede crear /etc/firewalld/services/foobar.xml :

<?xml version="1.0" encoding="utf-8"?> <service> <short>FooBar</short> <description> This option allows you to create FooBar connections between your computer and mobile device. You need to have FooBar installed on both sides for this option to be useful. </description> <port protocol="tcp" port="2888"/> <port protocol="tcp" port="3888"/> </service>

(Para obtener información sobre la sintaxis, ejecute man firewalld.service ).

Una vez que se crea este archivo, puede firewall-cmd --reload para que esté disponible y luego agregarlo permanentemente a alguna zona con

firewall-cmd --permanent --zone=<zone> --add-service=foobar

seguido de firewall-cmd --reload para firewall-cmd --reload de inmediato.


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

yum instalar epel-release

paso 2 => instalar el servicio de iptables

yum install iptables-services

paso 3 => detener el servicio firewalld

systemctl stop firewalld

paso 4 => deshabilitar el servicio firewalld en el inicio

systemctl desactivar firewalld

paso 5 => iniciar el servicio de iptables

systemctl start iptables

paso 6 => habilitar iptables en el inicio

systemctl habilitar iptables

finalmente, ahora puede editar la configuración de iptables en / etc / sysconfig / iptables.

Entonces -> editar regla -> recargar / reiniciar.

haz como centos más viejos con la misma función que firewalld.


Use este comando para encontrar su (s) zona (s) activa (s):

firewall-cmd --get-active-zones

Se dirá ya sea público, dmz, o algo más. Solo debes aplicar a las zonas requeridas.

En el caso de prueba pública:

firewall-cmd --zone=public --add-port=2888/tcp --permanent

Luego recuerde volver a cargar el firewall para que los cambios surtan efecto.

firewall-cmd --reload

De lo contrario, sustituya public por su zona, por ejemplo, si su zona es dmz:

firewall-cmd --zone=dmz --add-port=2888/tcp --permanent