패킷 삭제를 담당 한 iptables 규칙을 찾는 방법이 있습니까?


31

방화벽이 이미 설치된 시스템이 있습니다. 방화벽은 1000 개가 넘는 iptables 규칙으로 구성됩니다. 이 규칙 중 하나는 삭제하지 않으려는 패킷을 삭제하는 것입니다. (나는 않았기 때문에 나는 이것을 알고 iptables-save다음 iptables -F과 응용 프로그램이 작업을 시작했다.) 수동을 통해 정렬하는 방법 너무 많은 규칙이 있습니다. 패킷을 삭제하는 규칙을 보여줄 수 있습니까?


1
fedorahosted.org/dropwatch 는 미래에도 도움이 될 것입니다.
Shawn J. Goff

카운터 업데이트를 실시간으로 보려면 <br/> <code> watch iptables -L -v -n </ code>을 사용하십시오.
Chris Gibb

답변:


19

패킷이 통과하는 모든 규칙을 기록하기 위해 체인의 초기에 TRACE 규칙을 추가 할 수 있습니다.

iptables -L -v -n | less규칙을 검색하는 데 사용 하는 것이 좋습니다. 나는 항구를 볼 것이다; 주소; 적용되는 인터페이스 규칙. 규칙이 너무 많으면 대부분 닫힌 방화벽을 실행하고 트래픽에 대한 허용 규칙이 없습니다.

방화벽은 어떻게 구축됩니까? 빌드 된 규칙보다 빌더 규칙을 보는 것이 더 쉬울 수 있습니다.


나는이 질문을 한 후에 규칙이 APF에서 나왔음을 알았고 그것을 고칠 수있었습니다. 그래도 TRACE 대상을 좋아합니다. 그것은 매우 효과적이었을 것입니다.
Shawn J. Goff

2
TRACE 대상을 사용하는 예는 여기에 있습니다 : serverfault.com/questions/122157/debugger-for-iptables/... .
slm

14

iptables -L -v -n모든 테이블 및 모든 규칙에 대한 패킷 및 바이트 카운터를 보려면 실행 하십시오.


이것은 좋습니다. 1000 개의 규칙과 1000 개의 드롭 된 패킷이 있기 때문에 더 나은 것을 기대하고 있습니다.
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

이렇게하면 증가한 규칙 만 볼 수 있습니다.



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

테이블 필터에 대한 내용 만 표시됩니다 .

-t natiptables 호출에 규칙을 확인하려면 iptables 호출에 추가 하거나 필터 이외의 테이블을 사용하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.