8.5.3. 동적 세트를 사용하여 패킷 경로의 항목 추가
nftables 의 동적 세트는 패킷 데이터에서 IP 주소, 포트, MAC 주소와 같은 요소를 자동으로 추가합니다. 이를 통해 실시간 데이터 수집으로 동적 거부 또는 금지 목록을 생성하여 보안 위협에 즉시 대응할 수 있습니다.
사전 요구 사항
-
inet제품군의example_chain체인과example_table테이블이 있습니다.
프로세스
빈 세트를 만듭니다. 다음 예제에서는 IPv4 주소에 대한 세트를 생성합니다.
여러 개별 IPv4 주소를 저장할 수 있는 세트를 생성하려면 다음을 수행합니다.
# nft add set inet example_table example_set { type ipv4_addr \; }IPv4 주소 범위를 저장할 수 있는 세트를 생성하려면 다음을 수행합니다.
# nft add set inet example_table example_set { type ipv4_addr \; flags interval \; }중요쉘이 명령의 마지막으로 message를 해석하지 못하도록 하려면 백슬래시를 사용하여 together을 이스케이프해야 합니다.
들어오는 패킷의 소스 IPv4 주소를
example_set세트에 동적으로 추가하는 규칙을 만듭니다.# nft add rule inet example_table example_chain set add ip saddr @example_set명령은
example_chain규칙 체인에 새 규칙을 생성하고example_table은 패킷의 소스 IPv4 주소를example_set에 동적으로 추가합니다.
검증
규칙이 추가되었는지 확인합니다.
# nft list ruleset ... table ip example_table { set example_set { type ipv4_addr elements = { 192.0.2.250, 192.0.2.251 } } chain example_chain { type filter hook input priority 0 add @example_set { ip saddr } } }명령은 현재
nftables에 로드된 전체 규칙 세트를 표시합니다. IP가 적극적으로 규칙을 트리거하고 있으며example_set이 관련 주소로 업데이트되고 있음을 보여줍니다.
다음 단계
동적 IP 세트가 있으면 다양한 보안, 필터링 및 트래픽 제어 목적으로 사용할 수 있습니다. 예를 들면 다음과 같습니다.
- 블록, 제한 또는 네트워크 트래픽 로그
- 신뢰할 수 있는 사용자를 금지하기 위해 허용 목록과 결합
- 자동 시간 초과를 사용하여 초과 차단 방지