Ελληνικό Bridging mini-Howto Christopher Cole cole@coledd.com v1.11, 7 Σεπτεμβρίου 1998 Το έγγραφο αυτό περιγράφει πως να στήσετε μια ethernet γέφυρα. Τι είναι μια ethernet γέφυρα; Είναι μια συσκευή που ελέγχει τα πακέτα δεδομένων μέσα σε ένα υποδίκτυο προσπαθώντας να μειώσει την κυκλοφορία. Η γέφυρα είναι συνήθως μεταξύ δύο ξεχωριστών ομάδων υπολογιστών, που ενώ μιλούν πολύ μεταξύ τους, σπανίως μιλά η μια ομάδα με την άλλη. Ένα καλό παράδειγμα είναι αν σκεφτούμε μια ομάδα με Mac- intosh και μια ομάδα με Unix μηχανήματα. Και οι δύο ομάδες έχουν αυξημένη κίνηση εντός τους, οπότε η κίνηση αυτή δημιουργεί συγκρούσεις με την κίνηση της άλλης ομάδας. Η γέφυρα τοποθετείτε μεταξύ των δύο ομάδων. Η δουλειά της είναι να ελέγχει τα δεδομένα που ανταλλάσσονται και να αποφασίσει αν χρειάζεται να περάσουν στην άλλη πλευρά της γέφυρας. Το αποτέλεσμα είναι ένα γρηγορότερο και πιο ισχυρό δίκτυο με λιγότερες συγκρούσεις. --- Για οποιαδήποτε σχόλια, διορθώσεις, κλπ σχετικά με την ελληνική μετάφραση επικοινωνήστε με τον Παναγιώτη Βουδούρη στη διεύθυνση: panos@veria1.freeserve.co.uk ______________________________________________________________________ Table of Contents 1. Setup 2. Συχνά προβλήματα ______________________________________________________________________ 1. Setup 1. Βρείτε το ``Bridge Config'': 2. Ενεργοποιήστε πολλαπλές ethernet συσκευές βάζοντας το παρακάτω στο /etc/lilo.conf, και ξανά-τρέχοντας το lilo: append = "ether=0,0,eth1" Αν έχετε τρεις συσκευές στη γέφυρα βάλτε το παρακάτω αντί των άνω: append = "ether=0,0,eth1 ether=0,0,eth2" Περισσότερες συσκευές μπορούν να προστεθούν με περισσότερες δηλώσεις ether. Ένας έτοιμος πυρήνας ψάχνει για μία κάρτα και μόλις τη βρει σταματά το ψάξιμο. Με την παραπάνω εντολή συνεχίζει να ψάχνει και μετά την πρώτη κάρτα. Αντί των άνω, μπορείτε να χρησιμοποιήσετε την παρακάτω παράμετρο εκκίνησης: linux ether=0,0,eth1 Ή με 3 συσκευές: linux ether=0,0,eth1 ether=0,0,eth2 3. Αναμεταλωττίστε τον πυρήνα με το BRIDGING ενεργοποιημένο. 4. Η γέφυρα δε θα πρέπει να έχει IP διεύθυνση. ΜΠΟΡΕΙ να έχει αλλά μια απλή γέφυρα δεν την χρειάζεται. Για να αφαιρέσετε την IP διεύθυνση από τη γέφυρά σας, πηγαίνετε στο /etc/sysconfig/network- scripts/ (για RedHat σύστημα) και αντιγράψτε το ifcfg-lo0 σε ifcfg- eth0 & ifcfg-eth1. Στα δύο αυτά αρχεία αλλάξτε τη γραμμή που περιέχει το ``DEVICE=lo'' σε ``DEVICE=eth0'' και ``DEVICE=eth1''. Άλλες διανομές μπορεί να διαφέρουν, κάντε ό,τι χρειάζεται! Αν έχετε πάνω από δύο συσκευές στη γέφυρα σιγουρευτείτε να διορθώσετε όλες τις ρυθμίσεις. 5. Επανεκκίνηση, ώστε να έχετε τον νέο πυρήνα και ξανασιγουρευτείτε ότι η γέφυρα δεν έχει IP διευθύνσεις. 6. Μόλις το σύστημα ξεκινήσει, βάλτε τις ethernet κάρτες σε promiscuous mode, ώστε να ελέγχουν οτιδήποτε περνάει από αυτές: ifconfig eth0 promisc ; ifconfig eth1 promisc Όλες οι κάρτες που είναι να συνδεθούν σε γέφυρα πρέπει να μπουν σε promiscuous mode. 7. Ενεργοποιήστε το bridging χρησιμοποιώντας το πρόγραμμα brcfg: brcfg -ena 8. Βεβαιωθείτε ότι υπάρχει διαφορετική κίνηση σε κάθε τμήμα: tcpdump -i eth0 (in one window) tcpdump -i eth1 (in another window) 9. Τρέξτε ένα sniffer ή το tcpdump σε άλλο μηχάνημα για να δείτε ότι η γέφυρα αποκόπτει τα τμήματα κανονικά. 2. Συχνά προβλήματα 1. Question Παίρνω το μήνυμα ioctl(SIOCGIFBR) failed: Package not installed Τι σημαίνει; Answer Δεν έχετε bridging δυνατότητες στον πυρήνα. Πάρτε πυρήνα 2.0 ή μεγαλύτερο, και αναμεταγλωττίστε το με την επιλογή BRIDGING ενεργοποιημένη. 2. Question Μηχανήματα στη μία πλευρά δε μπορούν να κάνουν ping στην άλλη! Answer · Ενεργοποιήσατε το bridging με ``brcfg -ena''; (το brcfg θα πρέπει να λέει ``bridging is ENABLED'') · Βάλατε τις κάρτες σε promiscuous mode? (γράψτε ``ifconfig''. Το ``PROMISC'' πρέπει να εμφανιστεί και στις δύο πλευρές.) · Αν χρησιμοποιείτε κάρτες διασύνδεσης πολλαπλών μέσων σιγουρευτείτε ότι το σωστό έχει ενεργοποιηθεί. Ίσως χρειαστεί να χρησιμοποιήσετε το πρόγραμμα ρυθμίσεων που πήρατε με την κάρτα. 3. Question Δε μπορώ να κάνω telnet/ftp από τη γέφυρα! Γιατί; Answer Αυτό δε γίνεται εφόσον δεν υπάρχει IP διεύθυνση στη γέφυρα. Η γέφυρα πρέπει να είναι ένα διάφανο μέρος του δικτύου. 4. Question Τι πρέπει να κάνω για να ρυθμίσω τη δρομολόγηση; Answer Τίποτα! Η δρομολόγηση ελέγχεται από τον κώδικα του πυρήνα. Για να δείτε τις ethernet διευθύνσεις όπως μαθαίνονται από τη γέφυρα χρησιμοποιήστε το brcfg σε debug mode: brcfg -deb 5. Question Η γέφυρα φαίνεται να δουλεύει, αλλά το ``traceroute'' δε δείχνει τη γέφυρα ως μέρος της διαδρομής. Answer Λόγω της φύσης της γέφυρας, το ``traceroute'' ΔΕΝ πρέπει να δείξει τη γέφυρα. Η γέφυρα είναι διαφανής στο δίκτυο. 6. Question Είναι απαραίτητο να μεταγλωττίσω τον πυρήνα με IP_FORWARD; Answer Όχι. Ο κώδικας για το bridging στον πυρήνα φροντίζει για τη μεταφορά. Το IP_FORWARD είναι για πύλη που έχει IP διεύθυνση. 7. Question Γιατί οι διευθύνσεις για τη θύρα 1 και θύρα 2 είναι ίδιες σύμφωνα με το ``brcfg''; Δε θα έπρεπε να είναι διαφορετικές; Answer Όχι. Κάθε θύρα στη γέφυρα έχει επίτηδες την ίδια διεύθυνση, όπως δίνεται από τον κώδικα του bridging. 8. Question Το bridging δεν εμφανίζεται ως επιλογή όταν κάνω make config για τον πυρήνα. Πως το ενεργοποιώ; Answer Κατά την παραμετροποίηση, απαντήστε 'Y' στην ερώτηση: ``Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL) [Y/n/?]''. 9. Question Πολλοί κόμβοι (hubs, 4 ή παραπάνω) συνδεμένα σε σειρά προκαλούν προβλήματα συγχρονισμού σε ethernet. Τι επιπτώσεις έχει αυτό σε ένα υποδίκτυο που είναι στημένο με hubs; Answer Η γέφυρα αναορίζει τον κανόνα των 3/4/5 κόμβων. Η γέφυρα δεν χειρίζεται τα πακέτα δεδομένων όπως ένα hub, οπότε δεν δημιουργεί προβλήματα συγχρονισμού στο δίκτυο. 10. Question Μπορεί μια γέφυρα να συνδέσει δύο τμήματα με 10Mb και 100Mb; Τέτοια διαμόρφωση θα επηρεάσει την ταχύτητα στην γρήγορα πλευρά; Answer Ναι, η γέφυρα μπορεί να συνδέσει ένα τμήμα 10Mb με ένα τμήμα 100Mb. Εφόσον η κάρτα δικτύου στο γρήγορο δίκτυο φτάνει τα 100Mb, το TCP φροντίζει για τα υπόλοιπα. Φυσικά, τα δεδομένα από το γρήγορο προς το αργό τμήμα θα μεταφέρονται με 10Mb/s, αλλά η υπόλοιπη κίνηση στο γρήγορο δίκτυο δεν επιβραδύνεται.