LINUX.ORG.RU

shaper iptables traffic counter

 


0

1

дравствуйте написал программу подсчета трафика на linux но шейпер не работает помогите пожалуйста

Мои сетевые настройки следующие

ens5 - сеть интернет адрес ХХХ.ХХХ.ХХХ.ХХХ ens2 - локадьная сет адрес 192.168.10.1

IP адрес пользователей хранится в файле /var/www/traf/users следующим образом 192.168.10.2 192.168.10.3 192.168.10.4  и далее Если IP не прописанов этом файле то не должно имет доступ к Интернет

программа подсчета трафика приведене ниже

//=================================================

#/bin/bash date=`date '+%Y-%m-%d'`; time=`date '+%H:%M:%S'`;

IPTABLES=«/sbin/iptables»

$IPTABLES -t mangle -nxvL PREROUTING | awk '/ACCEPT.*ens2/ {print $8,$2}'>/var/www/traf/trafinput

cat /var/www/traf/trafinput | while read line; do var1=`echo «$line»|awk '{print $1}'` var2=`echo «$line»|awk '{print $2}'` MYSQL_RESULT=`mysql -D trafic -u root --password=12345678 -e «INSERT INTO minutinput (m_date, m_time, m_ip_address, m_input) VALUES('$date','$time','$var1','$var2')»`; done;

$IPTABLES -F $IPTABLES -F -t nat $IPTABLES -F -t mangle $IPTABLES -X $IPTABLES -X -t nat $IPTABLES -X -t mangle $IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT DROP $IPTABLES -P FORWARD DROP $IPTABLES -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A FORWARD -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT $IPTABLES -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu $IPTABLES -A INPUT -i lo -p all -j ACCEPT $IPTABLES -A OUTPUT -o lo -p all -j ACCEPT $IPTABLES -A INPUT -i ens2 -j ACCEPT $IPTABLES -A OUTPUT -o ens2 -j ACCEPT $IPTABLES -A FORWARD -i ens2 -s 192.168.10.0/255.255.255.0 -p tcp -m multiport --dports 21,22,25,110,143,443 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A FORWARD -i ens2 -s 192.168.10.0/255.255.255.0 -p udp -m multiport --dports 53 -j ACCEPT $IPTABLES -A FORWARD -i ens2 -s 192.168.10.0/255.255.255.0 -p tcp -m multiport --dports 53 -j ACCEPT $IPTABLES -A INPUT -i ens2 -p ICMP -j ACCEPT $IPTABLES -A OUTPUT -o ens2 -p ICMP -j ACCEPT $IPTABLES -A INPUT -i ens5 -p tcp -m multiport --dports 22,80,3306 -j ACCEPT $IPTABLES -A OUTPUT -o ens5 -p tcp -m multiport --dports 22,80,3306 -j ACCEPT

cat /var/www/traf/users | while read line; do var1=`echo «$line»|awk '{print $1}'`

$IPTABLES -t mangle -A PREROUTING -i ens2 -s $var1 -j ACCEPT $IPTABLES -t mangle -A POSTROUTING -o ens2 -d $var1 -j ACCEPT done;

$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128

$IPTABLES -t nat -A POSTROUTING -s 192.168.10.0/255.255.255.0 -j SNAT --to-source ХХХ.ХХХ.ХХХ.ХХХ $IPTABLES -t nat -A POSTROUTING -o ens5 -j MASQUERADE

//=================================================

программа шейпинга приведена ниже

//================================= #!/bin/bash TC=/sbin/tc

IF=ens2 # Interface

DNLD=40kbit # DOWNLOAD Limit

UPLD=40kbit # UPLOAD Limit

IP=192.168.10.2 # Host IP

tc qdisc del dev ens5 root tc qdisc del dev ens2 root U32=«$TC filter add dev $IF protocol ip parent 1:0 prio 1 u32» $TC qdisc add dev $IF root handle 1: htb default 30 $TC class add dev $IF parent 1: classid 1:1 htb rate $DNLD $TC class add dev $IF parent 1: classid 1:2 htb rate $UPLD $U32 match ip dst $IP/32 flowid 1:1 $U32 match ip src $IP/32 flowid 1:2

но программа не работает пожалуйста помогите

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.