Здравейте.
Имам шейпър който чете от конф файл и разделя интернета между машини в локалната ми мрежа.
От няколко дни се наблюдава много странен факт - едни клиенти свалят със максимума, други със 0/1/2/3КБ/с.
Забелязвам, че при всяко пускане на шейпъра, в syslog-a излиза този ред
Feb 21 16:13:14 router kernel: HTB: quantum of class 200XX is small. Consider r2q change.
Feb 21 16:13:14 router kernel: HTB: quantum of class 100XX is small. Consider r2q change.
Ето извадка от шейпъра:
Примерен код |
$IPTABLES -t mangle -A POSTROUTING -o eth0 -p tcp -m length --length :64 -j MARK --set-mark 10 $IPTABLES -t mangle -A POSTROUTING -o eth1 -p tcp -m length --length :64 -j MARK --set-mark 20 $IPTABLES -t mangle -A POSTROUTING -o eth0 -p tcp -m length --length :64 -j ACCEPT $IPTABLES -t mangle -A POSTROUTING -o eth1 -p tcp -m length --length :64 -j ACCEPT
for currow in `cat /etc/shaper.conf | grep -v '^#'` do IP=`$ECHO $currow | cut -d \| -f 1` MAC=`$ECHO $currow | cut -d \| -f 2` DOWN=`$ECHO $currow | cut -d \| -f 3` DOWNMAX=`$ECHO $currow | cut -d \| -f 4` UP=`$ECHO $currow | cut -d \| -f 5` UPMAX=`$ECHO $currow | cut -d \| -f 6` ID=`$ECHO $currow | cut -d \| -f 7` STATUS=`$ECHO $currow | cut -d \| -f 8` NUM=`$ECHO $currow | cut -d \| -f 9` $ECHO "<$NUM> <$IP> Down: $DOWN/$DOWNMAX; Up: $UP/$UPMAX;" if [ $STATUS = "1" ]; then $IPTABLES -t nat -A POSTROUTING -s $IP -o eth1 -j MASQUERADE $IPTABLES -A INPUT -s $IP -p tcp --dport 8080 -m state --state NEW,ESTABLISHED -j ACCEPT $IPTABLES -A FORWARD -s $IP -j ACCEPT $TC class add dev eth0 parent 1:1 classid 1:$ID htb rate $DOWN ceil $DOWNMAX burst 15k $TC qdisc add dev eth0 parent 1:$ID handle $ID: sfq $TC class add dev eth1 parent 2:1 classid 2:$ID htb rate $UP ceil $UPMAX burst 15k $TC qdisc add dev eth1 parent 2:$ID handle $ID: sfq $TC filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dst $IP flowid 1:$ID $TC filter add dev eth1 parent 2:0 protocol ip prio 1 u32 match ip dst $IP flowid 1:$ID $ECHO "$IP $MAC" >> /etc/ethers fi if [ $STATUS = "0" ]; then $IPTABLES -t nat -A PREROUTING -p tcp -s $IP -j REDIRECT --to-port 81 fi
done
$TC class add dev eth0 parent 1:1 classid 1:100 htb rate 100kbps prio 0 $TC class add dev eth1 parent 2:1 classid 2:100 htb rate 100kbps prio 0 $TC filter add dev eth0 parent 1:0 protocol ip handle 10 fw classid 1:100 $TC filter add dev eth1 parent 2:0 protocol ip handle 20 fw classid 2:100
|
самия конф файл представлява това:
Примерен код |
# ip|mac|down|downmax|up|upmax|id|status|nomer
10.0.0.1|XX:XX:XX:XX:XX:XX|5kbps|6kbps|5kbps|6kbps|21|1|1 10.0.0.2|XX:XX:XX:XX:XX:XX|10kbps|11kbps|5kbps|6kbps|22|1|2 ...........
|
Ако забележите нещо странно кажете моля ви.. търся грешки но няма ;/