This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
start [2020/12/03 09:21] alex [Asymmetric routing & UDP] |
start [2023/12/09 14:08] (current) 10.2.19.13 [AWMN BGP filter] |
||
---|---|---|---|
Line 136: | Line 136: | ||
| | ||
το φίλτρο που έχει προταθεί σαν RFC, το οποίο μπορεί να χρησιμοποιηθεί από όλες τις Ελληνικές ασύρματες κοινότητες που χρησιμοποιούν BGP πάνω στο δίκτυο 10.0.0.0/8 και που καλό είναι να εφαρμόζεται από όλους τους κόμβους κορμού σε κάθε εισερχόμενη και εξερχόμενη peer BGP σύνδεση: | το φίλτρο που έχει προταθεί σαν RFC, το οποίο μπορεί να χρησιμοποιηθεί από όλες τις Ελληνικές ασύρματες κοινότητες που χρησιμοποιούν BGP πάνω στο δίκτυο 10.0.0.0/8 και που καλό είναι να εφαρμόζεται από όλους τους κόμβους κορμού σε κάθε εισερχόμενη και εξερχόμενη peer BGP σύνδεση: | ||
+ | ===== MikroTik v7 C-class BGP aggregate ===== | ||
+ | |||
+ | Στο MikroTik v7, το **C-class** ενός κόμβου **ΔΕΝ** ανακοινώνεται αυτόματα, | ||
+ | |||
+ | Για να ξεπεραστεί το συγκεκριμένο πρόβλημα, | ||
+ | |||
+ | - Περνάμε ένα στατικό route του **C-class** δικτύου μας σαν **blackhole** | ||
+ | - Ενεργοποιούμε το **static** στο BGP, Output Redistribute | ||
+ | - Βεβαιώνουμε πως είναι ενεργοποιημένα, | ||
+ | |||
+ | Παράδειγμα: | ||
+ | |||
+ | εκτελούμε τα παρακάτω βήματα: | ||
+ | |||
+ | Routing --> BGP --> για κάθε νέα BGP σύνδεση ενεργοποιούμε στο Output Redistribute το static | ||
+ | | ||
+ | IP --> Routes --> προσθέτουμε το --> Dst. Address 10.30.30.0/ | ||
+ | | ||
+ | Υπάρχουν δυο ειδών **BGP** συνδέσεις. Η σύνδεση με απομακρυσμένο κόμβο λέγεται **eBGP**. Η σύνδεση με εσωτερικό router στο Local Area Network (LAN) λέγεται **iBGP**. | ||
+ | |||
+ | Το προτεινόμενο **AWMN** in/out φίλτρο μπαίνει **ΜΟΝΟ** στις **eBGP** --> στις εξωτερικές δηλαδή συνδέσεις/ | ||
+ | |||
+ | στις μεταξύ **iBGP** εσωτερικές συνδέσεις (LAN) του κόμβου, | ||
+ | |||
+ | οι σχετικές ρυθμίσεις από τερματικό/ | ||
+ | |||
+ | / | ||
+ | | ||
+ | για κάθε **BGP** σύνδεση, | ||
+ | |||
+ | για παράδειγμα, | ||
+ | |||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | | ||
+ | στις παραπάνω εντολές προσθέτουμε αναλόγως τον τύπο σύνδεσης: | ||
+ | |||
+ | role=ebgp | ||
+ | |||
+ | role=ibgp | ||
+ | |||
+ | επιπλέον πρέπει να ορίσουμε (στις παραπάνω εντολές), | ||
+ | |||
+ | remote.address=10.30.30.254/ | ||
+ | local.address=10.30.30.253 | ||
+ | |||
+ | σαν router id προτιμούμε (αν υπάρχει) την lan/ | ||
+ | | ||
+ | id=10.30.30.1 | ||
+ | | ||
+ | και η τελική εντολή: | ||
+ | | ||
+ | / | ||
+ | |||
+ | *** * Προσοχή ** ! στο τελευταίο βήμα θα πρέπει πάντα να βάζουμε το δίκτυό μας με το **/24** στο τέλος, ανεξάρτητα με το πως το έχουμε σπάσει σε μικρότερα | ||
+ | |||
+ | Σε περιπτώσεις προβλημάτων ασυμμετρίας στο εσωτερικό ενός κόμβου, | ||
+ | |||
+ | nexthop-choice=force-self | ||
+ | |||
+ | // | ||
+ | |||
===== MikroTik terminal setup for SupperQuagga ===== | ===== MikroTik terminal setup for SupperQuagga ===== | ||
- | /routing bgp peer add remote-as=22128 remote-address=10.2.146.10 multihop=yes passive=yes | + | /routing bgp peer add remote-as=22128 remote-address=10.2.146.10 multihop=yes passive=yes |
| | ||
/routing bgp peer print | /routing bgp peer print | ||
| | ||
+ | για **v7**: | ||
+ | |||
+ | / | ||
+ | | ||
+ | / | ||
+ | | ||
+ | Παράδειγμα: | ||
+ | |||
+ | **! ! !** --> | ||
==== MikroTik BGP log filter ==== | ==== MikroTik BGP log filter ==== | ||
Σε περίπτωση που δεν θέλουμε να γεμίζουν τα **logs** με **bgp** μυνήματα από τη SupperQuagga, | Σε περίπτωση που δεν θέλουμε να γεμίζουν τα **logs** με **bgp** μυνήματα από τη SupperQuagga, | ||
Line 182: | Line 256: | ||
αν καταφέρουμε να χαρτογραφήσουμε πιο ορθά το BGP θα έχουμε και μια πιο έγκυρη εικόνα με τους πραγματικούς κόμβους ραχοκοκαλιάς του AWMN | αν καταφέρουμε να χαρτογραφήσουμε πιο ορθά το BGP θα έχουμε και μια πιο έγκυρη εικόνα με τους πραγματικούς κόμβους ραχοκοκαλιάς του AWMN | ||
- | * Μια πολύ ενδιαφέρουσα και χρήσιμη υπηρεσία, | + | * Μια πολύ ενδιαφέρουσα και χρήσιμη υπηρεσία, |
===== Μερικές οδηγίες χρήσης του εργαλείου ===== | ===== Μερικές οδηγίες χρήσης του εργαλείου ===== | ||
Line 204: | Line 278: | ||
σε αυτές τις εσωτερικές **iBGP** συνδέσεις ΔΕΝ θα πρέπει να βάζουμε **κανένα** φίλτρο, | σε αυτές τις εσωτερικές **iBGP** συνδέσεις ΔΕΝ θα πρέπει να βάζουμε **κανένα** φίλτρο, | ||
- | επιπλέον, | + | επιπλέον, |
==== iBGP problem explained ==== | ==== iBGP problem explained ==== | ||
το πρόβλημα με το **iBGP** έχει να κάνει με το σπάσιμο του τοπικού **C-class** σε μικρότερα υποδίκτυα τα οποία χρησιμοποιούμε για τις **WAN** συνδέσεις (**BB** link). σε αυτές τις περιπτώσεις, | το πρόβλημα με το **iBGP** έχει να κάνει με το σπάσιμο του τοπικού **C-class** σε μικρότερα υποδίκτυα τα οποία χρησιμοποιούμε για τις **WAN** συνδέσεις (**BB** link). σε αυτές τις περιπτώσεις, | ||
+ | |||
+ | επιπλέον, | ||
το **awmn BGP** φίλτρο το χρησιμοποιούμε **ΜΟΝΟ** σε **eBGP** συνδέσεις, | το **awmn BGP** φίλτρο το χρησιμοποιούμε **ΜΟΝΟ** σε **eBGP** συνδέσεις, | ||
Line 222: | Line 298: | ||
add action=accept chain=awmn prefix=10.0.0.0/ | add action=accept chain=awmn prefix=10.0.0.0/ | ||
add action=discard chain=awmn | add action=discard chain=awmn | ||
+ | | ||
+ | για **v7**: | ||
+ | |||
+ | / | ||
+ | / | ||
+ | |||
+ | * **Ενημέρωση 9 Δεκέμβρη 2023** * | ||
+ | |||
+ | * * * {!} * * * Οι παραπάνω αρχικοί κανόνες δεν δείχνουν να δουλεύουν για την **v7** . Οι παρακάτω **ενημερωμένοι** κανόνες δοκιμάστηκαν και λειτουργούν. θα πρέπει να γίνει ένας διαχωρισμός σε δυο κανόνες, | ||
+ | |||
+ | /routing filter rule add chain=awmn-in rule=" | ||
+ | /routing filter rule add chain=awmn-out rule=" | ||
| | ||
Στην τοποθεσία Routing--> | Στην τοποθεσία Routing--> | ||
Line 266: | Line 354: | ||
===== Mikrotik DNS Setup ===== | ===== Mikrotik DNS Setup ===== | ||
- | /ip dns | + | /ip dns set allow-remote-requests=yes |
- | | + | |
+ | Το παρακάτω, | ||
+ | |||
+ | /ip dns set servers=8.8.8.8, | ||
+ | /ip dns static add forward-to=10.19.143.12 regexp=" | ||
+ | |||
+ | Προσθέτουμε τα ονόματα του κόμβου μας (για παράδειγμα, | ||
| | ||
- | /ip dns static | + | /ip dns static add name=router.soleo.awmn |
- | | + | |
- | add address=10.38.128.249 name=gw-makofo.soleo.awmn | + | για τις wifi (BB link) συνδέσεις, |
- | add address=10.38.128.250 name=gw-soleo.makofo.awmn | + | |
+ | /ip dns static add name=gw-makofo.soleo.awmn address=10.38.128.249 | ||
+ | /ip dns static add name=gw-soleo.makofo.awmn address=10.38.128.250 | ||
+ | |||
+ | **Προσοχή**, | ||
+ | |||
+ | Αν θέλουμε να δώσουμε **επιπλέον** ονομασίες σε μια **IP**, ο σωστός & προτεινόμενος τρόπος είναι ο πιο κάτω: | ||
+ | |||
+ | /ip dns static add name=alias.soleo.awmn type=CNAME cname=router.soleo.awmn | ||
+ | |||
+ | με τον παραπάνω τρόπο, όταν δίνουμε (για επίλυση σε όνομα) μια **IP**, για παράδειγμα: | ||
+ | |||
+ | όλες οι επιπλέον ονομασίες ορισμένες σαν **CNAME** θα αντιστοιχούν στον **router.soleo.awmn** δηλαδή --> **10.38.128.5** | ||
| | ||
===== Asymmetric routing & UDP ===== | ===== Asymmetric routing & UDP ===== | ||
Line 339: | Line 445: | ||
πατώντας σε κάθε AS κόμβο, η πλοήγηση μεταφέρεται αυτόματα στον συγκεκριμένο κόμβο για περαιτέρω εξέταση | πατώντας σε κάθε AS κόμβο, η πλοήγηση μεταφέρεται αυτόματα στον συγκεκριμένο κόμβο για περαιτέρω εξέταση | ||
+ |