
--hashlimit 옵션은 iptables를 사용하여 특정 IP 주소 또는 주소 범위에서 발생하는 패킷의 수를 제한하는 기능입니다.
기본 설정과 함께 사용할 때 주의해야 하는 점은, --hashlimit 옵션을 사용하기 전에, --hashlimit-htable-size 옵션을 설정해야 합니다. 이 옵션은 해시 테이블의 크기를 지정하며, 이 크기는 패킷의 수를 제한할 때 사용됩니다.
--hashlimit-burst 옵션은 한 번에 허용되는 패킷의 수를 지정합니다. 이 옵션은 --hashlimit 옵션과 함께 사용됩니다. 예를 들어, --hashlimit 5/s --hashlimit-burst 10 옵션은 1초당 5개의 패킷을 허용하고, 10개의 패킷을 한 번에 허용합니다.
--hashlimit-htable-size 옵션은 해시 테이블의 크기를 지정합니다. 이 옵션은 --hashlimit 옵션과 함께 사용됩니다. 예를 들어, --hashlimit 5/s --hashlimit-htable-size 1024 옵션은 1초당 5개의 패킷을 허용하고, 해시 테이블의 크기를 1024로 지정합니다.
트래픽을 제한하고, 과도한 요청을 방지하는 방법은 다음과 같습니다.
1. --hashlimit 옵션을 사용하여 특정 IP 주소 또는 주소 범위에서 발생하는 패킷의 수를 제한합니다.
2. --hashlimit-burst 옵션을 사용하여 한 번에 허용되는 패킷의 수를 지정합니다.
3. --hashlimit-htable-size 옵션을 사용하여 해시 테이블의 크기를 지정합니다.
4. iptables를 사용하여 트래픽을 제한하는 규칙을 설정합니다.
예를 들어, 다음과 같은 iptables 규칙을 설정할 수 있습니다.
#hostingforum.kr
bash
iptables -A INPUT -p tcp --dport 80 -m hashlimit --hashlimit 5/s --hashlimit-burst 10 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m hashlimit --hashlimit 5/s --hashlimit-burst 10 -j DROP
이러한 규칙은 1초당 5개의 패킷을 허용하고, 10개의 패킷을 한 번에 허용합니다. 과도한 요청이 발생할 경우, 패킷은 DROP됩니다.
2025-04-23 18:29