Menggunakan Iptables di Linux
Panduan ini akan cuba menjelaskan cara menggunakan iptables di linux dengan mudah memahami bahasa.
Kandungan[sembunyi]
|
Gambaran keseluruhan
Iptables adalah firewall berasaskan peraturan, yang akan memproses setiap peraturan dalam rangka sehingga ia menemukan satu yang cocok.
Todo: masukkan contoh di sini
Penggunaan
Utiliti iptables biasanya diprapasang pada pengedaran linux anda, tetapi sebenarnya tidak menjalankan sebarang peraturan. Anda akan menemui utiliti di sini pada kebanyakan pengedaran:
/ sbin / iptables
Menyekat Alamat IP Tunggal
Anda boleh menyekat IP dengan menggunakan parameter -s, menggantikan 10.10.10.10 dengan alamat yang anda cuba bloki. Anda akan perhatikan dalam contoh ini bahawa kami menggunakan parameter -I (atau memasukkan kerja-kerja juga) dan bukannya tambah, kerana kami ingin memastikan peraturan ini muncul terlebih dahulu, sebelum apa-apa peraturan yang membenarkan.
/ sbin / iptables -I INPUT -s 10.10.10.10 -j DROP
Membenarkan Semua Lalu Lintas dari Alamat IP
Anda boleh selalunya membenarkan semua lalu lintas dari alamat IP dengan menggunakan perintah yang sama seperti di atas, tetapi menggantikan DROP dengan ACCEPT. Anda perlu memastikan bahawa peraturan ini muncul dahulu, sebelum mana-mana peraturan DROP.
/ sbin / iptables -A INPUT -s 10.10.10.10 -j ACCEPT
Menyekat Pelabuhan Daripada Semua Alamat
Anda boleh menyekat pelabuhan sepenuhnya daripada diakses melalui rangkaian dengan menggunakan suis -dport dan menambah port perkhidmatan yang anda hendak bloki. Dalam contoh ini, kami akan menyekat pelabuhan mysql:
/ sbin / iptables -A INPUT -p tcp --dport 3306 -j DROP
Membenarkan Port Single dari IP Single
Anda boleh menambah perintah -s dengan perintah -dport untuk mengehadkan peraturan ke port khusus:
/ sbin / iptables -A INPUT -p tcp -s 10.10.10.10 --disk 3306 -j ACCEPT
Melihat Peraturan Semasa
Anda boleh melihat peraturan semasa menggunakan arahan berikut:
/ sbin / iptables -L
Ini sepatutnya memberi output yang serupa dengan yang berikut:
Rangkaian INPUT (dasar ACCEPT) mensasarkan sasaran destinasi pilihan yang sesuai ACCEPT semua - 192.168.1.1/24 di mana sahaja TIDAK ADA semua - 10.10.10.0/24 di mana sahaja DROP tcp - di mana sahaja di mana sahaja tcp dpt: ssh DROP tcp - di mana sahaja di mana sahaja tcp dpt: mysql
Output sebenar akan menjadi sedikit lebih lama, tentu saja.
Mengosongkan Peraturan Semasa
Anda boleh membersihkan semua peraturan semasa dengan menggunakan parameter flush. Ini sangat berguna jika anda perlu meletakkan peraturan dalam susunan yang betul, atau apabila anda sedang menguji.
/ sbin / iptables - flush
Pembahagian-Spesifik
Walaupun kebanyakan pengagihan Linux merangkumi satu bentuk iptables, sebahagian daripada mereka juga termasuk pembalut yang menjadikan pengurusan lebih mudah. Selalunya "tambahan" ini mengambil bentuk skrip init yang menjaga permulaan iptables pada permulaan, walaupun beberapa pengedaran juga termasuk aplikasi wrapper penuh yang cuba memudahkan kes biasa.
Gentoo
The iptables skrip init pada Gentoo mampu menangani banyak senario umum. Sebagai permulaan, ia membolehkan anda untuk mengkonfigurasi iptables untuk memuat pada permulaan (biasanya apa yang anda mahu):
rc-update tambah lalai iptables
Menggunakan skrip init, adalah mungkin untuk memuatkan dan mengosongkan firewall dengan perintah yang mudah diingat:
/etc/init.d/iptables start /etc/init.d/iptables stop
Skrip init mengendalikan butiran untuk meneruskan konfigurasi firewall semasa anda bermula / berhenti. Oleh itu, firewall anda sentiasa berada dalam keadaan yang anda tinggalkan. Sekiranya anda perlu menyimpan peraturan baru secara manual, skrip init boleh mengendalikannya juga:
/etc/init.d/iptables save
Di samping itu, anda boleh memulihkan firewall anda ke keadaan yang disimpan sebelumnya (untuk kes di mana anda sedang bereksperimen dengan peraturan dan kini mahu memulihkan konfigurasi kerja sebelumnya):
/etc/init.d/iptables reload
Akhirnya, skrip init boleh meletakkan iptables ke dalam mod "panik", di mana semua lalu lintas masuk dan keluar disekat. Saya tidak pasti mengapa mod ini berguna, tetapi semua firewall Linux nampaknya memilikinya.
/etc/init.d/iptables panic
Amaran: Jangan memulakan mod panik jika anda disambungkan ke pelayan anda melalui SSH; anda akan diputuskan sambungan! Satu-satunya masa anda perlu meletakkan iptables ke dalam mod panik adalah semasa anda berada secara fizikal di hadapan komputer.