Debian sistemimi yeniden başlatırken iptables kuralları neden kayboluyor?


48

Bu kuralı ekliyorum:

sudo iptables -t nat -A OUTPUT -d a.b.c.d -p tcp \
       --dport 1723 -j DNAT --to-destination a.b.c.d:10000
  1. Bilgisayarı yeniden başlattığınızda kurallar silinir. Neden?
  2. Kuralları devam ettirmek için ne yapabilirim?

Yanıtlar:


45

İptables'ta kurallarınızı kalıcı kılacak bir seçenek yoktur. Ama kullanabilirsiniz iptables-saveve iptables-restoregörevi yerine getirmek için.

Önce verdiğiniz komutu kullanarak iptable kuralını ekleyin.

Sonra iptables kurallarını /etc/iptables.confaşağıdaki komutu kullanmak gibi bir dosyaya kaydedin :

$  iptables-save > /etc/iptables.conf

/etc/rc.localHer yeniden başlatmada kuralları yeniden yüklemek için aşağıdaki komutu ekleyin .

$  iptables-restore < /etc/iptables.conf

15
Debian'da iptables-persistentbunu yapacak paket var.
bahamat

7
rc.localHizmetlerin başlatılması ve güvenlik duvarı politikası arasında açık bir pencere boşluğu olacağından bunu yerleştirmek oldukça kötü bir fikir . Ben kullanarak tercih edersiniz pre-up geri döngü arabirimi için kanca içinde /etc/network/interfacesbu üstesinden gelmek için.
poige

@poige:% 100 kabul ediyorum rc.local, istenilen etkiyi yaratabilir, ancak bu durumda bir çamur.
JM Becker

3
@ bahamat: Bu paketi kurmak en iyi çözüm, kendi cevabını hakediyor.
JM Becker

1
@ TechZilla: Yapıldı.
bahamat

53

(Çünkü bunun kendi cevabını vermesi önerildi ...)

Debian kurulumunda iptables-persistent.

Paket /etc/iptables/rulesönyükleme sırasında sizin için otomatik olarak yüklenir .

Kurallarınızı değiştirdiğiniz zaman, /sbin/iptables-save > /etc/iptables/rulesonları kurtarmak için koşun . İsterseniz bunu kapatma sırasına da ekleyebilirsiniz.


12
Orada iki farklı kural dosyalar şunlardır: /etc/iptables/rules.v4ve /etc/iptables/rules.v6IPv4 ve IPv6 için sırasıyla. Bir tablonun her iki bağlantı türüne de uygulanmasını istiyorsanız, bunu her iki kural dosyasına da kaydetmeniz gerekir.
PetaspeedBeaver

11
Kapatma sıranıza eklemeyin! Değişiklik / kurulum sırasında kurallarınızı değiştirirseniz, en azından iyi bir eski yeniden başlatma işlemi işleri önceki çalışma durumuna geri döndürür.
VertigoRay

1

iptables-persistentYukarıdakileri yükledikten sonra , Ubuntu 16.04+ üzerinde aşağıdaki kısa komutla da kuralları kaydedebilirsiniz: sudo netfilter-persistent save

Ayrıca, en son ne zaman kaydettiklerine geri döndükleri için geri yüklenebilirler: sudo netfilter-persistent reload

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.