#!/bin/bash
i=`which iptables`
#limity
echo 8192 > /proc/sys/net/ipv4/ip_conntrack_max
echo 8192 > /proc/sys/net/ipv4/netfilter/ip_conntrack_max
echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_time
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
echo 50 > /proc/sys/net/ipv4/netfilter/ip_conntrack_generic_timeout
echo 5 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close
echo 120 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close_wait
echo 7200 >/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
echo 120 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_fin_wait
echo 60 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_time_wait
echo 10 > /proc/sys/net/ipv4/netfilter/ip_conntrack_udp_timeout

echo 30 > /proc/sys/net/ipv4/netfilter/ip_conntrack_generic_timeout 
echo 10 > /proc/sys/net/ipv4/netfilter/ip_conntrack_icmp_timeout 
echo 5 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close 
echo 20 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close_wait 
echo 320 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established 
echo 20 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_fin_wait 
echo 30 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_last_ack

#grep -v udp /proc/net/ip_conntrack|cut -c 12-|cut -d" " -f 2,3,4,5,6|sort -k 2,5|grep src=192.168.1.81|wc -l

for IP_LIMIT in `cat /etc/niceshaper/users | cut -d " " -f1`;do 
$i -t filter -A FORWARD -s $IP_LIMIT -p tcp -m connlimit --connlimit-above 40 -j DROP 
$i -t filter -A FORWARD -s $IP_LIMIT -p tcp -m connlimit --connlimit-above 20 -m ipp2p --ipp2p -j DROP 
$i -t filter -A FORWARD -d $IP_LIMIT -p tcp -m limit --limit 6/s -m ipp2p --ipp2p -j ACCEPT 
$i -t filter -A FORWARD -s $IP_LIMIT -p tcp -m limit --limit 6/s -m ipp2p --ipp2p -j ACCEPT 
$i -t filter -A FORWARD -d $IP_LIMIT -p udp -m limit --limit 6/s -m ipp2p --ipp2p -j ACCEPT 
$i -t filter -A FORWARD -s $IP_LIMIT -p udp -m limit --limit 6/s -m ipp2p --ipp2p -j ACCEPT 
echo "komp $IP_LIMIT  zlimitowany" 
done 