[RH 8.0] Wondershaper

Pagina: 1
Acties:
  • 60 views sinds 30-01-2008

  • Magnolia
  • Registratie: Maart 2001
  • Laatst online: 07-05 19:37
Hoi,

Ik heb een probleempje, Ik heb gister op mijn server pc (celly 333, BX Mobo, 384Mb, 3.2 GB, 2 NIC's) Red Hat 8.0 geinstalleerd, dit ging prima. Ik beschik ook over een 1024/512 Demon ADSL verbinding. Deze wil ik delen. Mn 1e NIC zit aan mn switch vast (eth0 @ 100Mbit) Mn 2e NIC zit aan mn modem vast die dmv DHCP zn ip en DNS servers krijgt toegewezen door Demon. Op de switch zitten ook nog 5 XP Client pc's. Ik heb dmv guidedog Ip Masq aan weten te zetten, en iedereen kan nu vrolijk internetten. Maar ik wil ook bijv via msn kunnen file transferen (poort 6891 - 6900). Nu komt mn 1e vraag, hoe kan ik poortmappen? Liefst via een GUI want commandline is nix voor mij :P Nu wil ik ook rustig kunne door gamen als iemand gaat surfen en of downloaden. Ik heb gezocht en dit bleek via het zogenaamde "wondershaperscript" te kunnen. Als ik het goed begrepen moet je dat script aanpassen en ergens in etc/ neergooien zodat het elke x uitgevoerd word met opstarten. Mn script ziet er als volgt uit, nu mn 2e vraag, waarom werkt hij niet?


#!/bin/bash

# Wonder Shaper
# please read the README before filling out these values
#
# Set the following values to somewhat less than your actual download
# and uplink speed. In kilobits. Also set the device that is to be shaped.
DOWNLINK=920
UPLINK=460
DEV=eth1

# low priority OUTGOING traffic - you can leave this blank if you want
# low priority source netmasks
NOPRIOHOSTSRC=80

# low priority destination netmasks
NOPRIOHOSTDST=

# low priority source ports
NOPRIOPORTSRC=

# low priority destination ports
NOPRIOPORTDST=

#########################################################

if [ "$1" = "status" ]
then
tc -s qdisc ls dev $DEV
tc -s class ls dev $DEV
exit
fi


# clean existing down- and uplink qdiscs, hide errors
tc qdisc del dev $DEV root 2> /dev/null > /dev/null
tc qdisc del dev $DEV ingress 2> /dev/null > /dev/null

if [ "$1" = "stop" ]
then
exit
fi

###### uplink

# install root CBQ

tc qdisc add dev $DEV root handle 1: cbq avpkt 1000 bandwidth 10mbit

# shape everything at $UPLINK speed - this prevents huge queues in your
# DSL modem which destroy latency:
# main class

tc class add dev $DEV parent 1: classid 1:1 cbq rate ${UPLINK}kbit \
allot 1500 prio 5 bounded isolated

# high prio class 1:10:

tc class add dev $DEV parent 1:1 classid 1:10 cbq rate ${UPLINK}kbit \
allot 1600 prio 1 avpkt 1000

# bulk and default class 1:20 - gets slightly less traffic,
# and a lower priority:

tc class add dev $DEV parent 1:1 classid 1:20 cbq rate $[9*$UPLINK/10]kbit \
allot 1600 prio 2 avpkt 1000

# 'traffic we hate'

tc class add dev $DEV parent 1:1 classid 1:30 cbq rate $[8*$UPLINK/10]kbit \
allot 1600 prio 2 avpkt 1000

# all get Stochastic Fairness:
tc qdisc add dev $DEV parent 1:10 handle 10: sfq perturb 10
tc qdisc add dev $DEV parent 1:20 handle 20: sfq perturb 10
tc qdisc add dev $DEV parent 1:30 handle 30: sfq perturb 10

# start filters
# TOS Minimum Delay (ssh, NOT scp) in 1:10:
tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \
match ip tos 0x10 0xff flowid 1:10

# ICMP (ip protocol 1) in the interactive class 1:10 so we
# can do measurements & impress our friends:
tc filter add dev $DEV parent 1:0 protocol ip prio 11 u32 \
match ip protocol 1 0xff flowid 1:10

# prioritize small packets (<64 bytes)

tc filter add dev $DEV parent 1: protocol ip prio 12 u32 \
match ip protocol 6 0xff \
match u8 0x05 0x0f at 0 \
match u16 0x0000 0xffc0 at 2 \
flowid 1:10


# some traffic however suffers a worse fate
for a in $NOPRIOPORTDST
do
tc filter add dev $DEV parent 1: protocol ip prio 14 u32 \
match ip dport $a 0xffff flowid 1:30
done

for a in $NOPRIOPORTSRC
do
tc filter add dev $DEV parent 1: protocol ip prio 15 u32 \
match ip sport $a 0xffff flowid 1:30
done

for a in $NOPRIOHOSTSRC
do
tc filter add dev $DEV parent 1: protocol ip prio 16 u32 \
match ip src $a flowid 1:30
done

for a in $NOPRIOHOSTDST
do
tc filter add dev $DEV parent 1: protocol ip prio 17 u32 \
match ip dst $a flowid 1:30
done

# rest is 'non-interactive' ie 'bulk' and ends up in 1:20

tc filter add dev $DEV parent 1: protocol ip prio 18 u32 \
match ip dst 0.0.0.0/0 flowid 1:20


########## downlink #############
# slow downloads down to somewhat less than the real speed to prevent
# queuing at our ISP. Tune to see how high you can set it.
# ISPs tend to have *huge* queues to make sure big downloads are fast
#
# attach ingress policer:

tc qdisc add dev $DEV handle ffff: ingress

# filter *everything* to it (0.0.0.0/0), drop everything that's
# coming in too fast:

tc filter add dev $DEV parent ffff: protocol ip prio 50 u32 match ip src \
0.0.0.0/0 police rate ${DOWNLINK}kbit burst 10k drop flowid :1


Zoals je ziet zit mn internetconnectie op eth1 en mn internetwerk op eth0, maar als ik dit script uitvoer, en ik ga downloaden kan ik geen ping onder de 300ms krijgen, ook heb ik al lagere waardes geprobeerd, maar geen effect.

nu mn 3e vraag, die KDE desktop is wel erg fijn voor mij om te werken, maar als ik alles eenmaal werkend gekregen heb vreet deze enkel resources, waar vind ik de optie om hem uit te schakelen? Daarbij kan mn script ook niet werken omdat QoS niet in de kernel geactiveerd is, maar volgens Red Hat is de standaard kernel wel gecompileerd voor QoS, ook dit kon ik niet vinden om aan te passen. Nu nog een laatste vraag, wat is de opstart map in linux? is er een soort gelijke als in windows? Dit ivm een CS server die ik wil gaan draaien...

bvd ;)

Ontspan.


  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Magnolia schreef op 29 april 2003 @ 04:34:
nu mn 3e vraag, die KDE desktop is wel erg fijn voor mij om te werken, maar als ik alles eenmaal werkend gekregen heb vreet deze enkel resources, waar vind ik de optie om hem uit te schakelen?
Als je wilt dat hij tijdens het opstarten niet opgestart wordt, en dat je een gewoon loginscherm voor je neus krijgt, kijk dan in /etc/inittab de uitleg staat geloof ik bovenin die file. Heb je je systeem draaien, en wil je dan kde stoppen, dan kun je dat op 2 manier doen, de eerste is telinit <s> waarbij je de <s> moet vervangen door bijv. 3, maar ook dat staat in /etc/inittab. De tweede manier is /etc/init.d/kdm stop.
Daarbij kan mn script ook niet werken omdat QoS niet in de kernel geactiveerd is, maar volgens Red Hat is de standaard kernel wel gecompileerd voor QoS, ook dit kon ik niet vinden om aan te passen.
De meeste distributies zetten zoveel mogelijk opties aan, maar deze zul je nog even moeten activeren met modprobe. Ik heb alleen zo 1-2-3 welke module dat precies is :o . Maar ik gok dat dat wel ergens te vinden is met een gerichte google-search.
Nu nog een laatste vraag, wat is de opstart map in linux? is er een soort gelijke als in windows? Dit ivm een CS server die ik wil gaan draaien...
/etc/init.d/ of /etc/rc.boot zijn dan de meest gebruikte locaties.

God, root, what is difference? | Talga Vassternich | IBM zuigt


Verwijderd

NOS policy - updated 01/04/03

Het is niet de bedoeling dat je 4 vragen in 1 topic start. Al helemaal niet als deze allemaal afwijkend zijn ( 1) portmapping, 2) wondershaper, 3) kde, 4) lnx startup dir). Tevens mis ik het iniatief van jouw kant. "Hoe kan ik portmappen" bijvoorbeeld is iets wat wij hier als basiskennis beschouwen. In google zijn ook zat howto's te vinden over dit onderwerp.

Lees bovenstaand topic nog eens goed door. Daarin staat wat wij verwachten van een topicstart. Loop ook nog eens google en de GoT search resultaten door want over de meeste problemen die jij hebt is al zat informatie te vinden. Succes :)

[ Voor 5% gewijzigd door Verwijderd op 29-04-2003 13:09 ]


Dit topic is gesloten.