iptables, firewall Linux standar, tidak menyimpan aturan antar reboot. Anda harus mengurus ini sendiri. Ada banyak cara untuk melakukan ini. Apa cara kanonik untuk melakukan ini? Apa praktik terbaik?
Saya akan menjawab dengan solusi saya sendiri, tetapi saya tertarik pada solusi lain / lebih baik.
Jawaban:
Berikut ini beberapa contoh aturan. Simpan ke /etc/iptables.rules
tambahkan baris ini di akhir / etc / network / interfaces
sumber
Kami menggunakan banyak aturan iptables , jadi untuk memudahkan administrasi kami melakukan hal berikut:
Saya tidak tahu apakah ini cara terbaik untuk melakukan ini, tetapi ini telah bekerja dengan baik untuk kami.
sumber
Memang benar ini tergantung lingkungan dan platform, saya telah melihat dua pendekatan yang baik, tergantung pada platform:
RHEL / CentOS: menyimpan semua aturan dalam satu file / etc / sysconfig / iptables yang dibaca oleh skrip startup iptables.
Debian / Ubuntu: menyimpan semua aturan dalam file khusus layanan terpisah di direktori /etc/iptables.d/. Sebagai contoh, /etc/iptables.d/port_http, /etc/iptables.d/port_dns, di mana port_service memetakan nama layanan di / etc / services.
Dalam kedua kasus, file atau file dikelola oleh alat konfigurasi seperti Chef atau Puppet, dan dibaca oleh skrip startup 'master' untuk iptables yang berjalan saat boot.
sumber
Selain
iptables-save
(daniptables-restore
), skema firewall yang rumit lebih baik ditangani dengan program khusus. Misalnya, kami telah menggunakanshorewall
("iptables menjadi mudah") untuk mengonfigurasi iptables.Alat yang lebih sederhana juga tersedia, seperti firestarter dan kmyfirewall .
sumber
Ini tergantung pada distribusi yang Anda gunakan. Beberapa distribusi terutama yang didasarkan pada distribusi Red Hat menjaga aturan iptables secara otomatis tetapi di direktori khusus mereka sendiri. Saya paling akrab dengan RHEL dan aturan iptables dapat ditemukan di / etc / sysconfig / iptables. Menjadi terbiasa dengan aturan iptables sintaks bisa rumit pada awalnya tetapi cukup mudah setelah Anda terbiasa.
Situs web netfilter memiliki banyak dokumentasi tentang iptables termasuk beberapa perkenalan. Jika Anda ingin membaca sedikit, Anda dapat menemukan banyak informasi bagus di sini: http://www.netfilter.org/documentation/
sumber
Pertanyaan ini sangat dekat dengan menjadi dup dari 4934 dan ini terkait dengan 397 .
Saya menggunakan firehol yang dikombinasikan dengan antarmuka web yang saya kembangkan untuk mengelola file konfigurasi.
Saya sangat suka firehol, ia menyediakan sintaks yang lebih sederhana kemudian menggunakan iptables secara langsung.
sumber
Kami menggunakan skrip init khusus, tentu saja. Saya dapat menggunakan for-loop untuk beralih ke daftar port, parsing file konfigurasi lainnya seperti vpn-users, dll. Luar biasa!
Dan iptables-restore tentu saja merupakan cara paling "kanonik" untuk menyimpannya.
Yang ingin saya tambahkan:
Harap dicatat bahwa versi iptables saat ini akan untuk setiap invokasi meminta kernel untuk mengembalikan daftar lengkap rantai. Maka itu akan membuat satu perubahan yang Anda minta. Kemudian akan mengunggah daftar lagi.
Ini lambat (O (n ^ 2)), bagi kami perlu 5 detik yang terlalu lama ;-)
Jika Anda menggunakan iptables-restore, semuanya berjalan dalam satu operasi cepat.
sumber