Hi, I got it done. But for *http *traffic. But, I want to get it done for ftp download also. It does NOT work.
These are the rules # enable queueing on the internal interface to control traffic coming in # from the Internet. use the cbq scheduler to control bandwidth. max # bandwidth is 2Mbps. altq on em1 cbq bandwidth 2Mb queue { std_in, ssh_im_in, dns_in, student_in } # define the parameters for the child queues. # std_in - the standard queue. any filter rule below that does not # explicitly specify a queue will have its traffic added # to this queue. # ssh_im_in - interactive SSH and various instant message traffic. # dns_in - DNS replies. # student_in - bandwidth reserved for student's workstation. # queue std_in bandwidth 1.6Mb cbq(default borrow) queue ssh_im_in bandwidth 200Kb priority 4 queue dns_in bandwidth 120Kb priority 5 queue student_in bandwidth 80Kb cbq # FTP Proxy rules ( *This highlighted rule worked in bold DOES NOT work ? any idea ?)* anchor "ftp-proxy/*" *pass in quick on $int_if proto tcp from $student_pc to any port 21 \ flags S/SA keep state rdr-to 127.0.0.1 port 8021 queue student_in* pass in quick on $int_if proto tcp from $lan_net to any port 21 \ flags S/SA keep state rdr-to 127.0.0.1 port 8021 # Squid Redirect ( *This highlighted rule worked*) *pass in quick on $int_if proto tcp from $student_pc to any port { 80 8080 } \ flags S/SA keep state rdr-to 127.0.0.1 port 3128 queue student_in * pass in quick on $int_if proto tcp from $lan_net to any port { 80 8080 } \ flags S/SA keep state rdr-to 127.0.0.1 port 3128 pass in quick log on $int_if inet proto udp from $lan_net to !$int_if \ port $clientudpports keep state queue dns_in pass in quick log on $int_if inet proto tcp from $student_pc to !$int_if \ port $https flags S/SA keep state queue student_in pass in quick log on $int_if inet proto tcp from $lan_net to !$int_if \ port $https flags S/SA keep state I have got what I want up to certain extent. I am still trying to allocate ftp download for studnet_pc to 80Kbps. I think port 21 for connection to establish. It further needs ports higher than > 49151 So i added in this way as well. *pass in quick on $int_if proto tcp from $student_pc to any port ( 21 > 49151 \ flags S/SA keep state rdr-to 127.0.0.1 port 8021 queue student_in* Still no luck? Any idea? -- Thank you Indunil Jayasooriya