Có cách nào để tìm ra quy tắc iptables chịu trách nhiệm cho việc bỏ gói không?


31

Tôi có một hệ thống đi kèm với tường lửa. Tường lửa bao gồm hơn 1000 quy tắc iptables. Một trong những quy tắc này là bỏ các gói tôi không muốn bỏ. (Tôi biết điều này bởi vì tôi đã làm iptables-savetheo iptables -Fvà ứng dụng bắt đầu hoạt động.) Có quá nhiều quy tắc để sắp xếp theo cách thủ công. Tôi có thể làm gì đó để chỉ cho tôi quy tắc nào đang bỏ các gói không?


1
fedorahosted.org/dropwatch cũng có thể hữu ích trong tương lai.
Shawn J. Goff

Để xem các bộ đếm cập nhật trong thời gian thực, hãy sử dụng <br/> <code> xem iptables -L -v -n </ code>
Chris Gibb

Câu trả lời:


19

Bạn có thể thêm quy tắc TRACE sớm trong chuỗi để ghi nhật ký mọi quy tắc mà gói đi qua.

Tôi sẽ xem xét sử dụng iptables -L -v -n | lessđể cho phép bạn tìm kiếm các quy tắc. Tôi sẽ nhìn cảng; địa chỉ nhà; và quy tắc giao diện áp dụng. Cho rằng bạn có rất nhiều quy tắc, có khả năng bạn đang chạy một tường lửa hầu hết đóng và đang thiếu quy tắc cấp phép cho lưu lượng.

Tường lửa được xây dựng như thế nào? Có thể dễ dàng xem xét các quy tắc xây dựng hơn các quy tắc được xây dựng.


Tôi đã tìm ra sau khi hỏi câu hỏi này rằng các quy tắc là từ APF, và tôi đã có thể sửa nó. Tôi yêu mục tiêu TRACE, mặc dù. Điều đó sẽ rất hiệu quả.
Shawn J. Goff

2
Một ví dụ về việc sử dụng mục tiêu TRACE có tại đây: serverfault.com/questions/122157/debugger-for-iptables/ .
slm

14

Chạy iptables -L -v -nđể xem các bộ đếm gói và byte cho mỗi bảng và cho mọi quy tắc.


Điều này là tốt, tôi hy vọng cho một cái gì đó tốt hơn vì có 1000 quy tắc và 1000 gói bị rơi.
Shawn J. Goff

Sử dụng sortđể sắp xếp các quy tắc theo bộ đếm gói.
ninjalj

13

Kể từ khi iptables -L -v -ncó quầy bạn có thể làm như sau.

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

Bằng cách này, bạn sẽ chỉ thấy các quy tắc tăng lên.


9

Trong công ty của tôi, chúng tôi sử dụng watch -n 2 -d iptables -nvL, nó cho thấy những thay đổi giữa các yêu cầu


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

Hãy ghi nhớ, điều này sẽ chỉ hiển thị công cụ cho bộ lọc bảng .

Thêm -t nat(hoặc bất kỳ bảng nào bạn sử dụng ngoài bộ lọc) vào cuộc gọi iptables của bạn, để kiểm tra các quy tắc ở đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.