connlimit를 IP 세트와 결합하는 방법은 무엇입니까?

connlimit를 IP 세트와 결합하는 방법은 무엇입니까?

connlimit클라이언트/서비스당 연결 수를 제한하겠습니다. 이러한 규칙을 최신 버전의 Linux 커널 및 넷필터에서 사용할 수 있는 IP 세트와 어떻게 결합합니까?

답변1

이라는 이름의 ipset이 있고 MYTESTSETipset 유형이 이라고 가정합니다 hash:ip. IP 주소만 저장됩니다.

그런 다음 IPset과 일치시키고 connlimit일치 확장자와 일치시킨 후 원하는 매개변수를 사용하십시오.

iptables -A INPUT -p tcp -m set --match-set MYTESTSET src -m connlimit --connlimit-above 1 --connlimit-saddr --connlimit-mask 32 -j DROP

이는 다음을 수행합니다. IP 세트의 각 소스에 대해 연결 수가 계산되고 둘 이상이면(--connlimit-above 1) 삭제되어 연결 수를 제한합니다.ipset의 각 소스1로. (다른 방법으로 일치시킬 수도 있습니다. 대신 --connlimit-upto xxxand 를 사용하세요 )-j ACCEPTDROP

전체 세트를 고려하여 1개의 연결을 허용하려는 경우ipset의 모든 소스에 대해그런 다음 --connlimit-mask스위치를 0으로 설정합니다.

관련 정보