Προς το περιεχόμενο

Fedora kai moirasma bandwidth


The_Mentor

Προτεινόμενες αναρτήσεις

Ναι, γίνεται. Βεβαιώσου ότι έχεις εγκατεστημένο το πακέτο iproute2 και θα σου πω πως (ενδέχεται να χρειαστείς ένα kernel recompile). Επίσης πες ποιό είναι το interface που έχει το internet και ποιό το interface που έχει τα υπόλοιπα pc.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Για το Interface αν και έχω 2 κάρτες (eth0+1) στην 0 κάνω bridging με διπλό IP (πραγματικό και εσωτερικό). Οι μέσα υπολογιστές έχουν για default ip την εσωτερική του linux (που παίζει και ρούτερ) με αποτέλεσμα να βλέπουν Internet. O Linux τώρα βλέπει Internet μέσα από ένα Κοκκαλορούτερ (520). Για το iproute2 μάλλον δεν πρέπει να είναι εγκατεστημένο... αλλά θα του τον βάλω τώρα :-))

 

Μετά όμως τί γίνεται? Το Recompile με έκανε να κόψω κρύο ιδρώτα μιας και οι παλιές μου εμπειρίες ήταν τραυματικές...

 

Ευχαριστώ

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Τί εννοείς κάνεις bridging? Εννοείς ότι έχεις στήσει μια γέφυρα (br0), ή απλά έχεις βάλει 2 IP's;

 

Μη φοβάσαι, κατά πάσα πιθανότητα δε θα χρειαστεί recompile. Το iproute2 περιέχει τις εντολές ip και tc. Δες αν υπάρχουν στο σύστημά σου ;-)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ναι, διπλό ΙΡ έχει η κάρτα.

Για το άλλο (br0) το είχα δοκιμάσει αλλά σε κάποια φάση έμπλεξα και το παράτησα.

Ο server στις εντολές tc kai ip απαντάει κανονικά και με ενημερώνει για usage παραμέτρους κλπ που σημαίνει πως μάλλον είναι εγκατεστημένο το iproute...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Οκ, αρχικά θα κάνουμε το εξής: απλό shaping, ώστε οι υπολογιστές να έχουν ο καθένας 40 - 40 - 20 του upstream και του downstream αντίστοιχα εγγυημένο. Δηλαδή, αν όλοι πάνε να κατεβάσουν ταυτόχρονα, ο καθένας να κατεβάζει με το ratio του, ενώ όταν κατεβάζει μόνο ένας ή κάποιος δεν εκμεταλλεύεται όλο το bw του, αυτό να μοιράζεται σε αυτούς που κατεβάζουν.

 

Λογικά θα πρέπει να δουλέψουν τα παρακάτω, αν όχι πες που κολλάς:

>
# Upstream shaping
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1: htb
tc class add dev eth0 parent 1: classid 1:1 htb rate 220kbit ceil 256kbit
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 88kbit ceil 220kbit
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 88kbit ceil 220kbit
tc class add dev eth0 parent 1:1 classid 1:12 htb rate 44kbit ceil 220kbit
tc qdisc add dev eth0 parent 1:10 handle 20: sfq perturb 10
tc qdisc add dev eth0 parent 1:11 handle 30: sfq perturb 10
tc qdisc add dev eth0 parent 1:12 handle 40: sfq perturb 10

#Downstream shaping
tc qdisc add dev eth1 root handle 1: htb
tc class add dev eth1 parent 1: classid 1:1 htb rate 1Mbit kbps
tc class add dev eth1 parent 1:1 classid 1:10 htb rate 400kbit ceil 1Mbit
tc class add dev eth1 parent 1:1 classid 1:11 htb rate 400kbit ceil 1Mbit
tc class add dev eth1 parent 1:1 classid 1:12 htb rate 200kbit ceil 1Mbit
tc qdisc add dev eth1 parent 1:10 handle 20: sfq perturb 10
tc qdisc add dev eth1 parent 1:11 handle 30: sfq perturb 10
tc qdisc add dev eth1 parent 1:12 handle 40: sfq perturb 10

# Κατηγοριοποίηση πακέτων upstream
tc filter add dev eth0 protocol ip parent 1:0 prio 1 handle 0x1 fw flowid 1:10
tc filter add dev eth0 protocol ip parent 1:0 prio 1 handle 0x2 fw flowid 1:11
tc filter add dev eth0 protocol ip parent 1:0 prio 1 handle 0x2 fw flowid 1:12

# Κατηγοριοποίηση πακέτων downstream
tc filter add dev eth1 protocol ip parent 1:0 prio 1 handle 0x4 fw flowid 1:10
tc filter add dev eth1 protocol ip parent 1:0 prio 1 handle 0x5 fw flowid 1:11
tc filter add dev eth1 protocol ip parent 1:0 prio 1 handle 0x6 fw flowid 1:12

# Μαρκάρισμα πακέτων
iptables -t mangle -F
iptables -t mangle -A FORWARD -s η-ip-του-1ου-με-40% -o eth0 -j MARK --set-mark 0x1
iptables -t mangle -A FORWARD -s η-ip-του-2ου-με-40% -o eth0 -j MARK --set-mark 0x2
iptables -t mangle -A FORWARD -s η-ip-του-με-20% -o eth0 -j MARK --set-mark 0x3

iptables -t mangle -A FORWARD -d η-ip-του-1ου-με-40% -i eth0 -j MARK --set-mark 0x4
iptables -t mangle -A FORWARD -d η-ip-του-2ου-με-40% -i eth0 -j MARK --set-mark 0x5
iptables -t mangle -A FORWARD -d η-ip-του-με-20% -i eth0 -j MARK --set-mark 0x6

 

Μην ξεχάσεις να αλλάξεις τις IP's στις τελευταίες εντολές! Επίσης έχω θεωρήσει ότι η γραμμή σου έχει upstream 256 kbit, αν έχει διαφορετικό, απλά προσάρμοσε το 220 αντιστοίχως. Τέλος υποθέτω ότι τα πακέτα βγαίνουν από το eth0 προς το internet, και όχι από κάποιο άλλο (π.χ. ppp0) interface.

 

Με μία πρόχειρη δοκιμή, τουλάχιστον το upstream λειτουργεί σωστά. Αν συναντήσεις κάπου δυσκολίες, απλά δώσε ένα tc qdisc del dev eth0 root για να ξεχαστούν όλα.

 

Αυτό που κάνει το παραπάνω script είναι το εξής:

Αρχικά φτιάχνει τρεις κλάσεις στα interfaces eth0 και eth1, μία ουρά ανά pc στο κάθε interface. Κάθε κλάση έχει ένα εγγυημένο bandwidth (rate) και ένα μέγιστο επιτρεπόμενο (ceil), ενώ τα πακέτα που καταλήγουν εκεί περνάνε με sfq (stochastic fair queueing). Ο τρόπος με τον οποίο λειτουργεί είναι ότι προσπαθεί να εξασφαλίσει το rate κάθε κλάσης, βρέξει-χιονίσει. Σε περίπτωση που μια κλάση δεν εκμεταλλεύεται όλο το rate της, τότε το υπολοιπόμενο μπορεί να μοιραστεί ανάμεσα στις άλλες κλάσεις, με λόγο όσος είναι ο λόγος των rates τους: δηλαδή, αν ο 1 σταματήσει να τραβάει τελείως, και πάνε να τραβήξουν ο 2 και ο 3, ο 2 θα κατεβάζει με 666 kbits/s και ο 3 με 333 kbits/s ;-). Αν κατεβάζει ο 1 τίποτα και ο 2 με 200, τότε ο 3 μπορεί να κατεβάσει με 800. Αν κατεβάζει μόνο ο ένας, τότε θα κατεβάζει με 1 Mbit/s. Το ίδιο συμβαίνει και με το upstream.

 

Επειδή δεν είχα ποτέ την ευκαιρία να τα δοκιμάσω αυτά σε μία DSL, θέλω λίγο feedback για το πόσο καλά παίζουν και για το αν αποδίδει το downstream shaping εν γένει.

 

Πολύ καλή απορία πάντως, μπράβο, η καλύτερη που έχω δει στο forum εδώ και καιρό. Αν αντί να τρωγώμασταν με αηδίες ασχολούμασταν με λίγο «προηγμένα» θέματα σαν αυτό, τότε θα μπορούσαμε να κάνουμε πολλά. Μακάρι να παίξει και να το επεκτείνουμε μετά και με QoS ;-).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ok, αύριο το πρωί ελπίζω να βρώ την ευκαιρία να το δοκιμάσω...

Τώρα βέβαια αυτό που πρέπει να δούμε είναι αν γίνεται να μοιραστεί το upload με διαφορετικό τρόπο διότι προς τα έξω βγάζω και ένα website (δεσμεύω 8 σταθερές ΙΡ γιαυτό τον λόγο) το οποίο εξυπηρετείται με τα 256kbps της γραμμής. Αυτό θα πρέπει να το κρατήσω πχ τουλάχιστον τα 128 να στέλνω δεδομένα και τα άλλα 128 να παίρνουν οι υπολογιστές για το requesting στο internet.

Ας δούμε αυρίο πως θα λειτουργήσει ο server με το script που μου έδωσες και επανέρχομαι με νέα δεδομένα...

Α, επίσης βρήκα και ένα pdf αρχείο "Advance Routing and Traffic Control" αλλά ακόμα είμαι στην εισαγωγή :-(

 

Έχω την εντύπωση βέβαια πως 1000 ευχαριστώ δεν αρκούν...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

 

Τώρα βέβαια αυτό που πρέπει να δούμε είναι αν γίνεται να μοιραστεί το upload με διαφορετικό τρόπο διότι προς τα έξω βγάζω και ένα website (δεσμεύω 8 σταθερές ΙΡ γιαυτό τον λόγο) το οποίο εξυπηρετείται με τα 256kbps της γραμμής. Αυτό θα πρέπει να το κρατήσω πχ τουλάχιστον τα 128 να στέλνω δεδομένα και τα άλλα 128 να παίρνουν οι υπολογιστές για το requesting στο internet.

Αυτό γίνεται σχετικά εύκολα. Αν παίξει αυτό θα το δούμε. Προς το παρόν είναι εντελώς εκτός shaping' date=' μπορεί δηλαδή να φάει όλο το upstream ο server.

 

Ας δούμε αυρίο πως θα λειτουργήσει ο server με το script που μου έδωσες και επανέρχομαι με νέα δεδομένα...

Α, επίσης βρήκα και ένα pdf αρχείο "Advance Routing and Traffic Control" αλλά ακόμα είμαι στην εισαγωγή :-(

Αυτό είναι η βίβλος. Μπορείς να το βρεις και στο http://www.lartc.org. Είναι πολύ καλό αλλά κάπως συγκεχυμένο και απαιτεί γνώσεις. Επίσης δεν καλύπτει το htb που έχω χρησιμοποιήσει παραπάνω.

 

Έχω την εντύπωση βέβαια πως 1000 ευχαριστώ δεν αρκούν...

Δεν κάνει τίποτα ;-)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Διαβάζοντας αυτό εδώ το thread,μου δημιουργήθηκε μια απορία.Γίνεται να μοιράσω την ADSL μου που είναι 384/128?Η συνδεσμολογία στο δίκτυό μου είναι απλή.Έχω ένα router που μοιράζει τη γραμμή σε 2 υπολογιστές.Ο ένας τρέχει Mandriva Linux και ο άλλος Windows.Γίνεται να βάλω έναν φραγμό στους υπολογιστές,έτσι ώστε κανένας να μην "πήζει" τη γραμμή όταν για παράδειγμα βάζω torrent?Ευχαριστώ!Βέβαια έχω και ένα άλλο πρόβλημα!Πώς θα ρυθμίσω τη samba έτσι ώστε να βλέπει τους σκληρούς του Linux ο υπολογιστής που έχει Windows?(γιατί μέχρι τώρα μπορώ να δω σκληρούς μόνο από το Linux στα Windows)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Λοιπόν, feedback:

Παρουσιάζεται ένα σοβαρά μεγάλο lag στο δίκτυο. Οι υπολογιστές έχουν πρόσβαση αλλά διαπιστώθηκε αρκετές καθυστερήσεις με ένα δίκτυο να δείχνει πως είναι αρκετά φορτωμένο ενώ με την χρήση του etherael (network monitor) φαίνεται πως όλα είναι καλά...

 

@ χαχα1982 - ΜΕ συγχωρείς που δεν σου απάντησα μέχρι τώρα. ΝΑΙ αυτό συζητάμε με τον apoiko τώρα και ευελπιστούμε να το πετύχουμε. Φυσικά και άν πετύχει, θα ετοιμάσω ένα how-to για όσους θέλουν να κάνουν κάτι τέτοιο.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Λοιπόν' date=' feedback:

Παρουσιάζεται ένα σοβαρά μεγάλο lag στο δίκτυο. Οι υπολογιστές έχουν πρόσβαση αλλά διαπιστώθηκε αρκετές καθυστερήσεις με ένα δίκτυο να δείχνει πως είναι αρκετά φορτωμένο ενώ με την χρήση του etherael (network monitor) φαίνεται πως όλα είναι καλά...

[/quote']

Χμ, το lag παρουσιάζεται ακόμα και με άφορτο δίκτυο, ή μόνο όταν «μπουκώνει»; Παρουσιάζεται σε όλους τους υπολογιστές; Εκείνη τη στιγμή το Linux τί CPU usage έχει; Μπορείς να μου δώσεις λίγα παραπάνω στοιχεία, καθώς και το output των:

>
tc -s class show dev eth0
tc -s class show dev eth1
tc -s qdisc show dev eth0
tc -s qdisc show dev eth1
tc filter show dev eth0
tc filter show dev eth1

 

Με το ethereal τί ακριβώς είδες;

Οι βασικές αδυναμίες που έχει αυτό το setup είναι οι εξής:

  • Κάνουμε shape με κάποιες παραδοχές για τη χωρητικιότητα της γραμμής, που ενδεχομένως να μην ισχύει.
  • Δε δίνεται προτεραιότητα σε συγκεκριμένη κίνηση. Π.χ. τα SYN πακέτα, καθώς και τα περισσότερα ICMP θα έπρεπε να φεύγουν πρώτα. Τώρα είναι ένας μικρός αχταρμάς. Αυτό (δηλαδή το QoS) πρέπει να εφαρμοστεί και στο up- και στο downstream.

 

Δοκίμασε να κάνεις το εξής για αρχή:

Μείωσε το 1Mbit και τα 220kbit σε 900kbit και 200kbit αντίστοιχα και αναπροσάρμοσε όλα τα νούμερα στις κλάσεις.

 

 

@xaxa1982: Ναι, γίνεται, αλλά πρέπει να βάλεις τον έναν υπολογιστή να παίρνει internet από τον άλλον.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

News από το μέτωπο...

Το Lag οφειλόταν σε εγκατάσταση στον υπολογιστή μιας γκόμενας λογισμικού P2P με αποτέλεσμα να μου κρεμάει το όλο σκηνικό... Κατέβαζε από το zoosex.com υλικό!!!!!!! Δεν μπόρεσα να πάρω αντίγραφα (shit).

Μετά την αφαίρεση του προγράμματος φαίνεται πως όλα πάνε καλά. Δεν είχα το χρόνο να κάνω δοκιμές και μετρήσεις αλλά μου δημιουργήθηκε η αίσθηση πως μέσες άκρες τα πράγματα ήταν ΟΚ...

 

Επειδή το συγκεκριμένο δικτυάκι το είχα απομονωμένο (1 server - 5 clients) μέχρι να ωριμάσει για να μην μου δημιουργήσει προβλήματα στο ευρύτερο και μεγαλύτερο δίκτυο πιστεύω πως μετά και τα τελευταία γεγονότα ήρθε η ώρα να προχωρήσουμε σε αλλαγές στην δομή του δικτύου. Έτσι θα προχωρήσω σε αφαίρεση του κεντρικού ρόλου των windows 2003 A.Server και σιγά σιγά θα συνδέσω την Fedora 3 για να αναλάβει τα καθήκοντά της. Πιστεύω πως σε συνεργασία τοπικών server Linux με clients XP που δημιουργούν ανεξάρτητούς Τομείς και ενός Κεντρικού server πάλι Linux ο οποίος θα έχει και την υψηλή εποπτεία του δικτύου των subnets θα γλυτώσω απο πολλά ξενύχτια...

 

Επίσης πρέπει να σημειώσω εδώ για αυτούς που διαβάζουν το post πως αισθάνομαι λίγο πιο ήσυχος γνωρίζοντας πως μπορώ να έχω ανα πάσα στιγμή της γνώσεις ενός ανθρώπου σαν τον Apoiko που πέρα απο λόγια εμπρακτα αποδεικνύει τις γνώσεις του. Και στην δουλειά μας το γκόλ μετράει περισσότερο από τις καλές φάσεις που δημιουργείς...

 

Ευχαριστώ

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Βασικά το script ήθελε edit στο θέμα τον καρτών eth0 και eth1 διότι το δικό μου configuration ήταν διαφορετικό.

Μόλις βγάλω άκρη και με τις αλλαγές στους servers θα ποστάρω 1-2 config ή μάλλον καλύτερα θα τα στείλω με mail στον apoiko για να checkάρει μη γίνει και καμιά π@π@ρι@... Επίσης θα στείλω και τις εξόδους των εντολών για να δείτε τι περιμένετε από την λειτουργία του script.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Βασικά το script ήθελε edit στο θέμα τον καρτών eth0 και eth1 διότι το δικό μου configuration ήταν διαφορετικό.

 

Περιέργο, εγώ τις εντολές στις έγραψα με βάση τα όσα κατάλαβα για το setup σου. Μάλλον κατάλαβα λάθος :-P Αφού βρήκες άκρη πάντως, όλα καλά :-)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Μπά, την πατάτα την έκανα εγώ διότι θυμόμουν λάθος τις κάρτες και το config του υπολογιστή. Είχα αλλάξει τις κάρτες σε κάποια φάση με 1000άρες με αποτέλεσμα να είχα ενεργοποιήσει και την δεύτερη και δεν το θυμόμουν με τίποτε. Μετά ο μάγκας απενεργοποίησε την μία και έβαλε το script σου στην κάρτα eth0 και eth0:1 χεχε!

Τις αλλαγές τις έκανα για τις διπλές κάρτες δικτύου και έπαιξα με τις εντολές.

Τώρα άν δούλεψε ή όχι δεν μπορώ να σου πώ ακόμα διότι ήρθε ο αλβανός να κουβαλήσει το server.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...