Was ist der Unterschied zwischen firewall-cmd --reload
und systemctl restart firewalld
?
Antwort1
systemctl restart firewalld
wird den Prozess beenden und einen neuen starten.firewall-cmd --reload
Wille
Der Befehl „Neu laden“ löscht alle Laufzeitkonfigurationen und wendet eine permanente Konfiguration an.Quelle
Jede Konfiguration ohne das --permanent
Flag ist eine Laufzeitkonfiguration und
Änderungen an der Laufzeitkonfiguration bleiben beim Neustart oder beim Neustarten von FirewallD nicht erhalten, wohingegen permanente Änderungen nicht auf ein laufendes System angewendet werden.
Wie von @mircea-vutcovici angemerkt, führt das Neuladen der Firewall-Regeln mit Firewall-cmd nicht dazu, dass das System eine potentielle neue ausführbare Firewalld-Datei verwendet, wenn diese seit dem letzten Neustart des Daemons aktualisiert wurde. Abhängig von Ihrer Distribution kann dies jedoch vom Paketmanager durchgeführt worden sein, als das Paket aktualisiert wurde. DieDokumentationZustände:
Zum Neuladen
firewalld
können Sie entweder das Kommandozeilentool verwenden oder das Signal beispielsweise mitfirewall-cmd --reload
senden .SIGHUP
firewalld
killall -HUP firewalld
Der killall -HUP firewalld
Schritt wird ausgeführt, wenn ausgeführt wird systemctl reload firewalld
. Betrachtet man die grundlegendenDesignvon Firewalld ist es im Wesentlichen einFrontendzu iptables
oder ähnlichen Backends. Das Beenden des Firewalld-Prozesses sollte also keine Auswirkungen auf die eigentlichen Firewall-Regeln haben. Beide Methoden zum Neuladen der Firewalld-Regeln haben also den gleichen Effekt. Ich persönlich würde die systemd-Methode bevorzugen, um sicherzustellen, dass die aktuellste ausführbare Firewalld-Datei verwendet wird.