LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Networking
User Name
Password
Linux - Networking This forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.

Notices


Reply
  Search this Thread
Old 02-13-2006, 03:06 AM   #1
zatys
LQ Newbie
 
Registered: Mar 2004
Posts: 2

Rep: Reputation: 0
Best internet traffic shaping for small lan


I'm admin of 50 clients. Sometimes I upgrading my internet traffic shaping script. I think rules of inetrnet traffic
shaping is very important thing! I would like to ask some help from people, who understand something about
SQUID ZPH and TC, to aim beter internet traffic shaping scripts.

Squid has ZPH suport, becouse its responds to such commands as:
Quote:
zph_tos_local 8
zph_tos_peer 0
zph_tos_parent off
Next 2 comands SQUID is not responding ( I think it's becouse of KERNEL..). As I readed about it on ZPH site, I think
those 2 comands are not valued for my idea.
Quote:
zph_preserve_miss_tos on
zph_preserve_miss_tos_mask 255
With help of TC I tried to configurate flow of SQUID packets, but I failed. I want with TC configurate eth0(lan) SQUID
packets exept SQUID CACHE packet. I asking Your help!!! How must look like the TC script, wich could control all clients
speed to internet?

ZPH shapes I want to use with my IPShapig script. 1IP could get limit KB/S + SQUID CACHE. My IPShaping script controls
every IP adress kbit/sec exept traffic to server:
Quote:
#!/bin/bash
TC=/sbin/tc
HOSTS_LIST="192.168.1.3 192.168.1.4 192.168.1.5 192.168.1.6 192.168.1.7 192.168.1.8 192.168.1.9 192.168.1.10 192.168.1.11...
DEV=eth0 # ethLAN
IMQ=imq0 # --todev 0
NM=17
DN_BANDWIDTH=760Kbit #
DN=105Kbit
DN_RATE=70Kbit

UP_BANDWIDTH=600Kbit #
UP=70Kbit
UP_RATE=50Kbit

$TC qdisc add dev $DEV root handle 1: htb #default 50
$TC class add dev $DEV parent 1: classid 1:1 htb rate ${DN_BANDWIDTH} quantum 1500
iptables -t mangle -N DN_SHAPING

ip link set $IMQ up
$TC qdisc add dev $IMQ root handle 1: htb
$TC class add dev $IMQ parent 1: classid 1:1 htb rate ${UP_BANDWIDTH} quantum 1500
iptables -t mangle -N UP_SHAPING

for i in $HOSTS_LIST
do
IP=$(echo $i | awk -F '.' '{print $4}')

# Download MARK
tc class add dev $DEV parent 1:1 classid 1:$NM$IP htb rate ${DN_RATE} ceil ${DN} prio 0 quantum 1500
tc qdisc add dev $DEV parent 1:$NM$IP handle $NM$IP: sfq perturb 6
tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle $NM$IP fw flowid 1:$NM$IP

tc class add dev $IMQ parent 1:1 classid 1:$NM$IP htb rate ${UP_RATE} ceil ${UP} prio 0 quantum 1500
tc qdisc add dev $IMQ parent 1:$NM$IP handle $NM$IP: sfq perturb 6
tc filter add dev $IMQ parent 1:0 prio 0 protocol ip handle $NM$IP fw flowid 1:$NM$IP

iptables -t mangle -A DN_SHAPING -s ! 192.168.1.2 -d $i -j MARK --set-mark $NM$IP
iptables -t mangle -A UP_SHAPING -s $i -d ! 192.168.1.2 -j MARK --set-mark $NM$IP
done

iptables -t mangle -I POSTROUTING -o $DEV -j DN_SHAPING
iptables -t mangle -I PREROUTING -i $DEV -j UP_SHAPING
iptables -t mangle -A UP_SHAPING -j IMQ --todev 0
===================================
2.If in one time 3 IP adresses using internet. TC script:
Quote:
tc qdisc add dev $DEV root handle 1: htb default 255
tc class add dev $DEV parent 1: classid 1:1 htb rate 384Kbit quantum 1500

tc class add dev $DEV parent 1:1 classid 1:20 htb rate 128Kbit ceil 384Kbit prio 0 quantum 1500
tc class add dev $DEV parent 1:1 classid 1:21 htb rate 128Kbit ceil 384Kbit prio 0 quantum 1500
tc class add dev $DEV parent 1:1 classid 1:22 htb rate 128Kbit ceil 384Kbit prio 0 quantum 1500

tc qdisc add dev $DEV parent 1:20 handle 20: sfq perturb 6
tc qdisc add dev $DEV parent 1:21 handle 21: sfq perturb 6
tc qdisc add dev $DEV parent 1:22 handle 22: sfq perturb 6

tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 20 fw flowid 1:20
tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 21 fw flowid 1:21
tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 22 fw flowid 1:22

iptables -t mangle -I POSTROUTING -o $DEV -s ! $SERVER_IP -d 192.168.1.20 -j MARK --set-mark 20
iptables -t mangle -I POSTROUTING -o $DEV -s ! $SERVER_IP -d 192.168.1.21 -j MARK --set-mark 21
iptables -t mangle -I POSTROUTING -o $DEV -s ! $SERVER_IP -d 192.168.1.22 -j MARK --set-mark 22
If we swiched on 2 PC's (192.168.1.20 & 192.168.1.21) many p2p programs, FTP with many conections, and on 3d PC
(192.168.1.22) FTP downloading with one conection. then 3d PC getin less than 128kbit. If i want that all 3 PC's get
NOT LESS than 128kbit, what should I do with my script?

If I could solve this BIG problem, than I could use it with my IPShaping script and user at night, when flow is free, he could get
all internet speed.

Sorry for bad speling!

Last edited by zatys; 02-13-2006 at 03:07 AM.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Traffic shaping (limiting outgoing bandwidth of all TCP-traffic except FTP/HTTP) ffkodd Linux - Networking 3 10-25-2008 12:09 AM
Traffic Shaping SchwipSchwap Linux - Newbie 2 10-23-2008 12:42 PM
Traffic shaping on small ISP Ghitza Linux - Networking 0 11-26-2004 01:28 AM
setting up internet in small LAN lukalinuix Slackware 8 02-10-2004 06:28 AM
Traffic Shaping ?? DocKane Linux - Networking 2 08-24-2001 09:32 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Networking

All times are GMT -5. The time now is 04:34 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration