내 시스템에는 이미 방화벽이 설치되어 있습니다. 방화벽은 1000개가 넘는 iptables 규칙으로 구성됩니다. 이러한 규칙 중 하나는 삭제하고 싶지 않은 패킷을 삭제하는 것입니다. (제가 iptables-save
따라해 보니 iptables -F
앱이 작동하기 시작했기 때문에 이 사실을 알고 있습니다 .) 수동으로 정렬해야 하는 규칙이 너무 많습니다. 어떤 규칙이 패킷을 삭제하는지 표시할 수 있는 방법이 있나요?
답변1
체인 초기에 TRACE 규칙을 추가하여 패킷이 통과하는 각 규칙을 기록할 수 있습니다.
iptables -L -v -n | less
Let You Search 규칙을 사용하는 것이 좋습니다 . 포트와 적용 가능한 인터페이스 규칙을 살펴보겠습니다. 규칙이 너무 많다는 점을 고려하면 아마도 거의 닫힌 방화벽을 실행하고 있고 트래픽에 대한 허용 규칙이 누락되었을 것입니다.
방화벽은 어떻게 구축되나요? 빌드 규칙보다 빌더 규칙을 보는 것이 더 쉬울 것입니다.
답변2
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
이렇게 하면 추가된 규칙만 볼 수 있습니다.
답변3
iptables -L -v -n
각 테이블과 규칙에 대한 패킷 및 바이트 카운터를 보려면 실행하세요 .
답변4
watch -n1 -d "iptables -tfilter -vnxL | grep -vE 'pkts|Chain' | sort -nk1hr | column -t"
이는 테이블의 내용만 표시한다는 점을 기억하세요.필터.
모든 테이블이 필요한 경우 다음을 시도하십시오.
watch -n1 -d "(iptables -tfilter -vnxL;iptables -tnat -vnxL;iptables -tmangle -vnxL;iptables -traw -vnxL;iptables -tsecurity -vnxL) | grep -vE 'pkts|Chain' | sort -nk1,1hr | column -t"