IP 세트를 교환해야 합니까, 아니면 동적으로 추가/제거할 수 있습니까?

IP 세트를 교환해야 합니까, 아니면 동적으로 추가/제거할 수 있습니까?

의 의미를 알고 싶습니다.ipset(8).

집합과 일치하는 규칙을 추가한 다음 해당 집합에 대해 작업을 수행할 수 있습니까 ? 아니면 이름과 일치하는 규칙 iptables에 적용되도록 집합을 만들고 이전 집합과 교체할 수 있습니까 ?iptables즉, IP 세트를 일시적으로 추가하거나 제거할 수 있습니까? 아니면 IP 세트가 활성 상태인 동안 전체 세트를 교환할 수 있습니까?


제가 묻는 이유는 다음과 같습니다. 컬렉션을 생성한다고 가정해 보겠습니다.

ipset create PCs hash:ip
ipset add PCs 1.1.1.1
ipset add PCs 2.2.2.2

...등. 그리고 HTTP에 대한 액세스를 허용하는 규칙은 다음과 같습니다.

iptables -A INPUT -p tcp --dport 80 -m set --set PCs src -j ACCEPT

실행하면 어떻게 되나요?

ipset add PCs 3.3.3.3

이제 규칙이 iptablesIP 3.3.3.3에도 즉시 적용됩니까?

나는 규칙 -j SET --add-set ...내에서 임시 IP 세트를 사용하여 이 작업을 수행 할 수 있다는 것을 발견했습니다 iptables. 이로 인해 특정 시점에 컬렉션을 운영하는 것이 가능해야 한다고 생각합니다.

그러나 ipset프로젝트 웹사이트에서는 새로운(조정된) 세트를 다른 세트로 교체하는 것이 더 나은 옵션임을 나타내는 것 같습니다. 통해 ipset swap또는 통해 ipset restore -!.

누구든지 이것에 대해 밝힐 수 있습니까?

답변1

정의된 컬렉션에서 IP를 동적으로 추가하고 제거할 수 있습니다. 이것이 IPset의 기본 아이디어 중 하나입니다. 이것이 가능하지 않으면 set전체 확장이 iptables의미가 없습니다.

주요 목표 ipset는 일치 범주를 (동적으로) 정의할 수 있도록 하는 것입니다(예: 각 호스트에 대한 규칙을 마술처럼 추가하지 않고도 악성 호스트를 동적으로 블랙리스트에 추가).

에서 발췌아이피셋 홈페이지

  • 여러 IP 주소 또는 포트 번호를 저장하고 한 번에 iptable 모음과 일치시킵니다.
  • 성능에 영향을 주지 않고 IP 주소 또는 포트를 기반으로 iptables 규칙을 동적으로 업데이트합니다.
  • 단일 iptables 규칙을 사용하여 복잡한 IP 주소 및 포트 기반 규칙 세트를 표현하고 IP 세트 속도의 이점을 누리세요.

관련 정보