hello all,<br><br>I got little stuck with my configuration :<br><br>I have network like this :<br>ADSL<---(ppp0 in eth0 : pppoe)---> [Linux BOX : squid+LAN portal+samba ] <---> LAN<br><br>ADSL link down/up = 256kbps/64kbps
<br>ADSL ppp0/eth0 = public IP<br>eth1 = <a href="http://172.16.1.1/24">172.16.1.1/24</a><br>LAN = <a href="http://172.16.1.0/24">172.16.1.0/24</a><br><br>in linux box I run squid transparent proxy in port 8080, web server, and samba file sharing.
<br><br>I already masquerade all traffic in ppp0 using :<br>iptables -t nat -A POSTROUTING -o ppp+ -j MASQUERADE<br><br>proxy redirection success with this command :<br>iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
<br><br>I have limit bandwidth for all client (one-by-one) with this script :<br>#!/bin/sh<br>tc qdisc del dev eth1 root<br>tc qdisc add dev eth1 root handle 1: htb default 9999<br>tc class add dev eth1 parent 1:0 classid 1:10 htb rate 100Mbit
<br><br>RATE=92kbit<br><br>tc class add dev eth1 parent 1:10 classid 1:100 htb rate $RATE<br>tc qdisc add dev eth1 parent 1:100 sfq quantum 1514b perturb 15<br>tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst
<a href="http://172.16.1.2/32">172.16.1.2/32</a> flowid 1:100<br><br>tc class add dev eth1 parent 1:10 classid 1:200 htb rate $RATE<br>tc qdisc add dev eth1 parent 1:200 sfq quantum 1514b perturb 15<br>tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst
<a href="http://172.16.1.3/32">172.16.1.3/32</a> flowid 1:200<br><br>tc class add dev eth1 parent 1:10 classid 1:300 htb rate $RATE<br>tc qdisc add dev eth1 parent 1:300 sfq quantum 1514b perturb 15<br>tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst
<a href="http://172.16.1.4/32">172.16.1.4/32</a> flowid 1:300<br><br>tc class add dev eth1 parent 1:10 classid 1:400 htb rate $RATE<br>tc qdisc add dev eth1 parent 1:400 sfq quantum 1514b perturb 15<br>tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst
<a href="http://172.16.1.5/32">172.16.1.5/32</a> flowid 1:400<br><br>tc class add dev eth1 parent 1:10 classid 1:9999 htb rate 8Kbit<br><br><br>this is my problem:<br>1. how to make total bandwidth down/up for client only 48kbps/240kbps with class :
<br> - DNS, ssh and telnet, messenger (YM, MSN) -> 1st priority -> 30% of 48kbps/240kbps <br>- http/https -> 2nd priority -> 50% of 48kbps/240kbps<br>- others (online game, etc) -> 20%.<br>2. how to make each class above shared fairly for all client, and all class able to share each other if there're any unused bandwidth. so, no one able use full bandwidth when other clients are online except able to use all 48kbps/240kbps if only himself online that time.
<br>3. how to make all client able to access the router <a href="http://172.16.1.1">172.16.1.1</a> services without queuing in these class above, so all client able access to router service (internal portal, samba file sharing) without any traffic limit (use full speed ~ 100Mbps).
<br>4. how to make all client able to access cache that already exist in proxy without limit. <br><br>I would be very grateful if you could give me any suggestions to solve this problem...<br><br>regards,<br>denny<br>