Σωστή Ρύθμιση OSPF σε Mikrotik
Από TWMN Wiki
Πίνακας περιεχομένων |
Εισαγωγή
Το OSPF είναι ένα Link State πρωτόκολλο δρομολόγησης. Χρησιμοποιείται για την δρομολόγηση IP πακέτων εντός ενός αυτόνομου συστήματος (αυτόνομο σύστημα ονομάζουμε ένα πλήθος δικτύων υπό κοινή διαχείριση). Είναι ανοιχτό πρωτόκολλο, βρίσκεται στην τρίτη έκδοσή του, με την πρώτη να έχει παρουσιαστεί το 1987. Η λειτουργία του βασίζεται στην δημιουργία δεσμών γειτονίας (adjacencies) μεταξύ των OSPF δρομολογητών ενός αυτόνομου συστήματος. Με την εγκαθίδρυση αυτών των σχέσεων γειτονίας, οι δρομολογητές μπορούν και ανταλλάσσουν πληροφορίες, ονομάζονται Link State Advertisements, με σκοπό την δημιουργία μιας βάσης δεδομένων, ονομάζεται Link State Database. Τα LSA's εκπέμπονται από τους OSPF δρομολογητές με την χρήση multicast IP διευθύνσεων. Τα LSA's περιέχουν πληροφορίες σχετικές με IP δίκτυα, link δρομολογητών, περιλήψεις IP δικτύων κ.α. H Link State Database ενός OSPF δρομολογητή θα πρέπει να περιέχει πληροφορίες για όλες τις πιθανές διαδρομές του δικτύου. Στα δεδομένα αυτής της βάσης δρα ο αλγόριθμος του Djikstra, Shortest Path First, και υπολογίζει τις καλύτερες διαδρομές για όλους τους δικτυακούς προορισμούς.
Το OSPF είναι ένα ιεραρχικό πρωτόκολλο δρομολόγησης. Παρέχει δηλαδή τις διαδικασίες για την οργάνωση του δικτύου σε περιοχές (areas). Ενας OSPF δρομολογητής ενός αυτόνομου συστήματος μπορεί και πρέπει να ανήκει τουλάχιστον σε μία τέτοια περιοχή. Οι πληροφορίες της βάσης, Link State Database, που πρέπει να συντηρεί ένας δρομολογητής αφορούν στην περιοχή της οποίας είναι μέλος. Εαν για παράδειγμα ένας δρομολογητής ανήκει σε τρεις περιοχές τότε θα πρέπει να συντηρεί τρεις διαφορετικές βάσεις. Μειώνοντας το μέγεθος της περιοχής που ανήκει ο δρομολογητής μειώνεται και το μέγεθος της βάσης που συντηρεί. Ολοι οι δρομολογητές μιας περιοχής διαθέτουν ακριβώς την ίδια Link State Database.
Υπάρχουν διάφορα είδη περιοχών. Η διαφορά τους έγκειται στο τρόπο που διαχειρίζονται τις εξωτερικές διαδρομές. Εξωτερικές διαδρομές είναι αυτές που μπολιάζονται στις πληροφορίες του OSPF από ένα ASBR (δείτε τα είδη OSPF δρομολογητών). Εξωτερικές διαδρομές μπορεί να είναι για παράδειγμα διαδρομές που έχουν παραχθεί από ένα άλλο πρωτόκολλο δρομολόγησης.
Είδη OSPF περιοχών (areas):
Standard area. Η περιοχή μπορεί να δεχθεί Link Updates και περιλήψεις διαδρομών.
Totally stubby. Η περιοχή δεν δέχεται κανενός είδους πληροφορία. Χρησιμοποιείται το default route για την δρομολόγηση IP πακέτων.
Stub. Η περιοχή δεν δέχεται πληροφορίες που αφορούν σε εξωτερικές διαδρομές. Εαν πρέπει να δρομολογηθεί IP πακέτο που ξεκινά εντός περιοχής και έχει προορισμό εκτός αυτόνομου συστήματος, τότε χρησιμοποιείται το default route.
Not so stubby area (NSSA). Ομοια της stub περιοχής αλλά επιτρέπεται η εισαγωγή εξωτερικών διαδρομών σαν type 7 LSA.
Backbone area. Είναι μία standard περιοχή και είναι πάντα η περιοχή 0.0.0.0. Ολες οι περιοχές πρέπει να συνδέονται με κάποιο τρόπο στην backbone περιοχή για να μπορούν να ανταλλάσουν πληροφορίες δρομολόγησης.
Είδη OSPF δρομολογητών:
Internal router. Ολα τα interface του δρομολογητή ανήκουν σε μία περιοχή.
Backbone router. Διαθέτει τουλάχιστον ένα interface στην περιοχή 0.0.0.0.
Area border router (ABR). Διαθέτει interface σε πολλές περιοχές. Η κίνηση που ξεκινά μέσα από μια περιοχή και έχει προορισμό εκτός περιοχής πρέπει να δρομολογηθεί από τον/τους ABR της περιοχής.
Autonomous system boundary router (ASBR). Διαθέτει τουλάχιστον ένα interface σε κάποιο δίκτυο εκτός αυτόνομου συστήματος ή διαθέτει interface σε κάποιο δίκτυο που δεν χρησιμοποιεί OSPF. Εχει την δυνατότητα να εισάγει πληροφορία που παράχθηκε εκτός OSPF δικτύου στο OSPF δίκτυο ή και το ανάποδο, redistribution.
Εγκατάσταση πακέτου routing-test
Η χρήση του απλού πακέτου της Mikrotik για το ospf routing δε μπορεί να καλύψει τις ανάγκες μας για summarization και απομόνωση των routes που δεν ανήκουν στο range 10.0.0.0/8. Αντί λοιπόν του απλού πακέτου routing μπορούμε να χρησιμοποιήσουμε το πακέτο routing-test. Για την εγκατάσταση του πακέτου ακολουθούμε τη συνηθισμένη διαδικασία προσθήκης πακέτων στο Mikrotik. Για τη χρησιμοποίηση του πακέτου routing-test προϋπόθεση είναι η απεγκατάσταση/απενεργοποίηση του απλού πακέτου routing.
Μετά την εγκατάσταση, και μπαίνουμε στον router μέσω winbox. Αν επιλέξουμε Routing->OSPF παρατηρούμε ότι η γνωστή μας μορφή του συγκεκριμένου παραθύρου έχει αλλάξει, και έχει πάρει τη μορφή:
Εισαγωγή ρυθμίσεων OSPF
Διαγράφουμε όλες τις ρυθμίσεις που είχαμε έως τώρα για το OSPF εκτός των ρυθμίσεων των Interfaces και του backbone area του Areas. Στη συνέχεια ανοίγουμε ένα παράθυρο New Terminal και κάνουμε paste τον ακόλουθο κώδικα αφού πρώτα αλλάξουμε τις τιμές που αναφέρονται στο παράδειγμα με τις τιμές που ισχύουν για τον δρομολογητή μας.
Στο παράδειγμα υποθέτουμε ότι ο δρομολογητής διαθέτει:
A. τρία backbone links, τρία links δηλαδή με τα οποία συνδέεται με άλλους τρεις ospf δρομολογητές. Κάθε ένα από αυτά τα bblinks έχει διεύθυνση από ένα δίκτυο της μορφής 10.x.x.x/30. Για το παράδειγμα θα ισχύουν τα δίκτυα 10.1.0.4/30, 10.2.0.4/30 και το 10.3.0.4/30.
B. ένα link προς ένα δίκτυο προσωπικών υπολογιστών. Για το παράδειγμα θα ισχύει το δίκτυο 10.10.10.0/24. Το δίκτυο αυτό καθορίζει και το router-id του δρομολογητή και θα είναι router-id=10.10.10.0.
(προσοχή, για τον παρακάτω κώδικα αλλάξτε τις τιμές των network=10.x.x.x/x, την τιμή του range=10.x.x.x./x και την τιμή του router-id=10.x.x.x)
Για 2.9.27
/routing filter add chain=ospf-in prefix=10.0.0.0/8 prefix-length=8-32 type=ospf invert-match=yes action=reject /routing ospf area add name=local area-id=0.0.0.10 type=stub summary=no /routing ospf network add network=10.1.0.4/30 area=backbone /routing ospf network add network=10.2.0.4/30 area=backbone /routing ospf network add network=10.3.0.4/30 area=backbone /routing ospf network add network=10.10.10.0/24 area=local /routing ospf area range add area=local range=10.10.10.0/24 cost=default advertise=yes /routing ospf set redistribute-connected=no redistribute-static=no redistribute-rip=no redistribute-bgp=no router-id=10.10.10.0 distribute-default=never
Για μεγαλύτερες εκδόσεις
/routing filter add chain=ospf-in prefix=10.0.0.0/8 prefix-length=8-32 protocol=ospf invert-match=yes action=reject /routing ospf area add name=local area-id=0.0.0.10 type=stub summary=no /routing ospf network add network=10.1.0.4/30 area=backbone /routing ospf network add network=10.2.0.4/30 area=backbone /routing ospf network add network=10.3.0.4/30 area=backbone /routing ospf network add network=10.10.10.0/24 area=local /routing ospf area range add area=local range=10.10.10.0/24 cost=default advertise=yes /routing ospf set redistribute-connected=no redistribute-static=no redistribute-rip=no redistribute-bgp=no router-id=10.10.10.0 distribute-default=never
Παρατηρήσεις
Tα παραπάνω κάνουν τα εξής:
A. Επηρεάζουν την δρομολόγηση των ip πακέτων απενεργοποιώντας τις διαδρομές που έχουν υπολογισθεί από το ospf για δίκτυα εκτός του 10.0.0.0/8. Το φίλτρο δεν επηρεάζει την πληροφορία που εσείς στέλνετε ή λαμβάνετε μέσω ospf. Ετσι εάν η πληροφορία που εκπέμπεται μέσω του ospf είναι λάθος τότε οι ospf δρομολογητές θα συνεχίζουν να υπολογίζουν διαδρομές για δίκτυα πέραν του 10.0.0.0/8, αλλά δεν θα δρομολογούν κίνηση προς αυτά τα δίκτυα.
B. Ορίζεται ένα tottaly stub area για ένα δίκτυο του κόμβου (όχι τα δίκτυα των bblinks), παράδειγμα το 10.10.10.0/24, και τοποθετείται κάθε δίκτυο στο area που πρέπει. Αν έχετε παραπάνω bblinks/δίκτυα εννοείται ότι πρέπει να προσθέσετε γραμμές στο ανάλογο σημείο αλλάζοντας μόνο το κομμάτι τις διεύθυνσης.
Γ. Ορίζεται το εύρος (range) της δικής μας περιοχής (area) και απενεργοποιούνται όλα τα redistribution. Επίσης προστίθεται το router-id. Ως router-id επιλέγουμε το δίκτυό μας. Για παράδειγμα αν έχουμε το subnet 10.10.10.0/24, τότε επιλέγουμε router-id=10.10.10.0.
Αν δεν μας δουλέψει αμέσως το ospf κάνουμε reboot τον router.
Αν πάλι έχετε προβλήματα
- κάνετε ποστ στο forum :PPPPPP
- κάνετε εναλλακτικά ποστ τα προβλήματά σας στη σελίδα συζήτησης αυτής της σελίδας
Job made by psarnik and dfragos

