You've already forked dockerfiles
							
							
				mirror of
				https://github.com/vimagick/dockerfiles.git
				synced 2025-10-30 23:47:48 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			25 lines
		
	
	
		
			717 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			717 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
| #
 | |
| # Dockerfile for iptables
 | |
| #
 | |
| 
 | |
| FROM alpine
 | |
| MAINTAINER kev <noreply@easypi.info>
 | |
| 
 | |
| RUN apk add -U iproute2
 | |
| 
 | |
| ENV LIMIT_PORT 8388
 | |
| ENV LIMIT_CONN 5
 | |
| ENV TCP_PORTS 80,443
 | |
| ENV UDP_PORTS 53
 | |
| ENV RATE 1mbit
 | |
| ENV BURST 1kb
 | |
| ENV LATENCY 50ms
 | |
| ENV INTERVAL 60
 | |
| 
 | |
| CMD iptables -F \
 | |
|     && iptables -A INPUT -p tcp -m state --state NEW --dport $LIMIT_PORT -m connlimit --connlimit-above $LIMIT_CONN -j DROP \
 | |
|     && iptables -A OUTPUT -p tcp -m state --state NEW -m multiport ! --dports $TCP_PORTS -j DROP \
 | |
|     && iptables -A OUTPUT -p udp -m state --state NEW -m multiport ! --dports $UDP_PORTS -j DROP \
 | |
|     && tc qdisc add dev eth0 root tbf rate $RATE burst $BURST latency $LATENCY \
 | |
|     && watch -n $INTERVAL tc -s qdisc ls dev eth0
 |