Linux에서는 일반적으로 "filter"테이블을 사용하여 일반적인 필터링을 수행합니다.
iptables --table filter --append INPUT --source 1.2.3.4 --jump DROP
iptables --table filter --append INPUT --in-interface lo --jump ACCEPT
아래의 넷 필터 순서도에 따르면 패킷은 먼저 "원시"테이블을 통과합니다.
그래서 우리는 쓸 수 있습니다 :
iptables --table raw --append PREROUTING --source 1.2.3.4 --jump DROP
iptables --table raw --append PREROUTING --in-interface lo --jump ACCEPT
- conntrack + mangle + nat + routing을 거치지 않아도 패킷을 더 빨리 처리 할 수 있습니다. 따라서 사용되는 CPU / 메모리가 약간 줄어 듭니다 (그리고 iptable_raw 모듈을로드해야한다는 사실에 의해 약간 보상됩니다)
- 상자가 라우터이기도 한 경우 규칙 하나만 적용 (필터 / 전달에 동일한 규칙을 추가 할 필요가 없기 때문에 모든 규칙에 대해 괜찮지는 않습니다)
나는 빠른 테스트 만했는데 이것은 완벽하게 작동합니다.
내가 찾은 문서는 항상 엄격한 경우에 사용되는 원시 테이블을 설명합니다. 그러나 가장 작은 정당화조차 제공하지 않습니다.
질문 : 독단적 인 테이블을 제외하고 원시 테이블을 사용하지 않는 이유가 있습니까?