มีวิธีการค้นหากฎ iptables ที่รับผิดชอบในการวางแพ็กเก็ตหรือไม่?


31

ฉันมีระบบที่มาพร้อมกับไฟร์วอลล์แล้ว ไฟร์วอลล์ประกอบด้วยกฎ iptables มากกว่า 1,000 กฎ หนึ่งในกฎเหล่านี้คือการทิ้งแพ็กเก็ตที่ฉันไม่ต้องการให้ทิ้ง (ฉันรู้สิ่งนี้เพราะฉันiptables-saveตามมาด้วยiptables -Fและแอปพลิเคชันเริ่มทำงาน) มีกฎมากเกินไปในการเรียงลำดับด้วยตนเอง ฉันสามารถทำบางสิ่งบางอย่างเพื่อแสดงให้ฉันเห็นกฎข้อใดที่วางแพ็กเก็ตได้หรือไม่?


1
fedorahosted.org/dropwatchอาจมีประโยชน์ในอนาคต
Shawn J. Goff

หากต้องการดูการอัปเดตเคาน์เตอร์แบบเรียลไทม์ให้ใช้ <br/> <code> ดู iptables -L -v -n </code>
Chris Gibb

คำตอบ:


19

คุณสามารถเพิ่มกฎการติดตามได้ตั้งแต่เนิ่น ๆ เพื่อบันทึกทุกกฎที่แพ็กเก็ตลัดเลาะ

ฉันจะพิจารณาใช้iptables -L -v -n | lessเพื่อให้คุณค้นหากฎ ฉันจะดูพอร์ต; ที่อยู่; และกฎของอินเตอร์เฟสที่ใช้ เนื่องจากคุณมีกฎมากมายที่คุณกำลังเรียกใช้ไฟร์วอลล์ที่ปิดเป็นส่วนใหญ่และไม่มีกฎใบอนุญาตสำหรับการรับส่งข้อมูล

ไฟร์วอลล์สร้างมาอย่างไร อาจดูกฎของผู้สร้างได้ง่ายกว่ากฎที่สร้างขึ้น


ฉันคิดออกหลังจากถามคำถามนี้ว่ากฎนั้นมาจาก APF และฉันก็สามารถแก้ไขได้ ฉันชอบเป้าหมายการติดตามแม้ว่า นั่นจะมีประสิทธิภาพมาก
Shawn J. Goff

2
ตัวอย่างของการใช้เป้าหมาย TRACE อยู่ที่นี่: serverfault.com/questions/122157/debugger-for-iptables/...
slm

14

เรียกใช้iptables -L -v -nเพื่อดูตัวนับแพ็คเก็ตและไบต์สำหรับทุกตารางและทุกกฎ


นี่เป็นสิ่งที่ดีฉันหวังว่าจะมีสิ่งที่ดีกว่าเนื่องจากมีกฎ 1000 ข้อและแพ็คเก็ตที่ลดลง 1,000 รายการ
Shawn J. Goff

ใช้sortเพื่อจัดเรียงกฎตามตัวนับแพ็คเก็ต
ninjalj

13

เนื่องจากiptables -L -v -nมีเคาน์เตอร์คุณสามารถทำสิ่งต่อไปนี้

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

วิธีนี้คุณจะเห็นเฉพาะกฎที่เพิ่มขึ้น


9

ใน บริษัท ของฉันที่เราใช้watch -n 2 -d iptables -nvLมันจะแสดงการเปลี่ยนแปลงระหว่างคำขอ


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

โปรดทราบว่านี่จะแสดงรายการสำหรับตัวกรองตารางเท่านั้น

เพิ่ม-t nat(หรือตารางใดก็ได้ที่คุณใช้นอกเหนือจากตัวกรอง) ไปยังการโทร iptables ของคุณเพื่อตรวจสอบกฎที่นั่น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.