Busqueda sobre Linux y software libre

Noticias sobre linux y software libre - Google 

Cómo instalar y configurar FirewallD en linux

 Le preguntamos a Gemini, la inteligencia artificial de Google cómo instalar y configurar FirewallD en linux

Explicanos detalladamente cómo instalar y configurar FirewallD en linux

Instalar y configurar FirewallD en Linux es el método estándar para gestionar el firewall netfilter del kernel en distribuciones basadas en Red Hat (como Fedora, CentOS y RHEL), aunque también se puede usar en Debian/Ubuntu. FirewallD es dinámico, lo que significa que puedes aplicar cambios sin reiniciar el servicio.

Aquí te explicamos detalladamente cómo instalar y configurarlo.

1. Instalación de FirewallD 🛡️

FirewallD viene preinstalado en la mayoría de las distribuciones modernas basadas en Red Hat. Si no lo está, o si usas otra distribución, el proceso es el siguiente:

En Distribuciones Basadas en Fedora/CentOS/RHEL:Bash# Instalar FirewallD

sudo dnf install firewalld -y

# Opcional: Instalar la herramienta gráfica (firewall-config)

sudo dnf install firewall-config -y

En Distribuciones Basadas en Debian/Ubuntu:

Aunque UFW es el predeterminado, puedes instalar y usar FirewallD:

Bash# Instalar FirewallD

sudo apt update

sudo apt install firewalld -y


# Detener y deshabilitar UFW para evitar conflictos

sudo ufw disable

2. Gestión del Servicio (systemd)

Después de la instalación, debes asegurarte de que FirewallD esté activo e iniciado.

Iniciar el Servicio:

Bash


sudo systemctl start firewalld

Habilitar al Inicio:

Bash


sudo systemctl enable firewalld

Verificar el Estado:

Bash


sudo systemctl status firewalld

El resultado debe mostrar Active: active (running).

3. Conceptos Clave de Configuración: Zonas

FirewallD utiliza el concepto de Zonas para definir niveles de confianza para diferentes ubicaciones y situaciones. Cada interfaz de red (eth0, wlan0) debe estar asignada a una zona.

ZonaNivel de ConfianzaUso Común
publicNo confiable.Conexión a Internet externa, solo se permiten servicios explícitos.
homeBaja confianza.Red doméstica, confía en otros equipos.
internalMediana confianza.Red interna de una oficina.
trustedTotalmente confiable.Bloquea casi todo el tráfico.
dropMáxima restricción.Bloquea todo el tráfico entrante sin respuesta, solo tráfico saliente.

A. Verificar el Estado y Zonas Actuales

Bash


# Ver el estado general y la zona predeterminada

sudo firewall-cmd --get-default-zone

# Ver qué zona está asignada a cada interfaz

sudo firewall-cmd --get-active-zones

B. Cambiar la Zona de una Interfaz

Generalmente, las interfaces externas se asignan a public y las internas a home o internal.

Bash

# Ejemplo: Asignar la interfaz eth0 a la zona 'public'

sudo firewall-cmd --zone=public --change-interface=eth0 --permanent

# Aplicar los cambios

sudo firewall-cmd --reload

4. Configuración del Firewall: Servicios y Puertos

La configuración se realiza siempre especificando la Zona y utilizando la opción --permanent para que el cambio persista después de un reinicio.

A. Abrir Servicios Predefinidos

FirewallD conoce los puertos estándar para muchos servicios (SSH, HTTP, HTTPS, etc.).

Bash

# Ver la lista de servicios predefinidos disponibles

sudo firewall-cmd --get-services

# Abrir el servicio SSH en la zona pública (acceso remoto)

sudo firewall-cmd --zone=public --add-service=ssh --permanent

# Abrir el servicio HTTP (servidor web)

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

# Aplicar los cambios

sudo firewall-cmd --reload

B. Abrir Puertos Específicos

Si un servicio usa un puerto no estándar (ej., 8080) o no está en la lista predefinida.

Bash


# Abrir el puerto TCP 8080 en la zona pública

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent

# Abrir el puerto UDP 12345

sudo firewall-cmd --zone=public --add-port=12345/udp --permanent

# Aplicar los cambios

sudo firewall-cmd --reload

C. Bloquear y Eliminar Reglas

Para cerrar un puerto o servicio que ya no necesitas, utiliza --remove-service o --remove-port.

Bash

# Cerrar el puerto 8080

sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent

# Aplicar los cambios

sudo firewall-cmd --reload

5. Verificación Final de las Reglas

Siempre verifica las reglas para asegurarte de que tu configuración se haya aplicado correctamente.

Bash

# Ver todas las reglas activas para la zona 'public'

sudo firewall-cmd --list-all --zone=public

La salida mostrará la interfaz, los servicios (services), los puertos (ports), y otras reglas configuradas para esa zona. Con esta configuración, tu sistema Linux estará protegido y solo permitirá el tráfico explícitamente autorizado.

Cómo solucionar problemas de conectividad en un equipo Linux cuando sospechas que el firewall UFW/Gufw podría estar bloqueando el tráfico?

 Le pedimos a Gemini, la inteligencia artificial de Google que nos explique cómo solucionar problemas de conectividad en un equipo Linux cuando sospechas que el firewall UFW/Gufw podría estar bloqueando el tráfico?

Explicanos detalladamente cómo solucionar problemas de conectividad en un equipo Linux cuando sospechas que el firewall UFW/Gufw podría estar bloqueando el tráfico?

El firewall UFW (Uncomplicated Firewall), administrado por la interfaz gráfica Gufw, es la causa más común de problemas de conectividad en Linux cuando los servicios no están correctamente accesibles.

La clave para la solución de problemas es deshabilitar temporalmente el firewall para confirmar el diagnóstico y, luego, usar la línea de comandos para verificar las reglas de bloqueo.

Aquí te explicamos detalladamente cómo solucionar problemas de conectividad cuando sospechas que UFW/Gufw es el culpable.

Si sospechas que UFW (Uncomplicated Firewall) o su interfaz gráfica Gufw están bloqueando el tráfico en tu equipo Linux, la solución se centra en la verificación, desactivación temporal, y análisis detallado de las reglas de UFW.

Aquí te explicamos detalladamente cómo solucionar estos problemas de conectividad.  

1. Diagnóstico Inicial: ¿Es Realmente el Firewall?

El primer paso es confirmar si UFW es el problema, o si es un fallo de red o de la aplicación.

Verificar el Estado de UFW: Abre una terminal y verifica el estado de UFW.

Bash


sudo ufw status

Si el resultado es Status: inactive, el firewall no es la causa del problema.

Si el resultado es Status: active, procede al paso 2.

Prueba de Desactivación (Temporal): Si UFW está activo, desactívalo temporalmente para ver si la conectividad se restablece.

Bash

# Desactiva UFW (¡tu sistema queda vulnerable momentáneamente!)

sudo ufw disable

Si la conexión funciona ahora: El problema está definitivamente en una regla de UFW.

Si la conexión sigue fallando: El problema es la red, la configuración del servicio o el ISP, no el firewall.

Importante: Después de la prueba, vuelve a habilitar UFW (sudo ufw enable).

1. Diagnóstico Inicial y Verificación del Estado

Lo primero es confirmar que UFW esté activo y cuál es su política de tráfico.

A. Verificar el Estado del Firewall

Abre la terminal y usa el comando status verbose para ver el estado actual de UFW y sus reglas.

Bash

sudo ufw status verbose

Estado Activo: Si el resultado muestra Status: active, el firewall está funcionando y aplicando reglas.

Políticas Predeterminadas: Revisa las líneas que dicen Default:.

Si ves Default: deny (incoming), la política es segura (bloquea todo lo que entra).

Si ves Default: allow (incoming), la política es permisiva (probablemente el problema no es el firewall, sino otra cosa).

B. Verificar si el Servicio Está Escuchando

Asegúrate de que la aplicación que esperas que funcione (ej., un servidor web, SSH) esté realmente iniciada y escuchando en el puerto.

Bash

sudo ss -tulpn | grep [Puerto]

Reemplaza [Puerto] con el número de puerto que estás intentando usar (ej., 22 para SSH, 80 para web). Si no ves el proceso listado, el problema es la aplicación, no el firewall.  

2. Solución de Problemas de Tráfico Entrante (Servidores)

Si la prueba anterior confirmó que UFW es el problema, el fallo suele ser una regla de tráfico entrante (incoming) mal configurada.

A. Verificar la Regla de Acceso (Allow)

Listar las Reglas Detalladamente: Muestra todas las reglas numeradas para identificar la regla de bloqueo o permiso.

Bash

sudo ufw status numbered

Busca la regla de ALLOW para el servicio que falla (ej., puerto 22 para SSH, 80 para HTTP).

Comprobar Parámetros de la Regla: Asegúrate de que la regla de ALLOW tenga los siguientes parámetros correctos:

Puerto: Debe coincidir con el puerto que la aplicación está realmente usando (ej., 8080).

Protocolo: Debe ser TCP, UDP o Any (si no estás seguro).

Origen (From): Si la regla tiene una IP o subred específica (ej., from 192.168.1.50), solo esa IP podrá conectar. Si necesitas acceso desde cualquier lugar, el origen debe ser Anywhere.

Corregir o Añadir la Regla Faltante: Si la regla es incorrecta o falta, añádela a través de la terminal (o Gufw):

Bash

# Ejemplo: Permitir tráfico TCP al puerto 8080 desde cualquier origen

sudo ufw allow proto tcp to any port 8080

B. Verificar la Política Predeterminada

Si no hay reglas de ALLOW para tu puerto y la política predeterminada es DENY, todo estará bloqueado.

Revisar la Política:

Bash

sudo ufw status verbose

Busca la línea Default:.

Si dice deny (incoming), todo el tráfico entrante está bloqueado por defecto. Esto es correcto y seguro.

Si dice allow (incoming), el firewall está abierto y el problema es otro (o tienes un problema de seguridad).

2. Solución Rápida: Desactivación Temporal

Si necesitas confirmar inmediatamente si UFW es la causa, desactívalo temporalmente.

A. Desactivar UFW

Bash


sudo ufw disable

Advertencia: Esto deja tu sistema sin protección. Úsalo solo para diagnóstico.

B. Probar la Conectividad

Intenta acceder al servicio o conexión que fallaba.

Si la conexión funciona ahora, UFW era el culpable. Vuelve a habilitarlo inmediatamente (sudo ufw enable) y procede a la Sección 3.

Si la conexión sigue fallando, el problema es de red (cableado, router, DHCP) o de configuración de la aplicación, no de UFW.  

3. Solución de Problemas de Tráfico Saliente (Clientes)

Si tu equipo Linux no puede iniciar conexiones (ej., no puedes navegar por sitios web o descargar correos), el problema es el tráfico saliente.

Diagnóstico y Solución

Verificar la Política Saliente: Revisa la línea Default: después de ejecutar sudo ufw status verbose.

Si dice deny (outgoing), UFW está bloqueando todas las conexiones que tu sistema intenta iniciar. Esto es demasiado restrictivo para un escritorio o laptop.

Restablecer la Política Saliente: Cambia la política predeterminada de salida a ALLOW (permitir).

Bash

# Permite todas las conexiones iniciadas desde tu equipo

sudo ufw default allow outgoing

Esto debería solucionar inmediatamente la incapacidad de navegar o iniciar conexiones.

3. Solución Detallada: Análisis y Corrección de Reglas

Si UFW es el problema, debes analizar y corregir la regla que está bloqueando el tráfico.

A. Analizar las Reglas Activas

En la salida de sudo ufw status verbose, busca una regla que podría estar bloqueando el tráfico.

Bloqueo de Tráfico Entrante: Si un servicio específico (ej., SSH) está fallando, busca una regla DENY que esté por encima o sea más específica que una regla ALLOW. Las reglas se procesan en orden de más específica a más general.

Bloqueo por IP: Verifica si has añadido reglas que bloquean una dirección IP o subred específica que necesitas.

B. Añadir o Corregir la Regla de Allow

Si confirmas que falta o está mal una regla, añádela o corrígela usando Gufw o la terminal.

1. Corregir una Regla Específica (Entrante)

Para permitir el acceso a un puerto específico (ej., el puerto 8080 para un servidor web):

Bash

# Sintaxis: sudo ufw allow from [IP_Origen] to any port [Puerto] proto [Protocolo]

sudo ufw allow 8080/tcp

Recomendado: Si conoces la IP de la red o máquina que debe conectarse, haz la regla más específica:

Bash

sudo ufw allow from 192.168.1.0/24 to any port 8080 proto tcp

2. Corregir Bloqueo de Tráfico Saliente

Si la política de salida (Outgoing) está configurada en deny (política muy rara en un escritorio), debes permitir explícitamente el tráfico saliente:

Bash

# Permite todas las conexiones salientes (la política estándar)

sudo ufw default allow outgoing

C. Analizar el Registro (Logging) de UFW

Si no puedes identificar la regla, activa el registro para ver qué tráfico se está bloqueando en tiempo real.

Activar el Registro:

Bash


sudo ufw logging on

En Gufw, puedes activar el registro en la pestaña "Logging" (Registro).

Monitorear el Registro:

Bash


sudo tail -f /var/log/syslog | grep UFW

Mientras el tráfico falla, busca una línea que contenga UFW BLOCK que coincida con la dirección IP y el puerto de tu conexión. Esto te indicará exactamente qué regla está siendo violada.  

4. Uso de Logs (Registro) para el Diagnóstico

Si el problema es intermitente o no puedes identificar la regla, el registro de UFW te dirá qué está bloqueando exactamente.

Habilitar el Registro: Habilita el registro de UFW con un nivel bajo (o usa la pestaña Logging (Registro) en Gufw):

Bash

sudo ufw logging on

Monitorear los Logs: Monitorea el archivo de registro del sistema y busca mensajes que contengan UFW mientras intentas conectarte al servicio problemático.

Bash

sudo tail -f /var/log/syslog | grep UFW

Busca líneas que muestren UFW BLOCK seguido de la IP de origen y el puerto de destino. Esto te indicará con precisión qué regla está activando el bloqueo.

Deshabilitar el Registro: Una vez finalizado el diagnóstico, se recomienda deshabilitar el registro para ahorrar espacio en disco.

Bash

sudo ufw logging off

4. Solución Drástica: Resetear el Firewall

Si has acumulado demasiadas reglas confusas y el problema es irresoluble, restablece UFW a su estado inicial.

A. Restablecer UFW

Bash


sudo ufw reset

ADVERTENCIA: Este comando eliminará TODAS las reglas personalizadas y establecerá las políticas predeterminadas como DENY (Entrante) y DENY (Saliente).

Después del reset, debes volver a habilitar las reglas de Allow para servicios esenciales (como SSH en el puerto 22) antes de reanudar el trabajo normal.

B. Habilitar de Nuevo (Con Reglas Mínimas)

Bash


# Política predeterminada: Denegar todo lo entrante

sudo ufw default deny incoming

# Habilitar servicio esencial (ej., SSH)

sudo ufw allow ssh

# Habilitar el firewall

sudo ufw enable
 
5. El Último Recurso: Reinicio Completo (Reset)

Si las reglas se han vuelto demasiado complejas o corruptas, puedes restablecer UFW por completo y empezar desde cero.

Deshabilitar UFW:

Bash


sudo ufw disable

Restablecer:

Bash


# ¡ADVERTENCIA! Esto borra TODAS las reglas personalizadas.

sudo ufw reset

Volver a Habilitar:

Bash


sudo ufw enable

Después del restablecimiento, el tráfico entrante será DENY y el tráfico saliente será ALLOW. Deberás volver a añadir las reglas de ALLOW para cualquier servicio interno (ej., SSH).

Cómo solucionar problemas de Gufw en linux

Le preguntamos a Gemini, la inteligfencia artificial de Google cómo solucionar problemas de Gufw en linux

Explicanos detalladamente cómo solucionar problemas de Gufw en linux

Solucionar problemas con Gufw en Linux generalmente se reduce a diagnosticar el comportamiento de UFW (Uncomplicated Firewall), la herramienta de línea de comandos que Gufw administra. Los fallos más comunes son el bloqueo de tráfico deseado o, a veces, la inactividad.

Aquí te explicamos detalladamente cómo diagnosticar y solucionar los problemas más frecuentes de Gufw/UFW.

1. Diagnóstico Básico y Estado del Firewall

Antes de modificar cualquier regla, debes confirmar si UFW está activo y si las políticas predeterminadas son las correctas.

A. Verificar el Estado Actual

Siempre usa la terminal para el diagnóstico, ya que es más confiable que la interfaz gráfica para ver el estado real.

Bash

sudo ufw status verbose

Estado Inactivo: Si el resultado es Status: inactive, el firewall no está ejecutándose.

Solución: Habilítalo usando la terminal (sudo ufw enable) o el interruptor Status (Estado) en la interfaz de Gufw.

Políticas Predeterminadas: Revisa las líneas:

Default: deny (incoming), allow (outgoing), disabled (routed)

Si ves allow (incoming), tu sistema está vulnerable. Esto debe ser deny en la mayoría de los casos para un escritorio o laptop.

B. Fallo al Iniciar Gufw (GUI)

Diagnóstico: Gufw no se abre o se congela.

Causa: A veces, las dependencias están rotas o la instalación inicial de UFW falló.

Solución: Intenta reinstalar UFW y Gufw.

Bash

sudo apt remove gufw ufw

sudo apt install gufw ufw -y v sudo ufw enable


2. Problemas de Bloqueo de Tráfico (El Firewall es Demasiado Restrictivo)

Este es el problema más común: has configurado una regla, pero la conexión sigue sin funcionar.

A. El Tráfico de Entrada Deseado Está Bloqueado

Si no puedes acceder a un servicio que alojas (ej., servidor SSH en el puerto 22, servidor web en el 8080).

Diagnóstico: Abre la interfaz Gufw y ve a la pestaña Rules (Reglas). Revisa la regla de Allow para tu servicio.

Comprueba el Puerto: ¿Ingresaste 8080 o 808? Los errores tipográficos son frecuentes.

Comprueba el Protocolo: ¿El servicio usa TCP o UDP? Si no estás seguro, selecciona Both (Ambos), aunque es menos seguro.

Comprueba la Dirección: La regla debe ser In (Entrante).

Solución:

Elimina la regla incorrecta en Gufw.

Crea una nueva regla usando la opción Advanced (Avanzado) para especificar con precisión el puerto y el protocolo.

Asegúrate de que la aplicación que proporciona el servicio (ej., Nginx, Apache) esté realmente escuchando en ese puerto. Puedes verificarlo con sudo ss -tulpn | grep [Puerto].

B. El Tráfico de Salida Deseado Está Bloqueado

Si el tráfico saliente está configurado como deny (outgoing) por defecto, la mayoría de las aplicaciones fallarán al conectarse a Internet.

Diagnóstico: La mayoría de las conexiones fallan, pero UFW está activo.

Solución:

Cambia la Política Predeterminada: En la interfaz de Gufw, ve a la configuración y cambia Outgoing (Saliente) a Allow (Permitir). Esta es la configuración estándar para sistemas de escritorio.

Añade una Regla Específica: Si quieres mantener la política de salida como deny por seguridad, debes añadir reglas específicas de Allow para cada aplicación que necesite acceder a Internet (ej., puerto 80/443 para navegadores).

3. Problemas de Seguridad (El Firewall es Demasiado Permisivo)

Si sospechas que el tráfico no deseado está entrando, necesitas endurecer las políticas.

A. El Tráfico Entrante Indeseado Está Permitido

Diagnóstico: Tienes un allow predeterminado para el tráfico entrante o una regla de allow demasiado amplia.

Causa:

Default: allow (incoming) (El error de configuración más grave).

Una regla de Allow sin restricciones de puerto o IP.

Una regla de Allow para un servicio que no usas (ej., permitiste FTP pero no lo necesitas).

Solución:

Corrige la Política Predeterminada: En Gufw, configura Incoming (Entrante) a Deny (Denegar).

Elimina Reglas Amplias: Revisa la lista de reglas y elimina o restringe cualquier regla que tenga un puerto o protocolo abierto sin necesidad.

B. Gufw Muestra Reglas Obsoletas

Diagnóstico: Eliminas una regla en Gufw, pero sigue apareciendo en la terminal (sudo ufw status verbose).

Causa: Conflicto de caché o un error en la interfaz.

Solución: Reinicia UFW desde la terminal para forzar la recarga de las reglas desde los archivos de configuración:

Bash

sudo ufw reload

4. Soluciones Avanzadas y Reseteo

Si el firewall está totalmente inestable o no puedes deshacer los cambios, la mejor opción es resetearlo.

A. Restablecer el Firewall Completamente

Esto elimina todas las reglas personalizadas y restaura las políticas predeterminadas a sus valores iniciales (todo a deny).

Deshabilitar UFW

Bash

sudo ufw disable

Restablecer las Reglas:

Bash

sudo ufw reset

Esto te pedirá confirmación, ya que eliminará permanentemente todas las reglas que creaste.

Habilitar de Nuevo (con Deny):

Bash

sudo ufw enable

Una vez hecho esto, tu política predeterminada de entrada será deny. Tendrás que reconfigurar las reglas de Allow para los servicios necesarios (como SSH).

B. Usar el Sistema de Registro (Logging)

Si no sabes qué está bloqueando el tráfico, el registro de UFW te lo dirá.

Habilitar Registro (en Gufw): Ve a la pestaña Logging (Registro) y selecciona un nivel (ej., Low).

Verificar el Archivo de Registro: En la terminal, revisa los mensajes del firewall.

Bash

sudo tail -f /var/log/syslog | grep UFW

Busca líneas que contengan UFW BLOCK o UFW ALLOW para ver exactamente qué tráfico está siendo filtrado y por qué. Esto es invaluable para diagnosticar problemas de conectividad intermitente.

Ads by CJ - Linux Foundation

Share This