Ich habe Änderungen an der iptables-Konfigurationsdatei /etc/iptables/filter
in Ubuntu vorgenommen und möchte sie neu laden. Ich habe die Manpage gelesen und auch gegoogelt, aber keine Informationen gefunden. Jede Hilfe wird geschätzt.
Ich habe Änderungen an der iptables-Konfigurationsdatei /etc/iptables/filter
in Ubuntu vorgenommen und möchte sie neu laden. Ich habe die Manpage gelesen und auch gegoogelt, aber keine Informationen gefunden. Jede Hilfe wird geschätzt.
Antworten:
Der einfachste Weg ist ein Neustart (auch wenn unten nicht funktioniert, starten Sie neu, prüfen Sie, ob die Änderung vorgenommen wurde).
Zweitens ist es am einfachsten, die Daemons mit iptables-Konfigurationen neu zu starten (google: restart daemon ubuntu).
Beispiele (abhängig von Ihrer Konfiguration):
/etc/init.d/iptables restart
/etc/init.d/networking restart
/etc/init.d/firewall restart
Normalerweise befinden sich Ihre Firewall-Regeln in der Konfigurationsdatei /etc/iptables.firewall.rules
Um die in Ihrer Datei definierten Regeln zu aktivieren, müssen Sie diese an senden iptables-restore
(Sie können eine andere Datei verwenden, wenn Sie möchten):
sudo iptables-restore < /etc/iptables.firewall.rules
Und Sie können überprüfen, ob sie aktiviert sind mit:
sudo iptables -L
Wenn Sie bei jedem Neustart des Computers dieselben Regeln aktivieren möchten, erstellen Sie diese Datei:
sudo nano /etc/network/if-pre-up.d/firewall
Mit diesem Inhalt:
#!/bin/sh
/sbin/iptables-restore < /etc/iptables.firewall.rules
Und gib ihm die Erlaubnis zur Hinrichtung:
sudo chmod +x /etc/network/if-pre-up.d/firewall
Hoffe es hilft dir =)
Beispieldatei für /etc/iptables.firewall.rules
:
*filter
# Allow all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 -j REJECT
# Accept all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow all outbound traffic - you can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT
# Allow HTTP and HTTPS connections from anywhere (the normal ports for websites and SSL).
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
# Allow SSH connections
#
# The -dport number should be the same port number you set in sshd_config
#
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT
# Allow ping
-A INPUT -p icmp -j ACCEPT
# Log iptables denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
# Drop all other inbound - default deny unless explicitly allowed policy
-A INPUT -j DROP
-A FORWARD -j DROP
COMMIT
/etc/iptables.firewall.rules
aber sudo iptables-restore < /etc/iptables/rules.v4
für mich gearbeitet.
Wenn Sie Ihre Regeln ausgeführt haben, werden sie bereits ausgeführt und es ist kein erneutes Laden erforderlich. Für den Fall, dass Sie eine Konfigurationsdatei haben, diese aber noch nicht am besten ausgeführt wurde, verwenden Sie iptables-apply
(eine iptables-Erweiterung).
iptables-apply -t 60 your_rules_file
Dadurch werden die Regeln 60 Sekunden lang angewendet (standardmäßig 10) und zurückgesetzt, wenn Sie sie nicht bestätigen. Dies erspart Ihnen den Fall, dass Sie aufgrund der Regeln aus dem System geworfen werden (z. B. wenn Sie mit ssh arbeiten).
Sie können Folgendes als Ersatz verwenden:
iptables-restore < your_rules_file; sleep 60; iptables-restore < clean_rules
Wenn Sie IPtables neu laden möchten, um die soeben vorgenommenen Änderungen zu überprüfen. Sie können Apache auch über die folgenden Befehlszeilen neu starten:
/etc/init.d/apache2 stop
/etc/init.d/apache2 start
Diese Befehle können je nach Ubuntu-Version und eventuell zuvor vorgenommenen Änderungen variieren.
Hoffe das hilft.
Pierre