  | 
	
 | 	
	  | 
	
	
		
	  |  
	| 
	
	 |  
	 
		
		
			
				
				 - 1. 개요
 
				웹서버를 운영하다 보면, 특정 IP에서 비정상적으로 접속을 과다하게 시도하여 시스템에 부하를 주는 경우가 있다. 
				이 때 iptables 룰을 이용하면 한 IP에서의 접속량을 제한하고 이후에 접속량이 과다한 해당 IP를 자동 차단하도록 할 수 있다.
  
				2. 명령어 예제 및 설명  
				iptables -A FORWARD -m recent --name badguy --rcheck --seconds 300 -j DROP 
				iptables -A FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 30 -m recent --name badguy --set -j DROP 
				iptables -A FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 30 -j DROP 
				exit 0;
  
				이렇게 3가지 규칙만 실행하면 되늗데, 단순히 3번째 규칙만 실행하면 한 IP에서의 동시접속이 30회만 허용되고 그 이상 접속을 하지 못한다. 
				앞의 두 가지 규칙과 함께 사용하면 동시접속이 30회 이상 초과하는 IP를 동적으로 300초(5분)동안 차단할 수 있다. 
				동시접속 수 제한이나 차단 시간은 적절히 설정하면 된다.
  
				과다접속으로 차단된 IP에 대한 정보는 다음과 같이 실시간으로 확인할 수 있다. 
				# cat /proc/net/ipt_recent/badguy
  
				src=100.123.65.15 ttl: 63 last_seen: 1174481 oldest_pkt: 2 last_pkts: 1174481, 1174481 
			   |  
			  | 
	 |  
 
								
	
						 |