it-swarm-vi.com

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?

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 vì tôi đã làm iptables-save theo dõi bởi iptables -F và ứ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?

35
Shawn J. Goff

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ẽ cân nhắc 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ỉ; 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.

21
BillThor

Từ iptables -L -v -n có 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.

15
Kyle Brandt

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.

14
ninjalj

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

9
Marcelo Salazar
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ảng bộ lọc.

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

5
sjas