Ponowne ładowanie iptables

21

Wprowadziłem zmiany do pliku konfiguracyjnego iptables w /etc/iptables/filter w Ubuntu i chcę je ponownie wczytać. Przeczytałem stronę podręcznika, a także googlełem, ale nie mogłem znaleźć informacji. Każda pomoc zostanie doceniona.

    
zadawane techraf 06.12.2010, 19:11
źródło

5 odpowiedzi

21

Najprostszym sposobem jest zrestartowanie komputera (także jeśli poniżej nie działa, uruchom ponownie komputer, sprawdź, czy to spowodowało zmianę).

Drugim najprostszym sposobem jest ponowne uruchomienie demonów przy użyciu 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
    
odpowiedział Juha 06.12.2010, 19:17
źródło
29

Zwykle twoje 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

Możesz sprawdzić, czy są 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

Ta treść:

#!/bin/sh
/sbin/iptables-restore < /etc/iptables.firewall.rules

I daj mu pozwolenie 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
    
odpowiedział Jorge Sampayo 14.01.2013, 18:40
źródło
3

Jeśli już wykonałeś swoje reguły, są już uruchomione i nie jest konieczne ponowne ładowanie. W przypadku, gdy masz plik konfiguracyjny, ale nie został on wykonany w najlepszy sposób, jaki widziałem do tej pory, należy użyć iptables-apply (rozszerzenie iptables).

iptables-apply -t 60 your_rules_file

To spowoduje zastosowanie reguł przez 60 sekund (domyślnie 10) i przywróci je, jeśli ich nie potwierdzisz. To pozwoli Ci zaoszczędzić na wypadek, gdybyś został wyrzucony z systemu z powodu reguł (np. Jeśli pracujesz przez ssh).

Jako zamiennika można użyć następujących elementów:

iptables-restore < your_rules_file; sleep 60; iptables-restore < clean_rules
    
odpowiedział nyxz 06.07.2015, 14:28
źródło
0

Po trochę googlowaniu, to jest to, co znalazłem, aby zrestartować iptables. . . sudo /etc/init.d/firewall restart

    
odpowiedział bmarti44 06.12.2010, 19:15
źródło
0

Jeśli chcesz ponownie załadować IPtables w celu sprawdzenia zmian, które właśnie wprowadziłeś; możesz także ponownie uruchomić Apache za pomocą poniższych linii poleceń:

/etc/init.d/apache2 stop

/etc/init.d/apache2 start

Te polecenia mogą się różnić w zależności od Twojego gustu Ubuntu i ewentualnych modyfikacji, które mogły zostać wprowadzone wcześniej.

Mam nadzieję, że to pomoże.

Pierre

    
odpowiedział Pierre Alexis Malaval 01.10.2017, 12:41
źródło

Przeczytaj inne pytania na temat tagów