Aktifkan iptables pada satu antarmuka

16

Saya ingin iptables hanya memfilter satu antarmuka, eth0, yang menghadap WAN. Bagaimana ini bisa dilakukan? Dan saya ingin menjaga port ftp dan ssh terbuka di eth0.

nixnotwin
sumber
Silakan baca halaman manual iptables - atau jika saya salah memahami masalah Anda, harap buat pertanyaan lebih spesifik.
Jari Jokinen

Jawaban:

25

Jadi untuk semua antarmuka kecuali satu Anda ingin menerima semua lalu lintas, dan pada eth0 Anda ingin membuang semua lalu lintas masuk kecuali ftp dan ssh.

Pertama, kita dapat menetapkan kebijakan untuk menerima semua lalu lintas secara default.

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

Kemudian, kami dapat mengatur ulang aturan firewall Anda.

iptables -F

Sekarang kita dapat mengatakan bahwa kita ingin mengizinkan lalu lintas masuk pada eth0 yang merupakan bagian dari koneksi yang sudah kita izinkan.

iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

Kami juga ingin mengizinkan koneksi ssh masuk pada eth0.

iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT

Tapi apa pun yang masuk pada eth0 harus dibatalkan.

iptables -A INPUT -i eth0 -j DROP

Untuk sedikit lebih dalam lihat entri wiki CentOS ini .

FTP lebih rumit daripada ssh karena dapat menggunakan port acak, jadi lihat pertanyaan sebelumnya .

sciurus
sumber
5
PERINGATAN!!! Lakukan "iptables -P ..." sebelum "iptables -F". Jika aturan Anda saat ini diatur untuk menjatuhkan lalu lintas secara default, menjalankan -F akan mengunci Anda di luar kotak Anda. Inilah mengapa menjaga kebijakan default untuk memungkinkan, dan secara khusus menambahkan aturan untuk menghapus semua lalu lintas lainnya adalah praktik terbaik.
Coops
8

Sesuatu seperti ini harus melakukan pekerjaan:

iptables -A INPUT -i eth1 -p all -j DROP
iptables -A INPUT -i eth0 -p all -j ACCEPT
Bart De Vos
sumber
1
Cukup banyak tempat (meskipun mungkin sedikit lebih bagus daripada "Jatuhkan SEMUA" pada antarmuka WAN, eh?) - Tulis aturan untuk memfilter antarmuka yang ingin Anda filter, dan ACCEPTsemuanya di antarmuka lainnya.
voretaq7
4

Pilihan untuk menentukan sebuah antarmuka dalam aturan iptables Anda -i, misalnya: -i eth0.

Derp A. Round
sumber
4

Sangat sederhana ketika Anda membuat iptablesaturan maka Anda harus menentukan antarmuka. Pilihan untuk menentukan kartu LAN di mana iptablesharus bekerja adalah-i

Aturan berikut dapat memberi Anda contoh yang baik

iptables -A INPUT -p tcp -i eth0 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 -j REJECT --reject-with tcp-reset 

Aturan terakhir adalah menolak paket lain yang tidak cocok dengan 2 aturan pertama. Semua aturan di iptablesdieksekusi dalam urutan yang diberikan, sehingga aturan untuk menolak paket selalu yang terakhir.

Pengguna Terdaftar
sumber