İptables yeniden yükleniyor


29

/etc/iptables/filterUbuntu'da iptables config dosyasında değişiklikler yaptım ve yeniden yüklemek istiyorum. Man sayfasını okudum ve googledim ancak bilgiyi bulamadım. Herhangi bir yardım takdir edilecektir.


Bu soruyu göndermeden önce, kullandığınız Ubuntu sürümü ile ilgili herhangi bir bilgi vermediniz veya interneti iyi aramadınız.

Yanıtlar:


28

En kolay yol yeniden başlatmaktır (aşağıdakiler de çalışmazsa, yeniden başlat, değişiklik yapılıp yapılmadığını kontrol et).

En kolay ikinci, iptables yapılandırmalarını kullanarak daemonları yeniden başlatmaktır (google: daemon ubuntu'yu yeniden başlat).

örnekler (yapılandırmanıza bağlı olarak):

/etc/init.d/iptables restart  

/etc/init.d/networking restart  

/etc/init.d/firewall restart

5

1
/etc/init.d içinde hangi ağla ilişkili var? Bunu yeniden başlatmayı dene.

2
/etc/init.d/networking yeniden başlatılsın mı?

1
Ölü bağlantı öldü.
Dustin Graham

@DustinGraham teşekkürler, bozuk link kaldırıldı.
Juha

37

Normalde güvenlik duvarı kurallarınız config dosyasındadır. /etc/iptables.firewall.rules

Dosyanızda tanımlanmış kuralları etkinleştirmek için onları göndermelisiniz iptables-restore(isterseniz başka bir dosya kullanabilirsiniz):

sudo iptables-restore < /etc/iptables.firewall.rules

Ve bunların aktif olduklarını kontrol edebilirsiniz:

sudo iptables -L

Bilgisayarı her başlatışınızda aynı kuralları etkinleştirmek istiyorsanız, bu dosyayı oluşturun:

sudo nano /etc/network/if-pre-up.d/firewall

Bu içerikle:

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

Ve yürütme izni verin:

sudo chmod +x /etc/network/if-pre-up.d/firewall

Umarım size yardımcı olur =)

İçin örnek dosya /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

4
Ubuntu 14.10 ben hiç var /etc/iptables.firewall.rulesama sudo iptables-restore < /etc/iptables/rules.v4benim için çalıştı.
Timbo

4

Kurallarınızı uyguladıysanız zaten çalışıyorlar ve yeniden yükleme gerekmiyor. Konfigürasyon dosyanızın olduğu fakat en iyi şekilde çalıştırılmadığınız durumlarda şu ana kadar kullanmak iptables-apply(iptables eklentisi) kullanmaktır.

iptables-apply -t 60 your_rules_file

Bu, kuralları 60 saniye boyunca uygular (varsayılan olarak 10) ve onaylamazsanız geri döndürür. Bu kurallar nedeniyle sistemden atılmanız durumunda sizi kurtaracak (ör. Ssh ile çalışıyorsanız).

Aşağıdakileri yedek olarak kullanabilirsiniz:

iptables-restore < your_rules_file; sleep 60; iptables-restore < clean_rules

Hayır, DDNS ana bilgisayar çözünürlüğü için yeniden yükleme kesinlikle gereklidir. Referans verilen herhangi bir ana bilgisayarın IP'si değişirse, iptables'ın yeniden yüklenmesi gerekir. İdeal olarak bunu her 30 dakikada bir crondan yaparsınız. Her 30 dakikada bir yeniden başlatmak uygun değildir.
mckenzm

1

sudo ufw reload

Güvenlik duvarını ve kurallarını yeniden yükler.


0

Biraz googling yaptıktan sonra, iptables'ı yeniden başlatmak için bulduğum şey bu. . . sudo /etc/init.d/firewall restart


3

0

Yaptığınız değişiklikleri doğrulamak için IPtables'ı yeniden yüklemek istiyorsanız; Apache'yi aşağıdaki komut satırlarıyla da yeniden başlatabilirsiniz:

/etc/init.d/apache2 stop

/etc/init.d/apache2 başlangıç

Bu komut Ubuntu'nun tadına ve daha önce yapılmış olabileceği değişikliklere bağlı olarak değişebilir.

Bu yardımcı olur umarım.

Pierre

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.