미터에 대한 nftables 설정 구문 대체는 정확히 어떻게 작동합니까?

미터에 대한 nftables 설정 구문 대체는 정확히 어떻게 작동합니까?

오늘은 nftables추천하다예를 들어 동적 IP별 블랙리스트를 생성할 때 미터 대신 컬렉션을 사용합니다(예:매뉴얼 페이지v0.98:

set blackhole {
    type ipv4_addr
    flags dynamic
    timeout 30m
}

set flood {
    type ipv4_addr
    flags dynamic
    timeout 1m
}

ip saddr @blacklist drop

ct state new \
  add @flood { ip saddr limit rate over 10/minute } \
  add @blacklist { ip saddr } \
  drop
  1. 여기서 명령문의 실행 흐름은 무엇입니까 add? 두 번째는 add첫 번째에 지정된 IP당 제한에 도달한 경우에만 실행되는데, 그 이유는 무엇입니까? 첫 번째 항목이 실제로 어떤 작업을 수행하는지(즉, 아직 테이블에 항목이 없는지) 여부와 관련이 있습니까 add? add아니면 지금까지 생성된 연결의 집합과 개수를 보고 어떤 역할을 하는 걸까요?

  2. 항상 실행되나요 drop? 아니면 add두 번째 것을 평가한 후? 왜?

  3. 조회 테이블은 한도를 추적하는 데 어떻게 도움이 됩니까? 실제 컬렉션 내용을 보면 막바지 신규 연결 등의 수치가 전혀 보이지 않습니다. 타임스탬프를 저장하고 실제 계산을 커널에 위임합니까?

  4. 왜 홍수 제한 간격을 두 번 지정해야 합니까(set timeoutlimit문에서와 같이)? 서로 다른 두 값을 사용하는 것이 적합한 사용 사례가 있나요?

  5. 이것Red Hat 7 문서IP별 연결 제한기의 예는 다음과 같습니다. nft add rule ip filter input ip protocol tcp ct state new, untracked limit rate over 10/minute add @denylist { ip saddr }

환율이 이렇기 때문에 제 생각에는 정확하지 않은 것 같습니다.앞으로즉, add분당 10개의 새로운 연결에 도달하면 IP를 테이블에 추가한다는 의미입니다.어느지적 재산권?

언어의 실제 의미에 대한 문서에 대한 포인터를 제공해 주셔서 감사합니다.

관련 정보