Descripción general
firewalld es un demonio que controla el tráfico de red del sistema, permitiendo aplicar diferentes niveles de seguridad según las interfaces de red o las direcciones IP de origen a través de zonas (zones) predefinidas. Ofrece una interfaz más amigable en lugar de manejar directamente las complejas reglas de iptables.
Características principales
- Gestión dinámica de reglas: Permite cambiar reglas sin reiniciar el servicio
- Basado en zonas: Aplica diferentes políticas de seguridad según la interfaz de red o la fuente
- Gestión de servicios y puertos: Facilita la apertura/bloqueo de servicios específicos (SSH, HTTP, etc.) o puertos
- Reglas enriquecidas (Rich Rules): Permite configurar reglas basadas en condiciones complejas
- Soporte para IPv4 e IPv6
Opciones principales
Estas son las opciones utilizadas al ejecutar el demonio firewalld en sí. La mayoría de la administración de reglas de firewall se realiza a través del comando firewall-cmd.
Opciones de ejecución del demonio
Comando generado:
Combina los comandos.
Descripción:
`firewalld` Ejecutando el comando.
Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.
Ejemplos de uso
El servicio firewalld se gestiona principalmente a través del comando systemctl. La configuración de reglas de firewall se realiza con el comando firewall-cmd.
Iniciar el servicio firewalld
sudo systemctl start firewalld
Inicia el demonio firewalld.
Habilitar el servicio firewalld (inicio automático al arrancar)
sudo systemctl enable firewalld
Configura firewalld para que se inicie automáticamente al arrancar el sistema.
Verificar el estado del servicio firewalld
sudo systemctl status firewalld
Comprueba el estado actual del servicio firewalld.
Reiniciar el servicio firewalld
sudo systemctl restart firewalld
Reinicia el servicio firewalld.
Recargar la configuración de firewalld (después de cambiar reglas)
sudo firewall-cmd --reload
Recarga las reglas del firewall para aplicarlas sin detener el servicio.
Instalación
firewalld está incluido por defecto en muchas distribuciones Linux de la familia Red Hat, como CentOS, Fedora y RHEL. En las familias Debian/Ubuntu, puede que necesites instalarlo manualmente.
CentOS/Fedora/RHEL
sudo dnf install firewalld
Instala firewalld usando dnf (o yum).
Debian/Ubuntu
sudo apt install firewalld
Instala firewalld usando apt.
Consejos y precauciones
Consejos y precauciones para usar firewalld de manera efectiva.
Uso de firewall-cmd
Toda la configuración y administración de reglas de firewall de firewalld se realiza a través del comando 'firewall-cmd'. Por ejemplo, para abrir puertos, añadir servicios o configurar zonas, debes usar firewall-cmd.
- Ver zonas activas actuales: `firewall-cmd --get-active-zones`
- Abrir un puerto específico (ej: HTTP 80/tcp): `sudo firewall-cmd --zone=public --add-port=80/tcp --permanent`
- Aplicar cambios: `sudo firewall-cmd --reload`
Aplicación de reglas permanentes
Al añadir reglas con firewall-cmd, debes usar la opción `--permanent` para que las reglas se mantengan después de reiniciar el sistema. Después de usar la opción `--permanent`, siempre debes ejecutar `firewall-cmd --reload` para aplicar los cambios.
Comprensión de las zonas predeterminadas
firewalld utiliza la zona 'public' por defecto, pero ofrece varias zonas como 'home', 'work', 'internal', 'external', 'trusted', 'drop', 'block', etc. Cada zona tiene un nivel de seguridad diferente.
Relación con iptables
firewalld utiliza iptables (o nftables) internamente, pero proporciona una interfaz más abstracta que el uso directo del comando iptables. En sistemas que usan firewalld, es recomendable evitar la manipulación directa de comandos iptables.