제가 이해한 바로는 iptables는 전송 계층(계층 4)에서 작동하며 발생하는 모든 패킷 필터링은 tcp 및 udp와 같은 계층 4 IP 프로토콜을 기반으로 합니다. 따라서 esp, gre 및 l2tp와 같은 프로토콜을 입력하면iptables-p옵션, 말이 되나요? iptables를 사용하여 계층 2/3 프로토콜을 기반으로 패킷을 필터링할 수 있습니까? 그렇지 않은 경우 iptables는 icmp 프로토콜에 따라 패킷을 어떻게 필터링합니까?
iptables를 처음 접했고 아직 배우는 중입니다. 감사해요!
답변1
iptables
데이터 링크, 네트워크 및 전송 계층 필터링을 지원합니다.
(protocol -p
) 옵션은 특별히 계층 4 프로토콜로 제한되지 않습니다. 이것매뉴얼 페이지icmp와 esp가 특별히 언급됩니다. gre도 지원된다는 것을 알고 있습니다("gre" 또는 프로토콜 "47"). 지정된 프로토콜은 이름이나 에 지정된 정수로 이 옵션에 전달될 수 있습니다 /etc/protocols
. iptables가 이 목록의 모든 프로토콜을 지원하는지 확실하지 않습니다.
-p 또는 --protocol이 지정되고 알 수 없는 옵션이 발견되는 경우에만 iptables는 옵션을 사용 가능하게 만들기 위해 프로토콜과 동일한 이름을 가진 일치하는 모듈을 로드하려고 시도합니다.
이 "일치 모듈" 구문은 options 를 사용하여 지정되는 확장된 패킷 일치 모듈입니다 -m --match
.
지원되는 확장 목록은 다음에서 확인할 수 있습니다.iptables 확장. 사용 가능한 netfilter 커널 모듈 목록은 에 있습니다 /lib/modules/$(uname -r)/kernel/net/netfilter
.