Ами да малки са, но при ъплоада играеха голяма роля та добавих още едни стойности в config.pl съответно за международен - ъплоад, БГ- ъплоад , и ги замених в tc.add и tc.change. Ето как изглежда в момента:
1.config.pl
#!/usr/bin/perl
### PATH Config ###############################################################
$ipt = "/sbin/iptables"; # Path to iptables binary
$ips = "/sbin/ipset"; # Path to ipset binary
$self = "/admin/firewall/flatc/"; # Installation path of this package
###############################################################################
### Interfaces config #########################################################
$EXT_ETH = "eth0"; # Interface connected to your ISP
$INT_ETH = "eth1"; # Interface connected to your LAN
###############################################################################
#### Trafic control config ####################################################
$TRAFF_ALL_UL = "100Mbit"; # Total download bandwidth
$TRAFF_BG_UL = "10Mbit"; # BG download bandwidth
$TRAFF_INT_UL = "5Mbit"; # International download bandwidth
$TRAFF_ALL_DL = "100Mbit"; # Total upload bandwidth
$TRAFF_BG_DL = "100Mbit"; # BG upload bandwidth
$TRAFF_INT_DL = "15Mbit"; # International upload bandwidth
$int_class_param = "cburst 128Kb"; # Some additional TC params (read the HTB manual)
$bg_class_param = "cburst 512Kb";
$int_ul_class_param = "cburst 0Kb";
$bg_ul_class_param = "cburst 0Kb";
###############################################################################
return 1;
2.tc.add
#!/usr/bin/perl
require "config.pl";
require "functions.pl";
if ($#ARGV < 7)
{
print "Not enough paramters. Stopping ...\n";
exit;
}
($ip, $subnet, $bgmin, $bgmax, $intmin, $intmax, $bgrate, $bgceil, $intrate, $intceil) = @ARGV;
if ($subnet < 1)
{
print "ERROR: Subnet ID must be greater than 0. \n";
exit;
}
$ip = $ip + 0x400*$subnet;
$id = sprintf("%X", $ip + 0x100);
$class_bg_dl = "tc class add dev $INT_ETH parent 1:10 classid 1:0".$id." htb rate ".$bgmin."Kbit ceil ".$bgmax."Kbit prio 5 ".$bg_class_param;
$qdisc_bg_dl = "tc qdisc add dev $INT_ETH parent 1:0".$id." handle ".$id." sfq perturb 10";
$id = sprintf("%X", $ip + 0x200);
$class_bg_ul = "tc class add dev $EXT_ETH parent 1:15 classid 1:0".$id." htb rate ".$bgrate."Kbit ceil ".$bgceil."Kbit prio 5 ".$bg_ul_class_param;
$qdisc_bg_ul = "tc qdisc add dev $EXT_ETH parent 1:0".$id." handle 0".$id." sfq perturb 10";
$id = sprintf("%X", $ip + 0x300);
$class_int_dl = "tc class add dev $INT_ETH parent 1:20 classid 1:0".$id." htb rate ".$intmin."Kbit ceil ".$intmax."Kbit prio 4 ".$int_class_param;
$qdisc_int_dl = "tc qdisc add dev $INT_ETH parent 1:0".$id." handle ".$id." sfq perturb 10";
$id = sprintf("%X", $ip + 0x400);
$class_int_ul = "tc class add dev $EXT_ETH parent 1:25 classid 1:0".$id." htb rate ".$intrate."Kbit ceil ".$intceil."Kbit prio 4 ".$int_ul_class_param;
$qdisc_int_ul = "tc qdisc add dev $EXT_ETH parent 1:0".$id." handle ".$id." sfq perturb 10";
`$class_bg_ul`;
`$qdisc_bg_ul`;
`$class_int_ul`;
`$qdisc_int_ul`;
`$class_bg_dl`;
`$qdisc_bg_dl`;
`$class_int_dl`;
`$qdisc_int_dl`;
3.tc.change
#!/usr/bin/perl
require "config.pl";
require "functions.pl";
if ($#ARGV < 7)
{
print "Usage:\n";
print "tc.change ip subnet bgmin bgmax intmin intmax bgrate bgceil intrate intceil\n";
print "Not enough paramters. Stopping ...\n";
exit;
}
($ip, $subnet, $bgmin, $bgmax, $intmin, $intmax, $bgrate, $bgceil, $intrate, $intceil) = @ARGV;
if ($subnet < 1)
{
print "ERROR: Subnet ID must be greater than 0. \n";
exit;
}
$ip = $ip + 0x400*$subnet;
$id = sprintf("%X", $ip + 0x100);
$class_bg_dl = "tc class change dev $INT_ETH parent 1:10 classid 1:0".$id." htb rate ".$bgmin."Kbit ceil ".$bgmax."Kbit prio 5 ".$bg_class_param;
$id = sprintf("%X", $ip + 0x200);
$class_bg_ul = "tc class change dev $EXT_ETH parent 1:15 classid 1:0".$id." htb rate ".$bgrate."Kbit ceil ".$bgceil."Kbit prio 5 ".$bg_ul_class_param;
$id = sprintf("%X", $ip + 0x300);
$class_int_dl = "tc class change dev $INT_ETH parent 1:20 classid 1:0".$id." htb rate ".$intmin."Kbit ceil ".$intmax."Kbit prio 4 ".$int_class_param;
$id = sprintf("%X", $ip + 0x400);
$class_int_ul = "tc class change dev $EXT_ETH parent 1:25 classid 1:0".$id." htb rate ".$intrate."Kbit ceil ".$intceil."Kbit prio 4 ".$int_ul_class_param;
`$class_bg_ul`;
`$qdisc_bg_ul`;
`$class_int_ul`;
`$qdisc_int_ul`;
`$class_bg_dl`;
`$qdisc_bg_dl`;
`$class_int_dl`;
`$qdisc_int_dl`;
Още един път ти благодаря за помощта така всичко работи перфектно !!