Wprowadziłem zmiany w pliku konfiguracyjnym iptables /etc/iptables/filter
w Ubuntu i chcę je ponownie załadować. Przeczytałem stronę podręcznika i również googlowałem, ale nie mogłem znaleźć informacji. Każda pomoc będzie mile widziana.
Wprowadziłem zmiany w pliku konfiguracyjnym iptables /etc/iptables/filter
w Ubuntu i chcę je ponownie załadować. Przeczytałem stronę podręcznika i również googlowałem, ale nie mogłem znaleźć informacji. Każda pomoc będzie mile widziana.
Odpowiedzi:
Najłatwiejszym sposobem jest ponowne uruchomienie (również jeśli poniżej nie działa, uruchom ponownie, sprawdź, czy to spowodowało zmianę).
Drugi najłatwiejszy sposób to zrestartowanie demonów za pomocą konfiguracji iptables (google: restart daemon ubuntu).
przykłady (zależy od konfiguracji):
/etc/init.d/iptables restart
/etc/init.d/networking restart
/etc/init.d/firewall restart
Zwykle reguły zapory znajdują się w pliku konfiguracyjnym /etc/iptables.firewall.rules
Aby aktywować reguły zdefiniowane w pliku, musisz wysłać je do iptables-restore
(możesz użyć innego pliku, jeśli chcesz):
sudo iptables-restore < /etc/iptables.firewall.rules
I możesz sprawdzić, czy są one aktywowane za pomocą:
sudo iptables -L
Jeśli chcesz aktywować te same reguły przy każdym uruchomieniu komputera, utwórz ten plik:
sudo nano /etc/network/if-pre-up.d/firewall
Dzięki tej zawartości:
#!/bin/sh
/sbin/iptables-restore < /etc/iptables.firewall.rules
I pozwól mu na wykonanie:
sudo chmod +x /etc/network/if-pre-up.d/firewall
Mam nadzieję, że to ci pomoże =)
Przykładowy plik dla /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
ale sudo iptables-restore < /etc/iptables/rules.v4
pracowałem dla mnie.
Jeśli wykonałeś swoje reguły, są one już uruchomione i ponowne ładowanie nie jest konieczne. Jeśli masz plik konfiguracyjny, ale nie został on wykonany najlepiej, jak do tej pory widziałem, jest użycie iptables-apply
(rozszerzenie iptables).
iptables-apply -t 60 your_rules_file
Spowoduje to zastosowanie reguł przez 60 sekund (domyślnie 10) i cofnie je, jeśli ich nie potwierdzisz. To cię uratuje na wypadek, gdybyś został wyrzucony z systemu z powodu reguł (np. Jeśli działasz przez ssh).
Jako zamiennika możesz użyć:
iptables-restore < your_rules_file; sleep 60; iptables-restore < clean_rules
Jeśli chcesz ponownie załadować tabele IP, aby sprawdzić wprowadzone zmiany; możesz także ponownie uruchomić Apache za pomocą poniższych wierszy poleceń:
/etc/init.d/apache2 stop
/etc/init.d/apache2 start
Te polecenia mogą się różnić w zależności od gustu Ubuntu i ewentualnych modyfikacji, które mogły zostać wcześniej wprowadzone.
Mam nadzieję że to pomoże.
Pierre