User Tools

Site Tools


start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
start [2020/04/18 07:02]
alex [SupperQuagga Introduction]
start [2023/12/09 14:08] (current)
10.2.19.13 [AWMN BGP filter]
Line 57: Line 57:
 Ένα από τα βασικά εργαλεία, μεταξύ άλλων, που παρέχει η [[http://www.ozo.com/lgsp|SupperQuagga]] είναι ο εντοπισμός της πηγής δημιουργίας τέτοιων φαντασμάτων με το [[http://www.ozonet.awmn/lgsp/?command=ghost-detector&protocol=ipv4&query=&router=supperquagga|bgp ghost-detector]]. Ένα από τα βασικά εργαλεία, μεταξύ άλλων, που παρέχει η [[http://www.ozo.com/lgsp|SupperQuagga]] είναι ο εντοπισμός της πηγής δημιουργίας τέτοιων φαντασμάτων με το [[http://www.ozonet.awmn/lgsp/?command=ghost-detector&protocol=ipv4&query=&router=supperquagga|bgp ghost-detector]].
  
-===== broken software forum archives =====+===== MikroTik software issues [forum archives=====
  
 **[[https://forum.mikrotik.com/viewtopic.php?f=14&t=57781|Stuck Routes on Route Cache]]** **[[https://forum.mikrotik.com/viewtopic.php?f=14&t=57781|Stuck Routes on Route Cache]]**
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 =====
  
-===== BGP log φίλτρο ===== +Στο MikroTik v7, το **C-class** ενός κόμβου **ΔΕΝ** ανακοινώνεται αυτόματαόταν το έχουμε χωρίσει σε μικρότερα **subnets**. Η σχετική αναφορά της Mikrotik βρίσκεται [[https://help.mikrotik.com/docs/display/ROS/Moving+from+ROSv6+to+v7+with+examples#MovingfromROSv6tov7withexamples-Networks|εδώ]].
-Σε περίπτωση που δεν θέλουμε να γεμίζουν τα **logs** με **bgp** μυνήματα από τη SupperQuagga, οι παρακάτω εντολές φιλτράρουν τα συγκεκριμένα μυνήματα από τα log+
  
-  /system logging set [find where topics="error"] topics="error,!bgp" +Για να ξεπεραστεί το συγκεκριμένο πρόβλημα, θα πρέπει να ακολουθηθούν τα παρακάτω βήματα:
-  /system logging set [find where topics="info"] topics="info,!bgp" +
-===== AWMN BGP φίλτρο =====+
  
-Ακολουθεί το προτεινόμενο φίλτρο καλής χρήσης & προστασίας του **BGP** για το **AWMN** το οποίο επιβάλεται να έχουμε σε κάθε BGP με ασυρματική ζεύξη/λινκ.+  - Περνάμε ένα στατικό route του **C-class** δικτύου μας σαν **blackhole** 
 +  - Ενεργοποιούμε το **static** στο BGP, Output Redistribute 
 +  - Βεβαιώνουμε πως είναι ενεργοποιημένα, στα εξωτερικά **ΜΟΝΟ** λινκ (**eBGP**), σε in/out το προτεινόμενο **AWMN** φίλτρο
  
-Ανοίγουμε ένα Terminal δίνουμε τις παρακάτω εντολές+Παράδειγμα: έστω πως το **C-class** δίκτυό μας είναι το: 10.30.30.0/24 
-  /routing filter + 
-  add action=discard chain=awmn bgp-as-path-length=!0-24 +εκτελούμε τα παρακάτω βήματα
-  add action=accept chain=awmn prefix=10.0.0.0/8 prefix-length=24 + 
-  add action=accept chain=awmn prefix=10.0.0.0/15 prefix-length=32 +  Routing --> BGP --> για κάθε νέα BGP σύνδεση ενεργοποιούμε στο Output Redistribute το static
-  add action=discard chain=awmn+
      
-Στην τοποθεσία Routing-->BGP-->Peers, σε κάθε **ασυρματική** σύνδεση, **όχι** με τους τοπικούς μας άλλους router, επιλέγουμε για φίλτρο IN και OUT την επιλογή awmn.+  IP --> Routes --> προσθέτουμε το --> Dst. Address 10.30.30.0/24 & ενεργοποιούμε ΜΟΝΟ το Blackhole 
 +   
 +Υπάρχουν δυο ειδών **BGP** συνδέσεις. Η σύνδεση με απομακρυσμένο κόμβο λέγεται **eBGP**. Η σύνδεση με εσωτερικό router στο Local Area Network (LAN) λέγεται **iBGP**.
  
-το παραπάνω φίλτρο καταπολεμά σε ένα ικανοποιητικό βαθμό το μεγαλύτερο μέρος των φαντασμάτων στο BGP, και προστατεύει από κακόβουλες ενέργειες ή ακούσιες λανθασμένες ρυθμίσεις. ** δεν αποτελεί απαραίτητη προϋπόθεση ** αλλά η χρήση του συνιστάται.+Το προτεινόμενο **AWMN** in/out φίλτρο μπαίνει **ΜΟΝΟ** στις **eBGP** --> στις εξωτερικές δηλαδή συνδέσεις/λινκ του κόμβου. 
  
-**για quagga**:+στις μεταξύ **iBGP** εσωτερικές συνδέσεις (LAN) του κόμβου, δεν περνάμε **ΚΑΝΕΝΑ** φίλτρο.  
 + 
 +οι σχετικές ρυθμίσεις από τερματικό/ssh είναι: 
 + 
 +  /routing/bgp/connection/set output.redistribute=static,bgp hold-time=30s keepalive-time=10s numbers=0 
 +   
 +για κάθε **BGP** σύνδεση, θα πρέπει να ορίσουμε τα παραπάνω αλλάζοντας το numbers= 
 + 
 +για παράδειγμα, αν έχουμε ένα router με **πέντε** (**5**) BGP συνδέσεις, θα πρέπει να δώσουμε την εντολή στην παρακάτω μορφή: 
 + 
 +  /routing/bgp/connection/set output.redistribute=static,bgp hold-time=30s keepalive-time=10s  numbers=0 
 +  /routing/bgp/connection/set output.redistribute=static,bgp hold-time=30s keepalive-time=10s  numbers=1 
 +  /routing/bgp/connection/set output.redistribute=static,bgp hold-time=30s keepalive-time=10s  numbers=2 
 +  /routing/bgp/connection/set output.redistribute=static,bgp hold-time=30s keepalive-time=10s  numbers=3 
 +  /routing/bgp/connection/set output.redistribute=static,bgp hold-time=30s keepalive-time=10s  numbers=4 
 +   
 +στις παραπάνω εντολές προσθέτουμε αναλόγως τον τύπο σύνδεσης: 
 + 
 +  role=ebgp 
 + 
 +  role=ibgp 
 + 
 +επιπλέον πρέπει να ορίσουμε (στις παραπάνω εντολές), για κάθε σύνδεση, τα σχετικά παρακάτω πεδία:  
 + 
 +  remote.address=10.30.30.254/32 
 +  local.address=10.30.30.253 
 + 
 +σαν router id προτιμούμε (αν υπάρχει) την lan/ethernet IP του router:   
 +   
 +  id=10.30.30.1 
 +     
 +και η τελική εντολή: 
 +   
 +    /ip/route/add blackhole dst-address=10.30.30.0/24 
 + 
 + *** * Προσοχή ** ! στο τελευταίο βήμα θα πρέπει πάντα να βάζουμε το δίκτυό μας με το **/24** στο τέλος, ανεξάρτητα με το πως το έχουμε σπάσει σε μικρότερα 
 + 
 +Σε περιπτώσεις προβλημάτων ασυμμετρίας στο εσωτερικό ενός κόμβου, βοηθάει στο μεταξύ **iBGP** τοπικών router, να ενεργοποιηθεί η επιλογή: 
 + 
 +  nexthop-choice=force-self 
 + 
 +//Ευχαριστώ τον Δημήτρη (**dgi**) για την πρόσβαση σε MikroTik v7 για τις σχετικές δοκιμές// 
 + 
 +===== MikroTik terminal setup for SupperQuagga ===== 
 + 
 +  /routing bgp peer add remote-as=22128 remote-address=10.2.146.10 multihop=yes passive=yes name=spq hold-time=180s keepalive-time=60s 
 +   
 +  /routing bgp peer print 
 +   
 +για **v7**: 
 + 
 +    /routing/bgp/connection add remote.as=22128 as=local_awmn_AS local.address=local_lan_ethernet_ip local.role=ebgp remote.address=10.2.146.10 multihop=yes listen=yes name=spq 
 +     
 +    /routing/bgp/connection/print 
 +   
 +Παράδειγμα: κόμβος 3298, δίκτυο 10.2.19.0/24. as=3298 local.address=10.2.19.65 
 + 
 +**! ! !** -->  σαν **router id** προτιμούμε (αν υπάρχει) την lan/ethernet IP του router 
 +==== MikroTik BGP log filter ==== 
 +Σε περίπτωση που δεν θέλουμε να γεμίζουν τα **logs** με **bgp** μυνήματα από τη SupperQuagga, οι παρακάτω εντολές φιλτράρουν τα συγκεκριμένα μυνήματα από τα log 
 + 
 +  /system logging set [find where topics="error"] topics="error,!bgp" 
 +  /system logging set [find where topics="info"] topics="info,!bgp" 
 +===== Quagga setup for SupperQuagga =====
   neighbor 10.2.146.10 remote-as 22128   neighbor 10.2.146.10 remote-as 22128
   neighbor 10.2.146.10 ebgp-multihop   neighbor 10.2.146.10 ebgp-multihop
Line 168: Line 232:
   ip prefix-list awmn-null seq 20 deny any   ip prefix-list awmn-null seq 20 deny any
      
-και **για bird:**+===== Bird setup for SupperQuagga =====
   protocol bgp {                                                    protocol bgp {                                                 
         export filter awmn;                        export filter awmn;               
Line 192: Line 256:
 αν καταφέρουμε να χαρτογραφήσουμε πιο ορθά το BGP θα έχουμε και μια πιο έγκυρη εικόνα με τους πραγματικούς κόμβους ραχοκοκαλιάς του AWMN αν καταφέρουμε να χαρτογραφήσουμε πιο ορθά το BGP θα έχουμε και μια πιο έγκυρη εικόνα με τους πραγματικούς κόμβους ραχοκοκαλιάς του AWMN
  
-  * Μια πολύ ενδιαφέρουσα και χρήσιμη υπηρεσία, που βασίζεται στα δεδομένα της Supper Quagga, ζωντανής   απεικόνισης και χαρτογράφησης όλων των Πανελλαδικών Ασύρματων κοινοτήτων που έχουν διασυνδεθεί μεταξύ τους είναι το [[http://bgpmap.awmn.net/|BGPmap]] που με πολύ όρεξη και ώρες εργασίας έφτιαξε συντηρεί ναι αναπτύσσει ο κόμβος #9895 geolos τον οποίο ευχαριστώ θερμά για την υποστήριξη και προσφορά του στην κοινότητά μας+  * Μια πολύ ενδιαφέρουσα και χρήσιμη υπηρεσία, που βασίζεται στα δεδομένα της Supper Quagga, ζωντανής   απεικόνισης και χαρτογράφησης όλων των Πανελλαδικών Ασύρματων κοινοτήτων που έχουν διασυνδεθεί μεταξύ τους είναι το [[http://bgpmap.ozo.com/|BGPmap]] που με πολύ όρεξη και ώρες εργασίας έφτιαξε συντηρεί ναι αναπτύσσει ο κόμβος #9895 geolos τον οποίο ευχαριστώ θερμά για την υποστήριξη και προσφορά του στην κοινότητά μας 
 +===== Μερικές οδηγίες χρήσης του εργαλείου ===== 
 + 
 +μέσα από το γραφικό περιβάλλον της [[http://spq.ozo.com/|Supper Quagga]] μπορούμε να έχουμε μια γρήγορη και εύκολη εικόνα με το ποιοι κόμβοι ανεβοκατεβαίνουν πολλές φορές μέσα στην ημέρα δημιουργώντας πιθανά προβλήματα στην δρομολόγηση. 
 + 
 +αυτό που παρατηρεί κάποιος εξετάζοντας το φαινόμενο των [[http://www.ozonet.awmn/lgsp/?command=top-flappers&protocol=ipv4&query=&router=supperquagga|flaps στο BGP]] είναι ότι συνήθως πρόκειται για τερματικούς κόμβους που δεν επηρεάζουν τη γενικότερη δρομολόγηση του δικτύου (απλά ρυπαίνουν το BGP με την προβληματική συμπεριφορά τους). 
 + 
 +ένα ερώτημα προβληματισμός που εγείρεται είναι γιατί αυτοί οι τερματικοί κόμβοι να στέλνουν BGP στην δρομολόγηση και να μην λειτουργούν απλά με ένα static route. Αυτό εξάλλου είναι ορθά και εκτός προδιαγραφών AWMN (δηλαδή τερματικοί κόμβοι & BGP). 
 + 
 + 
 +===== eBGP & iBGP ===== 
 + 
 +το **BGP** έχει δυο κατηγορίες: **eBGP** & **iBGP** 
 + 
 +το **eBGP** σημαίνει external **BGP** και είναι αυτό που συνδέουμε τον κόμβο μας με άλλους απομακρυσμένους κόμβους (τα **BB** λινκ που λέμε). σε αυτού του είδους τις συνδέσεις **και ΜΟΝΟ** περνάμε το προτεινόμενο **awmn BGP** φιλτρο. 
 + 
 +το **iBGP** σημαίνει internal **BGP** και είναι αυτό που συνδέουμε δικούς μας εσωτερικούς **router** στον **ίδιο** κόμβο μεταξύ τους 
 + 
 +δηλαδή για παράδειγμα, έχουμε ένα **alix**, ένα **rb433AH** & ένα **groove** και τρέχουμε σε κάθε ένα από αυτά **BGP** τα οποία συνδέουμε μεταξύ τους (αυτή η μεταξύ τους τοπική σύνδεση την αποκαλούμε **iBGP** --> εσωτερική, internal) 
 + 
 +σε αυτές τις εσωτερικές **iBGP** συνδέσεις ΔΕΝ θα πρέπει να βάζουμε **κανένα** φίλτρο, ούτε το **awmn BGP** φίλτρο 
 + 
 +επιπλέον, καλό είναι να ενεργοποιούμε στο **BGP** την επιλογή **Redistribute connected** & **client-to-client-reflection** 
 + 
 +==== iBGP problem explained ==== 
 +το πρόβλημα με το **iBGP** έχει να κάνει με το σπάσιμο του τοπικού **C-class** σε μικρότερα υποδίκτυα τα οποία χρησιμοποιούμε για τις **WAN** συνδέσεις (**BB** link). σε αυτές τις περιπτώσεις, όταν έχουμε πάνω από εναν κεντρικό **BGP** speaker στον κόμβο (**LAN**), συνήθως οι άλλοι **BGP** routers αγνοούν την ύπαρξη του τοπικού **wan/BB** υποδικτύου. παλιά, αυτό αντιμετωπίζονταν με την παράλληλη χρήση ενός **IGP** routing όπως το **OSPF**, **RIP** ή & **static** routes. πλέον, οι σύγχρονες **BGP** εκδόσεις, έχουν την δυνατότητα να ανακοινώνουν αυτά τα εσωτερικά υποδίκτυα, αρκεί να μην φιλτράρεται η συγκεκριμένη πληροφορία. οπότε σε αυτές τις περιπτώσεις, δεν θα πρέπει να εισάγουμε **κανένα** φίλτρο μεταξύ των τοπικών **BGP** συνδέσεων στο **LAN** ενός κόμβου. 
 + 
 +επιπλέον, στους **router** πάνω στο **LAN** μεταξύ τους, ορίζουμε το **next-hop** σαν **force-self** & ΟΧΙ **default** 
 + 
 +το **awmn BGP** φίλτρο το χρησιμοποιούμε **ΜΟΝΟ** σε **eBGP** συνδέσεις, αυτές με άλλους απομακρυσμένους κόμβους, ώστε να μην ανακοινώνουμε στο γενικό **BGP** υποδίκτυα μικρότερα του **C-class**, και γενικά να θωρακίζουμε/φιλτράρουμε την πληροφορία του **BGP** από λανθασμένες ρυθμίσεις ή κακόβουλες ενέργειες. 
 +=== iBGP troubleshoot === 
 +ένας απλός & σίγουρος τρόπος για να εντοπίσουμε αν υπάρχει πρόβλημα σωστής **iBGP** επικοινωνίας σε έναν κόμβο που τρέχει πάνω από έναν **BGP** speaker είναι, να κάνουμε **ping** σε ένα **IP** ενός **/30** ή **/29** υποδικτύου που έχουμε κόψει από το δικό μας **C-class** για χρήση **wan/BB**, από τους άλλους τοπικούς **BGP** speakers του τοπικού μας δικτύου (αυτούς που **ΔΕΝ** έχουν σε **WAN** σύνδεση αυτό το **wan/BB** υποδίκτυο αλλά οφείλουν να το γνωρίζουν. αν το **ping** λειτουργεί, τότε δεν υπάρχει το **iBGP** πρόβλημα. σε διαφορετική περίπτωση, το πρόβλημα υπάρχει & θα πρέπει να διερευνηθεί & λυθεί.  
 +===== AWMN BGP filter ===== 
 + 
 +Ακολουθεί το προτεινόμενο φίλτρο καλής χρήσης & προστασίας του **BGP** για το **AWMN** το οποίο επιβάλεται να έχουμε σε κάθε BGP με ασυρματική ζεύξη/λινκ. 
 + 
 +Ανοίγουμε ένα Terminal δίνουμε τις παρακάτω εντολές: 
 +  /routing filter 
 +  add action=discard chain=awmn bgp-as-path-length=!0-28 
 +  add action=accept chain=awmn prefix=10.0.0.0/8 prefix-length=24 
 +  add action=accept chain=awmn prefix=10.0.0.0/15 prefix-length=32 
 +  add action=discard chain=awmn 
 +   
 +για **v7**:  
 + 
 +   /routing filter rule add chain=awmn rule="if (dst in 10.0.0.0/8 && dst-len==24 && bgp-path-len<27) { accept; }" 
 +   /routing filter rule add chain=awmn rule="if (dst in 10.0.0.0/15 && dst-len==32 && bgp-path-len<27) { accept; }" 
 +    
 +* **Ενημέρωση 9 Δεκέμβρη 2023** * 
 + 
 +* * * {!} * * * Οι παραπάνω αρχικοί κανόνες δεν δείχνουν να δουλεύουν για την **v7** . Οι παρακάτω **ενημερωμένοι** κανόνες δοκιμάστηκαν και λειτουργούν. θα πρέπει να γίνει ένας διαχωρισμός σε δυο κανόνες, **awmn-in** & **awmn-out**. Επιπλέον αφαιρούμε το φίλτρο **anycast**, μια υπηρεσία που ήταν πειραματική στις μέρες του 2005-2009 ενώ ποτέ δεν δούλεψε ικανοποιητικά. Σήμερα, εν έτει 2023, η αποδοχή της στα φίλτρα αποτελεί κενό ασφάλειας, οπότε και αφαιρείται. 
 + 
 +  /routing filter rule add chain=awmn-in rule="if (dst in 10.0.0.0/8 && dst-len==24 && bgp-path-len<27) { accept; }" 
 +  /routing filter rule add chain=awmn-out rule="if (dst in 10.0.0.0/8 && dst-len==24) { accept; }" 
 +   
 +Στην τοποθεσία Routing-->BGP-->Peers, σε κάθε **ασυρματική** σύνδεση, **όχι** με τους τοπικούς μας άλλους router, επιλέγουμε για φίλτρο IN και OUT την επιλογή awmn. 
 + 
 +Το παραπάνω φίλτρο αποκλείει τις μαύρες τρύπες που ακυρώνουν τον δυναμικό, ζωντανό & διάφανο χαρακτήρα του **BGP**, καταπολεμά σε ένα ικανοποιητικό βαθμό το μεγαλύτερο μέρος των φαντασμάτων, ενώ προστατεύει & θωρακίζει από κακόβουλες ενέργειες ή ακούσιες λανθασμένες ρυθμίσεις. ** Δεν αποτελεί απαραίτητη προϋπόθεση ** αλλά η χρήση του συνιστάται.
  
-===== Σωστή χρήση NAT/Masquerade =====+===== AWMN NAT/Masquerade setup =====
  
 ** * * * Προσοχή * * * ** στην χρήση του **NAT/Masquerade** ** * * * Προσοχή * * * ** στην χρήση του **NAT/Masquerade**
Line 213: Line 334:
  
 Αν δεν υπάρχει η δυνατότητα να καθοριστούν συγκεκριμένα τα δίκτυα src=, τότε οι παραπάνω δυο γενικοί κανόνες, εξασφαλίζουν την απρόσκοπτη & σωστή διεύλευση της 10.0.0.0/8 κίνησης. Αν δεν υπάρχει η δυνατότητα να καθοριστούν συγκεκριμένα τα δίκτυα src=, τότε οι παραπάνω δυο γενικοί κανόνες, εξασφαλίζουν την απρόσκοπτη & σωστή διεύλευση της 10.0.0.0/8 κίνησης.
-===== Μερικές οδηγίες χρήσης του εργαλείου =====+ ===== cloud.mikrotik.com DNS Storm =====
  
-μέσα από το γραφικό περιβάλλον της [[http://spq.ozo.com/|Supper Quagga]] μπορούμε να έχουμε μια γρήγορη και εύκολη εικόνα με το ποιοι κόμβοι ανεβοκατεβαίνουν πολλές φορές μέσα στην ημέρα δημιουργώντας πιθανά προβλήματα στην δρομολόγηση.+Σε πολλές περιπτώσεις, MikroTik δρομολογητές με default ρυθμίσεις, δημιουργούν πολύ ενοχλήτικές & άχρηστες καταγίδες σε χρήση DNS
  
-αυτό που παρατηρεί κάποιος εξετάζοντας το φαινόμενο των [[http://www.ozonet.awmn/lgsp/?command=top-flappers&protocol=ipv4&query=&router=supperquagga|flaps στο BGP]] είναι ότι συνήθως πρόκειται για τερματικούς κόμβους που δεν επηρεάζουν τη γενικότερη δρομολόγηση του δικτύου πλά ρυπαίνουν το BGP με την προβληματική συμπεριφορά τους).+  12:32:38.113564 IP 10.37.52.254.5678 > 10.2.19.1.53: 41094+ A? cloud.mikrotik.com. (36) 
 +  12:32:38.113618 IP 10.2.19.1.53 > 10.37.52.254.5678: 41094 1/0/0 A 159.148.147.229 (52) 
 +  12:32:39.113797 IP 10.37.52.254.5678 > 10.2.19.1.53: 41094+ A? cloud.mikrotik.com. (36) 
 +  12:32:39.113857 IP 10.2.19.1.53 > 10.37.52.254.5678: 41094 1/0/0 A 159.148.147.229 (52) 
 +  12:32:40.112605 IP 10.37.52.254.5678 > 10.2.19.1.53: 41094+ A? cloud.mikrotik.com. (36) 
 +  12:32:40.112668 IP 10.2.19.1.53 > 10.37.52.254.5678: 41094 1/0/0 A 159.148.147.229 (52) 
 + 
 +Κάποιες προτεινόμενες λύσεις στο συγκεκριμένο πρόβλημα είναι οι ακόλουθες: 
 + 
 +  - Απενεργοποίηση [[https://wiki.mikrotik.com/wiki/Manual:Detect_internet | Detect Internet]] <code> /interface detect-internet set detect-interface-list=none </code> 
 +  - Απενεργοποίηση [[https://wiki.mikrotik.com/wiki/Manual:IP/Cloud#DDNS | DDNS service]] <code>/ip cloud set ddns-enabled=no</code> 
 +  - Απενεργοποίηση [[https://wiki.mikrotik.com/wiki/Manual:IP/Cloud#Update_time | Update time]] <code>/ip cloud set update-time=no</code> 
 +  - Απενεργοποίηση [[https://wiki.mikrotik.com/wiki/Manual:System/Time#Clock_and_Time_zone_configuration | time-zone-autodetect]] <code>/system clock set time-zone-autodetect=no</code> 
 + 
 +===== Mikrotik DNS Setup ===== 
 + 
 +  /ip dns set allow-remote-requests=yes 
 + 
 +Το παρακάτω, στέλνει **ΟΛΕΣ** τις **Internet** διευθύνσεις στους Internet servers & **ΟΛΕΣ** τις **AWMN** διευθύνσεις στον **wind.awmn** server 
 + 
 +  /ip dns set servers=8.8.8.8,8.8.4.4,1.1.1.1 
 +  /ip dns static add forward-to=10.19.143.12 regexp=".*\\.awmn\$" 
 + 
 +Προσθέτουμε τα ονόματα του κόμβου μας (για παράδειγμα, κόμβος soleo 10.38.128.0/24) ως εξής: 
 +   
 +  /ip dns static add name=router.soleo.awmn address=10.38.128.5 
 +   
 +για τις wifi (BB link) συνδέσεις, ακολουθούμε το παρακάτω πρότυπο (**gw-**όνομα-απέναντι-κόμβου)): 
 +   
 +  /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** address σε όνομα ( name= ) ώστε να γίνεται σωστά η επίλυση της **IP** σε όνομα προκειμένου να **ΜΗΝ** δημιουργείται πρόβλημα στις περισσότερες εφαρμογές που πλέον το απαιτούν για λόγους ασφαλείας 
 + 
 +Αν θέλουμε να δώσουμε **επιπλέον** ονομασίες σε μια **IP**, ο σωστός & προτεινόμενος τρόπος είναι ο πιο κάτω
 + 
 +  /ip dns static add name=alias.soleo.awmn type=CNAME cname=router.soleo.awmn 
 +   
 +με τον παραπάνω τρόπο, όταν δίνουμε (για επίλυση σε όνομα) μια **IP**, για παράδειγμα: **10.38.128.5**, η απάντηση θα είναι **ΠΑΝΤΑ** μια & μοναδική (όπως απαιτείται κατά τα πρότυπα) --> **router.soleo.awmn** 
 + 
 +όλες οι επιπλέον ονομασίες ορισμένες σαν **CNAME** θα αντιστοιχούν στον **router.soleo.awmn** δηλαδή --> **10.38.128.5** 
 +   
 +===== Asymmetric routing & UDP ===== 
 + 
 +η ανάπτυξη του **AWMN** δικτύου είναι βασισμένη σε κόμβους με πολλαπλές συνδέσεις, με αποτέλεσμα πολλές φορές να υπάρχει **ασυμμετρία** σε αρκετές διαδρομές μέσα σε αυτό. η χρήση **stateful** filtering δημιουργεί πρόβλημα στο **DNS** το οποίο λειτουργεί σε **UDP**. ο δημιουργός του **tinc-vpn** [[http://www.tinc-vpn.org/pipermail/tinc/2015-September/004225.html|εξέφρασε]] σχετικά το παρακάτω: 
 + 
 +  There is nothing tinc can do here. Either make sure you don't do 
 +  asymetric routing, or change your firewall rules to not do stateful 
 +  filtering of TCP connections 
 +   
 +ανατρέχοντας στις [[https://help.mikrotik.com/docs/display/ROS/Basic+Concepts|βασικές οδηγίες ρύθμισης & λειτουργίας firewall της Mikrotik]] έχουμε την παρακάτω υπενθύμιση:   
 + 
 +  /ip firewall filter 
 +  add chain=input connection-state=invalid action=drop comment="Drop Invalid connections" 
 +  add chain=input connection-state=established,related,untracked action=accept comment="Allow Established/Related/Untracked connections 
 +** 
 +//__Such a rule set must not be applied on routers with asymmetric routing, because asymmetrically routed packets may be considered invalid and dropped__//** 
 + 
 +οπότε αν θέλουμε το **DNS** που τρέχουμε να λειτουργεί σε **όλο** το δίκτυο, θα πρέπει να απενεργοποιήσουμε τους δυο συγκεκριμένους παραπάνω κανόνες
 + 
 +  /ip firewall filter 
 +  del chain=input connection-state=established,related,untracked action=accept comment="Allow Established/Related/Untracked connections 
 +  del chain=input connection-state=invalid action=drop comment="Drop Invalid connections" 
 +   
 +το παρακάτω παράδειγμα δείχνει καθαρά το πρόβλημα: 
 + 
 +  In BGP 
 +  5 7413 8345 7430 9936 3298  
 +  5 7413 11087 7430 9936 3298 
 +   
 +ο κόμβος 7413 μπορεί να πάρει udp/dns αποκρίσεις & στην περίπτωση που ο κόμβος 3298 είχε stateful firewall, μια και η εισερχόμενη διαδρομή είναι ίδια με την εξερχόμενη (δηλαδή μέσα από τον κόμβο 9936) 
 + 
 +ο κόμβος 3298 όμως ΔΕΝ μπορεί να λάβει udp/dns αποκρίσεις διότι το stateful firewall του κόμβου 7413 κόβει κάθε connectionless (udp) κίνηση που έχει ασυμμετρία. στην προκειμένη ο 3298 διαλέγει την συγκεκριμένη διαδρομή προς 7413 
 + 
 +  3298 9936 7430 8345 7413 
 +   
 +ενώ ο κόμβος 7413 την διαδρομή: 
 + 
 +    7413 11087 7430 9936 3298 
 +   
 +===== BGPmap Tips & Tricks ===== 
 +   
 +==== 3D map @ AWMN ====  
 + 
 +  - πάμε στο http://bgpmap.ozo.com/ 
 +  - στο δεξί δεξί menu κάτω εκεί που λέει Search Node βάζουμε (παράδειγμα) virtual & πατάμε enter 
 +  - θα μας ανοίξει από κάτω (δεξιά) ένα menu, στο κάτω μέρος πατάμε το View node in 3D mode 
 +  - κάτω δεξιά πατάμε την υδρόγειο για να μας ανοίξει το 3D 
 +  - η ρόδα του ποντικιού, κάνει zoom in/out 
 +  - το αριστερό κουμπί του ποντικιού ελέγχει την οριζόντια πλοήγηση 
 +  - το αριστερό κουμπί του ποντικιού με το Ctrl πατημένο ελέγχει την κάθετη πλοήγηση 
 + 
 +//happy 3D flying// 
 + 
 +==== BGP Trace ==== 
 + 
 +  - στο δεξί παράθυρο (Control center), πηγαίνουμε στο Trace Route 
 +  - βάζουμε είτε με όνομα κόμβου είτε με αριθμό AS τους κόμβους που μας ενδιαφέρει να εξετάσουμε 
 +  - πατάμε την ένδειξη Show route 
 + 
 +η παραπάνω διαδικασία: 
 + 
 +  - θα απαριθμήσει τους κόμβους από τους οποίους περνάει η σύνδεση αυτών των δυο κόμβων 
 +  - θα αποτυπώσει πάνω στον χάρτη με μπλε χρώμα τις παραπάνω διαδρομές 
 +  - στο δεξί μενού με την ένδειξη Possible Route(s), θα εμφανίσει την διαδρομή με όλα τα AS (κόμβους) που μεσολαβούν 
 + 
 +πατώντας σε κάθε AS κόμβο, η πλοήγηση μεταφέρεται αυτόματα στον συγκεκριμένο κόμβο για περαιτέρω εξέταση
  
-ένα ερώτημα προβληματισμός που εγείρεται είναι γιατί αυτοί οι τερματικοί κόμβοι να στέλνουν BGP στην δρομολόγηση και να μην λειτουργούν απλά με ένα static route. Αυτό εξάλλου είναι ορθά και εκτός προδιαγραφών AWMN (δηλαδή τερματικοί κόμβοι & BGP). 
start.1587193376.txt.gz · Last modified: 2020/04/18 07:02 by alex