🛡️ Cómo Usar el Comando iptables
en Fedora 42 (y Solucionar el Error “orden no encontrada”)
Fedora 42 adopta por defecto nftables
como sistema de firewall moderno, reemplazando al tradicional iptables
. Sin embargo, muchos scripts, guías y configuraciones de red aún utilizan directamente comandos iptables
. Si al intentar ejecutar una regla como esta:
iptables -A INPUT -s 123.123.123.123 -j ACCEPT
te encuentras con el error:
bash: iptables: orden no encontrada
¡no estás solo! En este artículo veremos por qué ocurre esto, cómo solucionarlo y cómo asegurarte de que iptables
funcione correctamente en Fedora 42.
🔍 ¿Por qué no se encuentra iptables
?
Fedora 42 instala por defecto el paquete iptables-nft
, que es una versión de iptables
que utiliza nftables
internamente. Sin embargo, en algunos casos el binario real (/usr/sbin/iptables
) no se instala correctamente o no se encuentra en tu PATH.
Verificando el problema
Si ya tienes iptables-nft
instalado pero el comando no funciona:
sudo dnf install iptables-nft
Y aún obtienes:
bash: iptables: orden no encontrada
Puedes verificar si el binario existe con:
sudo find / -name iptables 2>/dev/null
Si no ves una ruta como /usr/sbin/iptables
, es claro que el binario no está presente.
✅ Solución Paso a Paso
1. Usar correctamente el entorno root
Si estás trabajando como superusuario, asegúrate de usar:
su -
y no simplemente su
, ya que su
no carga el entorno completo (incluyendo PATH).
2. Reinstalar el paquete iptables-nft
Para asegurarte de que todos los archivos estén correctamente instalados:
sudo dnf reinstall iptables-nft
Esto debería restaurar cualquier binario faltante como /usr/sbin/iptables
.
3. Instalar el paquete iptables
base
Si la reinstalación anterior no resuelve el problema, instala el paquete iptables
base:
sudo dnf install iptables
Este paquete incluye el comando clásico, pero en Fedora 42 se configura para usar nftables
por debajo, manteniendo compatibilidad con scripts antiguos.
4. Verifica la instalación
Una vez instalado correctamente, prueba:
which iptables
iptables --version
La salida debería ser algo como:
/usr/sbin/iptables
iptables v1.8.x (nf_tables)
Esto indica que estás usando la versión compatible con nftables
.
📦 ¿Y qué pasó con iptables-nft-services
?
En versiones anteriores de Fedora o en otras distribuciones, el paquete iptables-nft-services
podía estar disponible. En Fedora 42:
sudo dnf install iptables-nft-services
da como resultado:
No match for argument: iptables-nft-services
Esto es normal: el paquete ya no existe en los repositorios actuales de Fedora.
🧠 Consejo final: Considera usar firewalld
o nftables
directamente
Si estás empezando una nueva configuración de firewall y no dependes de scripts heredados, considera usar:
firewall-cmd
(interfaz defirewalld
)- o directamente
nft
(interfaz denftables
)
Son más modernos, fáciles de mantener y están mejor integrados en Fedora.
✅ Conclusión
Aunque iptables
no viene listo para usar en Fedora 42 como en versiones anteriores, aún puedes instalarlo fácilmente y hacerlo funcionar. Asegúrate de usar el entorno root correcto, reinstala los paquetes necesarios, y si lo prefieres, considera migrar a nftables
o firewalld
.
¿Tienes scripts que usas con iptables
o con nftables
?