6.5. nftables 명령에서 검증 맵 사용
사전이라고도 하는verdict 맵을 사용하면
nft 가 작업과 일치 기준을 매핑하여 패킷 정보를 기반으로 작업을 수행할 수 있습니다.
6.5.1. nftables에서 익명 맵 사용 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
익명 맵은 규칙에서 직접 사용하는
{ match_criteria : action } 문입니다. 문에는 쉼표로 구분된 여러 매핑이 포함될 수 있습니다.
익명 맵의 단점은 맵을 변경하려면 규칙을 교체해야 합니다. 동적 솔루션의 경우 6.5.2절. “nftables에서 이름이 지정된 맵 사용” 에 설명된 대로 이름이 지정된 맵을 사용합니다.
이 예제에서는 익명 맵을 사용하여 IPv4 및 IPv6 프로토콜의 TCP 및 UDP 패킷을 서로 다른 체인으로 라우팅하여 수신되는 TCP 및 UDP 패킷을 개별적으로 계산하는 방법을 설명합니다.
절차 6.15. nftables에서 익명 맵 사용
- example_table 을 생성합니다.
nft add table inet example_table
# nft add table inet example_tableCopy to Clipboard Copied! Toggle word wrap Toggle overflow - example_table 에
tcp_packets체인을 만듭니다.nft add chain inet example_table tcp_packets
# nft add chain inet example_table tcp_packetsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 이 체인의 트래픽 수를 계산하는
tcp_packets에 규칙을 추가합니다.nft add rule inet example_table tcp_packets counter
# nft add rule inet example_table tcp_packets counterCopy to Clipboard Copied! Toggle word wrap Toggle overflow - example_table 에
udp_packets체인을 생성합니다.nft add chain inet example_table udp_packets
# nft add chain inet example_table udp_packetsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 이 체인의 트래픽을 계산하는
udp_packets에 규칙을 추가합니다.nft add rule inet example_table udp_packets counter
# nft add rule inet example_table udp_packets counterCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 들어오는 트래픽에 사용할 체인을 만듭니다. 예를 들어 들어오는 트래픽을 필터링하는 example_table 에서
incoming_traffic라는 체인을 생성하려면 다음을 수행합니다.nft add chain inet example_table incoming_traffic { type filter hook input priority 0 \; }# nft add chain inet example_table incoming_traffic { type filter hook input priority 0 \; }Copy to Clipboard Copied! Toggle word wrap Toggle overflow incoming_traffic에 익명 맵이 있는 규칙을 추가합니다.nft add rule inet example_table incoming_traffic ip protocol vmap { tcp : jump tcp_packets, udp : jump udp_packets }# nft add rule inet example_table incoming_traffic ip protocol vmap { tcp : jump tcp_packets, udp : jump udp_packets }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 익명 맵은 패킷을 구분하여 프로토콜을 기반으로 다른 카운터 체인으로 보냅니다.- 트래픽 카운터를 나열하려면 example_table 을 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow tcp_packets및udp_packets체인의 카운터는 수신된 패킷 수와 바이트를 모두 표시합니다.