2.9. nftables를 사용하여 연결 양 제한


nftables 를 사용하여 연결 수를 제한하거나 지정된 연결 양을 설정하려는 IP 주소를 차단하여 너무 많은 시스템 리소스를 사용할 수 있습니다.

2.9.1. nftables를 사용하여 연결 수 제한

nft 유틸리티의 ct count 매개변수를 사용하면 IP 주소당 동시 연결 수를 제한할 수 있습니다. 예를 들어 이 기능을 사용하여 각 소스 IP 주소가 호스트에 대한 두 개의 병렬 SSH 연결만 설정할 수 있도록 구성할 수 있습니다.

절차

  1. inet 주소 제품군을 사용하여 filter 테이블을 생성합니다.

    # nft add table inet filter
  2. inet 필터 테이블에 입력 체인을 추가합니다.

    # nft add chain inet filter input { type filter hook input priority 0 \; }
  3. IPv4 주소에 대한 동적 세트를 생성합니다.

    # nft add set inet filter limit-ssh { type ipv4_addr\; flags dynamic \;}
  4. IPv4 주소에서 SSH 포트(22)에 동시에 들어오는 연결만 허용하는 입력 체인에 규칙을 추가하고 동일한 IP에서 추가 연결을 모두 거부합니다.

    # nft add rule inet filter input tcp dport ssh ct state new add @limit-ssh { ip saddr ct count over 2 } counter reject

검증

  1. 동일한 IP 주소에서 호스트로의 두 개 이상의 새 동시 SSH 연결을 설정합니다. 두 연결이 이미 설정된 경우 nftables는 SSH 포트에 대한 연결을 거부합니다.
  2. limit-ssh 측정을 표시합니다.

    # nft list set inet filter limit-ssh
    table inet filter {
      set limit-ssh {
        type ipv4_addr
        size 65535
        flags dynamic
        elements = { 192.0.2.1 ct count over 2 , 192.0.2.2 ct count over 2 }
      }
    }

    elements 항목은 현재 규칙과 일치하는 주소를 표시합니다. 이 예에서 요소는 SSH 포트에 대한 활성 연결이 있는 IP 주소를 나열합니다. 출력에 활성 연결 수 또는 연결이 거부된 경우 출력은 표시되지 않습니다.

1분 이내에 10개 이상의 IPv4 TCP 연결을 설정하는 호스트를 일시적으로 차단할 수 있습니다.

절차

  1. ip address family로 filter 테이블을 생성합니다.

    # nft add table ip filter
  2. 필터 테이블에 입력 체인을 추가합니다.

    # nft add chain ip filter input { type filter hook input priority 0 \; }
  3. filter 테이블에 denylist라 세트를 추가합니다.

    # nft add set ip filter denylist { type ipv4_addr \; flags dynamic, timeout \; timeout 5m \; }

    이 명령은 IPv4 주소에 대한 동적 세트를 생성합니다. timeout 5m 매개변수는 설정된 값이 오래된 항목으로 채워지지 않도록 5분 후에 nftables 가 자동으로 항목을 제거함을 정의합니다.

  4. 1분 내에 새 TCP 연결을 허용하려는 호스트의 소스 IP 주소를 거부 목록에 자동으로 추가하는 규칙을 추가합니다.

    # nft add rule ip filter input ip protocol tcp ct state new, untracked add @denylist { ip saddr limit rate over 10/minute } drop
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동