En CentOS 7, he estado probando diferentes reglas de firewalld y comandos de iptables, y ahora quiero hacerlo todo de nuevo, pero solo usando firewalld.
Pregunta
¿Cómo puedo restablecer todas las reglas a los valores predeterminados con los que se envía el firewall de CentOS 7?
Respuesta1
El siguiente fragmento de código puede resultarle útil.
for srv in $(firewall-cmd --list-services);do firewall-cmd --remove-service=$srv; done firewall-cmd --add-service={ssh,dhcpv6-client} firewall-cmd --runtime-to-permanent
Saludos,
Ahmer Mansoor
Respuesta2
Si realmente quieres eliminar todo como dice John Ashpool
rm -rf /etc/firewalld/zones
o /usr/etc/firewalld/zones dependiendo de su distribución
y
iptables -X
iptables -F
iptables -Z
más
systemctl restart firewalld
y luego tienes un nuevo conjunto de reglas y zonas;)
Respuesta3
Puede simplemente eliminar los archivos que contienen las reglas de zona personalizadas de /etc/firewalld/zones
(o /usr/etc/firewalld/zones
, según la distribución). Después de eso, vuelva a cargar firewalld
con firewall-cmd --complete-reload
y debería comenzar a usar la configuración predeterminada. Cuando realice cambios en las reglas de la zona, los archivos aparecerán nuevamente en ese directorio.
En cuanto a iptables
, puede restablecer todas las reglas con iptables -F
. El reinicio también funciona, a menos que hayas implementado algún tipo de persistencia. Tenga en cuenta que firewalld
puede configurarse para usarse iptables
como backend, lo que significa que él mismo agregará o eliminará iptables
reglas, de acuerdo con lo que haya especificado en sus reglas de zona.
Respuesta4
Cualquier valor predeterminado zones
que venga con la distribución, si se modifica, se copia al /etc/firewalld/zones
directorio con esas modificaciones.
Lo que también significa que la fuente de default
los archivos de zona no es este directorio y la reinstalación no conoce los archivos en este directorio ( /etc/firewalld/zones
), por lo que estos archivos se obtendrán untouched
mediante la reinstalación. A menos que se eliminen estos archivos, firewalld continúa cargando sus modificaciones desde este directorio.
Puede hacer una copia de seguridad y eliminar todos esos archivos (de forma segura) /etc/firewalld/zones
y reiniciar firewalld, que luego regresa a las configuraciones predeterminadas de la zona instalada de distribución.
Es seguro en cierto sentido que las configuraciones predeterminadas de la zona de distribución permiten SSH de forma predeterminada. Sin embargo, si inició sesión en este servidor a través de un puerto de SSH diferente al 22 o por cualquier otro medio que no sea SSH, entonces debe tener cuidado y eliminar todos esos archivos de
/etc/firewalld/zones
sudo cp -pR /etc/firewalld/zones /etc/firewalld/zones.bak
sudo rm -f /etc/firewalld/zones/*
sudo systemctl restart firewalld
En caso de que se modifiquen otros archivos de configuración, el propio firewalld se puede reinstalar; sin embargo, es necesario descargar el RPM del firewalld para reinstalarlo.
Instalar yum-downloadonly
complemento:
(RHEL5)
# yum install yum-downloadonly
(RHEL6, RHEL7)
# yum install yum-plugin-downloadonly
Antes de usar el complemento, verifique /etc/yum/pluginconf.d/downloadonly.conf
que este complemento seaenabled=1
# yum install --downloadonly --downloaddir=/tmp firewalld
# rpm -ivh --force /tmp/firewalld*.rpm
Por cierto,
yum reinstall firewalld
no reemplaza los archivos de configuración modificados.