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.