it-swarm-id.com

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

Saya memiliki sistem yang dilengkapi dengan firewall yang 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 lakukan iptables-save diikuti oleh iptables -F dan aplikasi mulai berfungsi.) Ada terlalu banyak aturan untuk memilah secara manual. Bisakah saya melakukan sesuatu untuk menunjukkan kepada saya aturan mana yang menjatuhkan paket?

35
Shawn J. Goff

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

Saya akan mempertimbangkan menggunakan iptables -L -v -n | less untuk membiarkan Anda mencari aturan. Saya akan melihat port; alamat; dan aturan antarmuka yang berlaku. Mengingat 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.

21
BillThor

Sejak iptables -L -v -n memiliki penghitung yang dapat Anda lakukan berikut ini.

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.

15
Kyle Brandt

Lari iptables -L -v -n untuk melihat penghitung paket dan byte untuk setiap tabel dan untuk setiap aturan.

14
ninjalj

Di perusahaan saya, kami menggunakan watch -n 2 -d iptables -nvL, ini menunjukkan perubahan di antara permintaan

9
Marcelo Salazar
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 tabel filter.

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

5
sjas