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

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

의 의미가 궁금합니다.ipset(8).

집합과 일치하는 규칙을 추가한 다음 집합을 조작하는 것이 가능합니까 ? 아니면 이름과 일치하는 규칙 iptables에 적용하기 위해 집합을 만들고 이전 집합으로 교체할 수만 있습니까 ?iptables즉, 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

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

규칙 -j SET --add-set ...내에서 임시로 IP 세트를 조작하는 데 사용할 수 있다는 것을 알았습니다 . iptables이로 인해 특정 지점에서 세트를 조작하는 것이 작동해야 한다고 생각합니다.

그러나 ipset프로젝트 사이트에서는 새로운(조정된) 세트를 다른 세트로 교체하는 것이 더 나은 대안이라고 제안하는 것 같습니다. 를 통해 ipset swap또는 를 통해 가능합니다 ipset restore -!.

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

답변1

이미 정의된 세트에 IP를 즉시 추가하고 제거할 수 있습니다. 이것이 IPset의 기본 아이디어 중 하나입니다. 이것이 가능하지 않다면 전체 set확장이 iptables의미가 없을 것입니다.

의 기본 목표는 ipset일치 클래스를 (또한 동적으로) 정의할 수 있도록 하는 것이었습니다(예: 모든 단일 호스트에 대해 하나의 규칙을 마법처럼 추가할 필요 없이 동적으로 악성 호스트를 블랙리스트에 추가하는 경우).

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

  • 여러 개의 IP 주소 또는 포트 번호를 저장하고 한 번에 iptables의 컬렉션과 일치시킵니다.
  • 성능 저하 없이 IP 주소 또는 포트에 대한 iptables 규칙을 동적으로 업데이트합니다.
  • 하나의 단일 iptables 규칙으로 복잡한 IP 주소 및 포트 기반 규칙 세트를 표현하고 IP 세트 속도의 이점을 누리세요.

관련 정보