Mengapa aturan iptables hilang saat memulai ulang sistem Debian saya?


48

Saya menambahkan aturan ini:

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. Ketika restart aturan komputer dihapus. Mengapa?
  2. Apa yang bisa saya lakukan untuk membuat peraturan tetap ada?

Jawaban:


45

Tidak ada opsi di iptables yang akan membuat aturan Anda permanen. Tetapi Anda dapat menggunakan iptables-savedan iptables-restoreuntuk memenuhi tugas Anda.

Pertama tambahkan aturan iptable menggunakan perintah yang Anda berikan.

Kemudian simpan aturan iptables ke beberapa file seperti /etc/iptables.confmenggunakan perintah berikut:

$  iptables-save > /etc/iptables.conf

Tambahkan perintah berikut ini /etc/rc.localuntuk memuat ulang aturan di setiap reboot.

$  iptables-restore < /etc/iptables.conf

15
Di Debian ada iptables-persistentpaket yang akan melakukan ini.
bahamat

7
Ini ide yang buruk untuk menempatkannya rc.localkarena akan ada celah jendela terbuka antara layanan mulai dan kebijakan firewall berlaku. Saya lebih suka menggunakan pre-up hook untuk antarmuka loopback dalam /etc/network/interfacesuntuk mengatasi hal ini.
poige

@poige: Saya setuju 100%, rc.localmungkin memiliki efek yang dimaksudkan, tetapi ini adalah kludge dalam situasi ini.
JM Becker

3
@ Bahahamat: Menginstal paket itu adalah solusi terbaik, Ini layak untuk dijawab sendiri.
JM Becker

1
@ TechZilla: Selesai.
bahamat

53

(Karena itu disarankan untuk membuat ini menjadi jawabannya sendiri ...)

Di instal debian iptables-persistent.

Paket ini akan secara otomatis memuat /etc/iptables/rulesuntuk Anda saat boot.

Setiap kali Anda mengubah aturan, jalankan /sbin/iptables-save > /etc/iptables/rulesuntuk menyimpannya. Anda juga dapat menambahkan itu ke urutan shutdown jika Anda mau.


12
Ada dua file aturan yang berbeda: /etc/iptables/rules.v4dan /etc/iptables/rules.v6untuk IPv4 dan IPv6 masing-masing. Jika Anda ingin tabel berlaku untuk kedua jenis koneksi Anda harus menyimpannya ke kedua file aturan.
PetaspeedBeaver

11
Jangan menambahkannya ke urutan shutdown Anda! Jika Anda merusak aturan Anda selama perubahan / pengaturan setidaknya reboot lama yang baik akan mengembalikan semuanya ke kondisi sebelumnya.
VertigoRay

1

Setelah menginstal di iptables-persistentatas, Anda juga dapat menyimpan aturan dengan perintah pendek berikut di Ubuntu 16.04+: sudo netfilter-persistent save

Dan mereka juga dapat dikembalikan kembali ke bagaimana mereka terakhir kali Anda menyelamatkan mereka dengan: sudo netfilter-persistent reload

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.