ipset 항목을 "연령"으로 만드는 방법은 무엇입니까?

ipset 항목을 "연령"으로 만드는 방법은 무엇입니까?

시스템에 성공적으로 로그인한 클라이언트의 화이트리스트를 작성하려고 합니다 ipset. 나중에 항목의 기간을 기준으로 항목을 삭제할 수 있도록 항목을 기간 동안 처리하려면 어떤 옵션이 있어야 합니까?

아래에 설명된 아이디어보다 더 나은 접근 방식이 있습니까?

직접적으로 제공된 것을 찾지 못했기 때문에 ipset그러한 시설이 존재하는지 확인/범위를 확인하려고 노력하고 있습니다.ipsetiptables


지금 당장 떠오르는 유일한 아이디어는 cronjob을 사용하여 X분 또는 시간마다 목록을 교환하는 것입니다. 예를 들어, 내가 20:00에서 20:59 사이에 있다면 whitelist활성 목록과 다음 시간(예: 21:00)에 대한 목록이 있습니다. whistelist_21모든 클라이언트 연결지금whitelist다음 시간(또는 특정 기간) 동안 활성 상태 및 화이트리스트에 추가됩니다 . 그런 다음 매 시간(또는 특정 기간)마다 cronjob(위의 경우 21:00)이 기존 작업 을 (현재 이름이 바뀐) 작업 whitelist으로 바꾸고 whitelist_21처리합니다 whitelist. 예를 들어:

ipset swap whitelist whitelist_21
ipset destroy whitelist_21

답변1

man이 페이지는 내가 찾고 있는 것을 설명하는 것으로 나타났습니다 . 적절하게 호출되며 timeoutIP 집합에 항목을 추가할 때 지정할 수 있습니다. 용어를 잘못 검색해서 놓쳤네요.

설정의 기본값을 재정의해야 하는 경우 컬렉션을 생성할 때 그리고 나중에 추가된 각 항목에 대해 기본 시간 초과 값을 지정할 수 있습니다.

다음의 예 ipset(8):

ipset create test hash:ip timeout 300
ipset add test 192.168.0.1 timeout 60
ipset -exist add test 192.168.0.1 timeout 600

관련 정보