Apakah ada cara untuk menemukan aturan iptables mana yang bertanggung jawab untuk menjatuhkan paket?


31

Saya memiliki sistem yang dilengkapi dengan firewall sudah ada. Firewall terdiri dari lebih dari 1000 aturan iptables. Salah satu aturan ini adalah menjatuhkan paket yang tidak ingin saya jatuhkan. (Saya tahu ini karena saya memang iptables-savediikuti oleh iptables -Fdan aplikasi mulai bekerja.) Ada terlalu banyak aturan untuk memilah secara manual. Bisakah saya melakukan sesuatu untuk menunjukkan kepada saya aturan mana yang menjatuhkan paket?


1
fedorahosted.org/dropwatch mungkin juga membantu di masa depan.
Shawn J. Goff

Untuk melihat pembaruan penghitung di waktu nyata, gunakan <br/> <code> tonton iptables -L -v -n </code>
Chris Gibb

Jawaban:


19

Anda bisa menambahkan aturan TRACE di awal rantai untuk mencatat setiap aturan yang dilalui paket.

Saya akan mempertimbangkan menggunakan iptables -L -v -n | lessuntuk membiarkan Anda mencari aturan. Saya akan melihat port; alamat; dan aturan antarmuka yang berlaku. Karena Anda memiliki begitu banyak aturan, Anda kemungkinan menjalankan firewall yang sebagian besar tertutup, dan tidak memiliki aturan izin untuk lalu lintas.

Bagaimana firewall dibangun? Mungkin lebih mudah untuk melihat aturan pembuat daripada aturan yang dibuat.


Saya menemukan setelah mengajukan pertanyaan ini bahwa aturannya dari APF, dan saya bisa memperbaikinya. Saya suka target TRACE. Itu akan sangat efektif.
Shawn J. Goff

2
Contoh menggunakan target TRACE ada di sini: serverfault.com/questions/122157/debugger-for-iptables/… .
slm

14

Jalankan iptables -L -v -nuntuk melihat penghitung paket dan byte untuk setiap tabel dan untuk setiap aturan.


Ini bagus, saya berharap sesuatu yang lebih baik karena ada 1000 aturan dan ribuan paket yang dijatuhkan.
Shawn J. Goff

Gunakan sortuntuk mengurutkan aturan berdasarkan penghitung paket.
ninjalj

13

Karena iptables -L -v -nmemiliki penghitung, Anda dapat melakukan hal berikut.

iptables -L -v -n > Sample1
#Cause the packet that you suspect is being dropped by iptables
iptables -L -v -n > Sample2
diff Sample1 Sample2

Dengan cara ini Anda hanya akan melihat aturan yang bertambah.


9

Di perusahaan saya yang kami gunakan watch -n 2 -d iptables -nvL, itu menunjukkan perubahan antara permintaan


5
watch -n1 -d "iptables -vnxL | grep -v -e pkts -e Chain | sort -nk1 | tac | column -t"

Perlu diingat, ini hanya akan menampilkan hal-hal untuk filter tabel .

Tambahkan -t nat(atau tabel mana pun yang Anda gunakan selain filter) ke panggilan iptables Anda, untuk memeriksa aturan di sana.

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.