Start typing to search across invoices, services, domains, tickets, and more...
Cuando un sitio web, una base de datos o una aplicación recién desplegados no son accesibles desde fuera, a menudo es el firewall el que bloquea el puerto. Esta guía cubre las dos herramientas más comunes para la configuración del firewall en Linux: firewalld, la opción predeterminada en CentOS, Rocky Linux y AlmaLinux, y ufw, muy utilizado en Ubuntu y Debian. Aprenderá a comprobar el estado, abrir puertos, restringir por IP de origen y eliminar reglas. Ejecute todos los comandos como root.
Use un solo gestor de firewall por servidor; ejecutar firewalld y ufw a la vez provoca reglas en conflicto. Compruebe cuál está activo: los sistemas de la familia RHEL suelen usar firewalld, Ubuntu usa ufw (a menudo deshabilitado por defecto) y algunas imágenes mínimas de Debian no tienen ninguno instalado.
systemctl is-active firewalld # CentOS / Rocky / AlmaLinux
ufw status # Debian / Ubuntu
firewalld organiza las reglas en zonas, y la interfaz de red principal normalmente está en la zona public. Después de instalarlo e iniciarlo, --list-all muestra los servicios y puertos permitidos; por defecto suele ser solo ssh.
# Instalar e iniciar firewalld (CentOS / Rocky / AlmaLinux)
dnf install -y firewalld
systemctl enable --now firewalld
firewall-cmd --state
firewall-cmd --get-active-zones
firewall-cmd --list-all
Puede permitir tráfico por nombre de servicio (http, https) o por número o rango de puertos. --permanent escribe la regla en la configuración permanente, que solo se aplica después de --reload; las reglas añadidas sin --permanent se aplican de inmediato, pero se pierden al reiniciar.
# Abrir por nombre de servicio
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
# Abrir por puerto / rango
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --permanent --add-port=10000-10100/udp
# Aplicar y verificar
firewall-cmd --reload
firewall-cmd --list-ports
firewall-cmd --list-services
Los puertos sensibles, como los de bases de datos y paneles de administración, no deberían estar abiertos a todo Internet. Use una rich rule para permitir solo una IP o subred concreta, y elimine con --remove-port los puertos que ya no necesite.
# Permitir MySQL 3306 solo desde una subred
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="198.51.100.0/24" port port="3306" protocol="tcp" accept'
# Eliminar un puerto
firewall-cmd --permanent --remove-port=8080/tcp
firewall-cmd --reload
ufw es el «uncomplicated firewall» de Ubuntu, con una sintaxis sencilla. Permita SSH antes que nada y luego establezca la política predeterminada de denegar el tráfico entrante y permitir el saliente. ufw enable advierte de que puede interrumpir las conexiones SSH; una vez permitido SSH, responda y.
# Debian / Ubuntu
apt update && apt install -y ufw
# Permita SSH PRIMERO (use su puerto personalizado si lo cambió)
ufw allow 22/tcp
ufw default deny incoming
ufw default allow outgoing
ufw enable
ufw status verbose
Use allow para abrir puertos; los rangos de puertos requieren indicar el protocolo. La palabra clave from limita la IP de origen. Para eliminar una regla, liste las reglas con su número y elimínela por número.
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 10000:10100/udp
ufw allow from 198.51.100.0/24 to any port 3306 proto tcp
# Eliminar una regla por número
ufw status numbered
ufw delete 3
Ejecute ss -tlnp para confirmar que la aplicación escucha en ese puerto y en 0.0.0.0 en lugar de 127.0.0.1. Después revise la configuración propia de la aplicación y cualquier política de seguridad a nivel de plataforma. Si sigue fallando, abra un ticket de soporte.
Técnicamente sí (systemctl stop firewalld o ufw disable), pero no se recomienda en un servidor público. Permita solo los puertos que necesite y deniegue todo lo demás.
Inicie sesión mediante la consola VNC y ejecute firewall-cmd --permanent --add-service=ssh && firewall-cmd --reload o ufw allow 22/tcp para volver a permitir SSH.
¿Sigue con problemas después de seguir estos pasos? Abra un ticket de soporte y el equipo técnico 24/7 de IMIDC le ayudará. Incluya la IP del servidor, el sistema operativo, los comandos que ejecutó y una captura de pantalla del error para que podamos localizar el problema más rápido.