Búsqueda de sitios web

Cómo abrir un puerto para una dirección IP específica en Firewalld


¿Cómo puedo permitir el tráfico desde una dirección IP específica en mi red privada o permitir el tráfico desde una red privada específica a través de firewalld, hacia un puerto o servicio específico en un Red Hat Enterprise Linux ? (RHEL) o servidor CentOS?

En este breve artículo, aprenderá cómo abrir un puerto para una dirección IP o rango de red específico en su servidor RHEL o CentOS que ejecuta un firewall firewalld.

La forma más adecuada de solucionar esto es utilizando una zona firewalld. Por lo tanto, debe crear una nueva zona que contendrá las nuevas configuraciones (o puede usar cualquiera de las zonas seguras predeterminadas disponibles).

Abrir puerto para una dirección IP específica en Firewalld

Primero cree un nombre de zona apropiado (en nuestro caso, hemos usado mariadb-access para permitir el acceso al servidor de base de datos MySQL).

firewall-cmd --new-zone=mariadb-access --permanent

A continuación, vuelva a cargar la configuración del firewalld para aplicar el nuevo cambio. Si omite este paso, es posible que obtenga un error cuando intente utilizar el nuevo nombre de zona. Esta vez, la nueva zona debería aparecer en la lista de zonas como se resalta en la siguiente captura de pantalla.

firewall-cmd --reload
firewall-cmd --get-zones

A continuación, agregue la dirección IP de origen (10.24.96.5/20) y el puerto (3306) que desea abrir en el servidor local como se muestra. Luego vuelva a cargar la configuración del firewall para aplicar los nuevos cambios.

firewall-cmd --zone=mariadb-access --add-source=10.24.96.5/20 --permanent
firewall-cmd --zone=mariadb-access --add-port=3306/tcp  --permanent
firewall-cmd --reload

Alternativamente, puede permitir el tráfico de toda la red (10.24.96.0/20) a un servicio o puerto.

firewall-cmd --zone=mariadb-access --add-source=10.24.96.0/20 --permanent
firewall-cmd --zone=mariadb-access --add-port=3306/tcp --permanent
firewall-cmd --reload

Para confirmar que la nueva zona tiene la configuración requerida como se agregó anteriormente, verifique sus detalles con el siguiente comando.

firewall-cmd --zone=mariadb-access --list-all 

Eliminar puerto y zona del firewall

Puede eliminar la dirección IP o la red de origen como se muestra.

firewall-cmd --zone=mariadb-access --remove-source=10.24.96.5/20 --permanent
firewall-cmd --reload

Para eliminar el puerto de la zona, ejecute el siguiente comando y vuelva a cargar la configuración del firewall:

firewall-cmd --zone=mariadb-access --remove-port=3306/tcp --permanent
firewall-cmd --reload

Para eliminar la zona, ejecute el siguiente comando y vuelva a cargar la configuración del firewalld:

firewall-cmd --permanent --delete-zone=mariadb-access
firewall-cmd --reload

Por último, pero no en la lista, también puede utilizar reglas ricas en firewall. Aquí hay un ejemplo:

firewall-cmd --permanent –zone=mariadb-access --add-rich-rule='rule family="ipv4" source address="10.24.96.5/20" port protocol="tcp" port="3306" accept'

¡Eso es todo! Esperamos que las soluciones anteriores hayan funcionado para usted. En caso afirmativo, háganoslo saber a través del formulario de comentarios a continuación. También puedes hacer preguntas o compartir comentarios generales sobre este tema.