Επόμενο Προηγούμενο Περιεχόμενα
Η παραπάνω διαδικασία ισχύει αν όλο το traffic
διακινείται μέσω του squid proxy server από έναν browser
πχ. Internet Explorer. Τι γίνεται όμως αν πχ. έχουμε έναν
υπολογιστή που βρίσκεται πίσω από Linux server με Ip
Masquerade ? Η λύση λέγεται CBQ. Για να δούμε όμως τι
γίνεται. Καταρχήν πρέπει να είναι εγκαταστημένο στο linux
μας το iproute2 (συνήθως είναι). Κατεβάζουμε το
cbq.init-v0.7.2 από το
https://sourceforge.net/projects/cbqinit και το βάζουμε
στο /etc/sysconfig/cbq (το directory αν δεν υπάρχει, το
φτιάχνουμε). Φτιάχνουμε ένα αρχείο για να περιορίσουμε
την κίνηση μέσω του ftp πρωτοκόλλου
# touch /etc/sysconfig/cbq/cbq-10.ftp-network
Βάζουμε μέσα σε αυτό:
DEVICE=eth0,10Kbit,1Mbit
RATE=10Kbit
WEIGHT=1Kbit
PRIO=5
RULE=:20,192.168.0.0/24
RULE=:21,192.168.0.0/24
Για κάθε μια από τις παραπάνω εντολές υπάρχει επεξήγηση
στο cbq.init-v0.7.2 αρχείο.
Μετά τρέχουμε ./cbq.init-v0.7.2 compile (είναι
εκτελέσιμο, αν δεν είναι chmod +x cbq.init-v0.7.2) και
κατόπιν ./cbq.init-v0.7.2 start και είμαστε έτοιμοι για
δοκιμές. Σε μένα λειτούργησε χωρίς κανένα πρόβλημα
απολύτως. Με το παραπάνω ο server μας δεν θα στέλνει ftp
data στο eth0 γρηγορότερα από 10kbits/sec και δεν θα
κατεβάζει γρηγορότερα από 10kbits/sec. Αν πχ μέσω squid
υπάρχει καλύτερη απόδοση ο χρήστης θα αναγκαστεί να
χρησιμοποιεί τον squid για τα downloads του. Ας φτιάξουμε
ένα ακόμα παράδειγμα πχ. για το Windows Media Player και
το Emule.
DEVICE=eth0,10Mbit,1Mbit
RATE=50Kbit
WEIGHT=5Kbit
PRIO=5
#Windows Media Player
RULE=:1755,192.168.0.0/24
#Emule
RULE=:4661,192.168.0.0/24
RULE=:4671,192.168.0.0/24 # Διορθώστε με μήπως κάνω λάθος τις πόρτες.
Αν θέλουμε να είμαστε πιο έξυπνοι μπορούμε να βάλουμε
πολλούς ρόλους στο cbq και να είμαστε αυστηροί στο
μοίρασμα του bandwith (με το σταγονόμετρο !) έτσι ώστε να
αναγκάσουμε όλο τον κόσμο να χρησιμοποιεί τον proxy
server (θέλοντας και μη !). Αν τρέχουμε Ip-Masquerade για
να έχουν οι χρήστες icq, email κ.α. ή για κάποιο άλλο
λόγο, καλό θα ήταν για τους εξυπνάκηδες του δικτύου μας,
να τρέχαμε iptables με περιορισμούς (ipchains επίσης για
παλαιότερες εκδόσεις Linux) έτσι ώστε κανένας να μην
συνδέετε απευθείας (Ip-Masquerade).
Τέλος αφού βλέπουμε ότι όλα είναι εντάξει βάζουμε στο
/etc/rc.d/rc.local στο τέλος το cbq.init-v0.7.2 start για
να ξεκινάει κάθε φορά που γίνεται εκκίνηση στον
υπολογιστή μας.
Υπάρχει ένας ακόμα εύκολος αλλά μάλλον ξεπερασμένος
τρόπος για να γίνει αυτό το traffic shaping. Στην
διαδρομή
/usr/src/linux-2.4.21-0.13mdk/Documentation/networking/
(σε έκδοση Mandrake 9.1) υπάρχει το αρχείο shaper.txt που
αναφέρει πως, αλλά είναι μάλλον για μια εύκολη και
περιστασιακή περίπτωση και δεν δίνει ευελιξία στον server
μας.
Επόμενο Προηγούμενο Περιεχόμενα