Κράτηση καναλιού Mikrotik. Εξασφάλιση failover με βαθύτερη ανάλυση καναλιών. Ρύθμιση σεναρίου για μετάβαση σε εφεδρικό κανάλι


Failover - στα ρωσικά, πρόκειται για κράτηση καναλιών Διαδικτύου, εναλλαγή σε περίπτωση αποτυχίας του κύριου καναλιού Διαδικτύου σε εφεδρικό.

Έχουμε λοιπόν τη Mikrotik, 2 πάροχοι είναι συνδεδεμένοι σε αυτήν (ISP1 και ISP2) και το δίκτυό σας, είναι απαραίτητο να μεταβείτε αυτόματα στο εφεδρικό όταν αποτύχει το κύριο κανάλι Διαδικτύου.

1. Μέθοδος, το failover πραγματοποιείται με διαδρομές, το μόνο που χρειάζεται να κάνετε είναι να καταχωρήσετε δύο διαδρομές, μία στον ISP1 και τη δεύτερη στον ISP2, επιλέγοντας ping ή arp στο στοιχείο "Check Gateway". Κατά τη γνώμη μου, το ping είναι πιο κατάλληλο για τις περισσότερες περιπτώσεις. Με τον ίδιο τρόπο, καταχωρήστε τη διαδρομή στον δεύτερο πάροχο. Είναι πιο βολικό για μένα να διαμορφώσω το Mikrotik χρησιμοποιώντας το Winbox· οι διαδρομές καταχωρούνται στο μενού IP-Routes.

Εάν στο Distance αντιστοιχίσετε, για παράδειγμα, 1 σε έναν πάροχο και 2 στον δεύτερο, τότε η Mikrotik θα εξισορροπήσει αυτόματα το φορτίο, όταν γεμισμένο στο φουλαπό τον πρώτο πάροχο, τα νέα αιτήματα θα πηγαίνουν στον δεύτερο.

Αυτή η μέθοδος έχει ορισμένους περιορισμούς:

— Εάν ένας από τους παρόχους σάς δώσει μια δυναμική IP και οι ρυθμίσεις προέρχονται μέσω DHCP, τότε δεν θα μπορείτε να καταχωρίσετε μια διαδρομή καθορίζοντας το όνομα της διεπαφής· θα πρέπει να εισαγάγετε την ip πύλης στο πεδίο "Gateway".
— Μερικές φορές υπάρχουν περιπτώσεις όπου η πύλη του παρόχου λειτουργεί, αλλά οι κόμβοι πίσω από αυτήν δεν είναι διαθέσιμοι, η Mikrotik θεωρεί ότι η διαδρομή λειτουργεί, η εναλλαγή δεν θα συμβεί και το Διαδίκτυο δεν θα λειτουργεί.

2η Επιλογή Failover στο Mikrotik χωρίς τα μειονεκτήματα της πρώτης μεθόδου.

Η Mikrotik έχει ενσωματωμένο Netwatch (βρίσκεται στο μενού Εργαλεία). Εν ολίγοις, αυτό το βοηθητικό πρόγραμμα σάς επιτρέπει να κάνετε ping οποιαδήποτε ip και να εκτελέσετε εντολές εάν αλλάξει η διαθεσιμότητα της διεύθυνσης ip, στο Up εισάγουμε εντολές που εκτελούνται όταν η ip γίνει ξανά διαθέσιμη, στο Down εισάγουμε εντολές που πρέπει να εκτελεστούν όταν Η ip καθίσταται μη διαθέσιμη.

Η ουσία είναι ξεκάθαρη από την εικόνα, κάντε κλικ στο μπλε συν, εισάγετε την IP με την οποία θα ελέγξουμε την απόδοση του καναλιού, το διάστημα δοκιμής, το ρύθμισα σε περίπου ένα λεπτό, μπορούν να γίνουν λιγότερα ή περισσότερα.

Ναι, πρέπει πρώτα να ορίσετε σχόλια για διαδρομές. Είναι πιο βολικό για μένα να ρυθμίσω το Mikrotik μέσω του Winbox, να ορίσω ένα σχόλιο για μια διαδρομή, να μεταβείτε στο IP-Routes, θα ανοίξει ένα παράθυρο με μια λίστα διαδρομών, το κουμπί για τη ρύθμιση ενός σχολίου είναι κυκλωμένο, επιλέξτε την επιθυμητή διαδρομή, κάντε κλικ στο κουμπί, εισάγετε ένα σχόλιο για τη διαδρομή, κάντε κλικ στο ok.

Η εικόνα δείχνει το σενάριο να λειτουργεί, η διαδρομή προς τον πάροχο ISP2 (Utel για μένα) δεν είναι ενεργή, γκρί, και η διαδρομή προς τον ISP1 (έχω Stels) είναι ενεργή. Παρακάτω μπορείτε να δείτε τη διαδρομή με το σχόλιο του Stels88, αυτό είναι απαραίτητο ώστε τα ping στο 8.8.4.4, που χρησιμοποιούμε στα σενάρια, να προέρχονται μόνο από τον ISP1, αυτό είναι απαραίτητο για την παρακολούθηση της απόδοσης του ISP1, τα ping είναι καλά, αν δεν υπάρχουν απαντήσεις σε ping, τότε πρέπει να μεταβείτε στον ISP2. Πώς γίνεται αυτό φαίνεται στην παρακάτω εικόνα:

Στην ενότητα UP γράφουμε:

/ip route set disabled=no
/ip route set disabled=yes

Στην ενότητα Κάτω γράφουμε:

/ip route set disabled=yes
/ip route set disabled=no

Για να λειτουργήσει σωστά το σχήμα, θα πρέπει να επιτρέψετε σε αυτήν την ip να κάνει ping μόνο από τον ISP1, για αυτό συνιστάται να προσθέσετε έναν κανόνα στο IP-Firewall που απαγορεύει την πρόσβαση στο 8.8.4.4 από τον ISP2 και να εγγραφείτε στατική διαδρομήέως 8.8.4.4 μέσω της πύλης ISP1 (σε κανονική λειτουργία αυτό δεν θα είναι δυνατό εάν ο ISP1 εκδώσει μια δυναμική ip και θα πρέπει να γράψετε ένα σενάριο που θα καθορίζει την ip της πύλης και θα ορίζει τη διαδρομή).

Χορηγός άρθρου:

Εκμάθηση MikroTik – θεωρία και πρακτική σε μορφή βίντεο.

Στο μάθημα βίντεο "" θα μάθετε πώς να διαμορφώνετε έναν δρομολογητή από την αρχή για τους σκοπούς ενός μικρού γραφείου. Το μάθημα βασίζεται σε επίσημο πρόγραμμα MikroTik Certified Network Associate, αλλά διευρύνεται σημαντικά, ιδίως όσον αφορά την εμπέδωση της γνώσης στην πράξη. Το μάθημα περιλαμβάνει 162 μαθήματα βίντεο και 45 εργαστηριακές εργασίες, συνδυασμένο σε τεχνικό έργο. Εάν κάτι δεν είναι ξεκάθαρο, μπορείτε να κάνετε ερωτήσεις στον συγγραφέα του μαθήματος. Τα πρώτα 25 μαθήματα μπορείτε να τα παρακολουθήσετε δωρεάν, η φόρμα παραγγελίας είναι διαθέσιμη στη διεύθυνση

Εισαγωγή

Σε αυτό το άρθρο θα περιγράψουμε τη λειτουργία δύο καναλιών Διαδικτύου σε λειτουργία δημιουργίας αντιγράφων ασφαλείας. Δηλαδή, ένας πάροχος θα λειτουργεί συνεχώς (κύριο κανάλι) και ο δεύτερος θα ενεργοποιηθεί εάν το Διαδίκτυο μέσω του πρώτου καναλιού δεν είναι διαθέσιμο (εφεδρικό κανάλι).

Υπάρχουν δύο κύριοι τρόποι για να ρυθμίσετε τις συσκευές MikroTik ώστε να συνεργάζονται με δύο παρόχους σε λειτουργία δημιουργίας αντιγράφων ασφαλείας. Εν συντομία μπορούν να περιγραφούν ως " γρήγορος τρόπος" και "σύνθετη μέθοδος". Η πρώτη μέθοδος εγκαθίσταται γρήγορα. Όπως υπονοείται ξεκάθαρα από το όνομα. Η δεύτερη μέθοδος είναι πιο δύσκολη στην εγκατάσταση, αλλά δεν έχει τα μειονεκτήματα που είναι εγγενή στην πρώτη μέθοδο.

Διάγραμμα δικτύου

Εξωτερικό δίκτυο:
Κανάλι Διαδικτύου Νο. 1
Διευθύνσεις IP του δρομολογητή: 10.1.100.1
Διευθύνσεις IP παρόχου: 10.1.100.254
μάσκα: 255.255.255.0

Κανάλι Διαδικτύου Νο. 2
Διευθύνσεις IP του δρομολογητή: 10.1.200.1
Διευθύνσεις IP παρόχου: 10.1.200.254
μάσκα: 255.255.255.0

Εσωτερικό δίκτυο:
Διευθύνσεις IP του δρομολογητή: 192.168.15.1
μάσκα: 255.255.255.0

Γρήγορος τρόπος

Μέσω GUI

Οι παρακάτω χειρισμοί προϋποθέτουν ότι έχετε ήδη διαμορφώσει διευθύνσεις IP για δύο εξωτερικές διεπαφές, καταχωρημένες διαδρομές και έχετε δημιουργήσει κανόνες μεταμφίεσης.

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

Μεταβείτε στο IP => Routes και για τη διαδρομή προς τον Provider-1 καθορίστε Check Gateway=ping και Distance=5. Στις ρυθμίσεις διαδρομής για το Provider-2, καθορίστε Check Gateway=ping και Distance=10. Τιμές παραμέτρων Απόστασηδεν χρειάζεται να είναι έτσι. Είναι σημαντικό οι τιμές για το Provider-1 να είναι μικρότερες από το Provider-2. Συνήθως, οι στατικές διαδρομές έχουν προτεραιότητα ( Απόσταση) ίσο με ένα. Για παράδειγμα, έχουμε δώσει διαφορετικό νόημα. Με αυτό το σχήμα, όλη η επισκεψιμότητα θα περνά μέσω του Provider-1, η διαδρομή μέσω του Provider-2 θα είναι εφεδρική. Οι πύλες και των δύο παρόχων θα πραγματοποιούν περιοδικά ping και εάν η πύλη Provider-1 δεν είναι διαθέσιμη, η διαδρομή προς αυτήν θα απενεργοποιηθεί και η κίνηση θα πηγαίνει κατά μήκος της διαδρομής προς τον Provider-2. Αφού η πύλη του Provider-1 γίνει ξανά διαθέσιμη, η κυκλοφορία θα περάσει ξανά από αυτήν.

Το μειονέκτημα αυτού του σχήματος είναι ότι δεν ελέγχει την παρουσία του Διαδικτύου, αλλά μάλλον τη διαθεσιμότητα του επόμενου κόμβου. Υπάρχουν συχνά περιπτώσεις όπου ο εξοπλισμός του παρόχου (επόμενος κόμβος) είναι διαθέσιμος, αλλά δεν υπάρχει Διαδίκτυο. Ένα πολύ εντυπωσιακό παράδειγμα είναι το Διαδίκτυο μέσω μόντεμ ADSL. Ο γειτονικός κόμβος (μόντεμ ADSL) θα είναι διαθέσιμος, αλλά το Διαδίκτυο όχι.

Για το πρώτο κανάλι Διαδικτύου:


Για το δεύτερο κανάλι Διαδικτύου:


Μέσω της κονσόλας

Πρώτος δρομολογητής:

/ip διαδρομή
προσθήκη check-gateway=ping distance=5 gateway=10.1.100.254

Δεύτερος δρομολογητής:

/ip διαδρομή
προσθήκη check-gateway=ping distance=10 gateway=10.1.200.254

Πολύπλοκος τρόπος

Μέσω GUI

Οι παρακάτω χειρισμοί προϋποθέτουν ότι έχετε ήδη διαμορφώσει διευθύνσεις IP για δύο εξωτερικές διεπαφές, καταχωρημένες διαδρομές και έχετε δημιουργήσει κανόνες NAT.

Η "περιεκτική" μέθοδος βασίζεται στο γεγονός ότι χρησιμοποιώντας το ενσωματωμένο βοηθητικό πρόγραμμα "Netwatch", θα ελέγχουμε τη διαθεσιμότητα του Διαδικτύου μία φορά το λεπτό χρησιμοποιώντας εντολές pingστον κόμβο 8.8.4.4 μέσω του πρώτου καναλιού Διαδικτύου. Η πρόσβαση σε αυτόν τον κόμβο μέσω του δεύτερου καναλιού Διαδικτύου θα είναι πάντα κλειστή. Έτσι, εάν περάσει το ping, αυτό σημαίνει ότι το πρώτο κανάλι είναι σε κατάσταση λειτουργίας και πρέπει να είναι ενεργοποιημένο και το 2ο κανάλι πρέπει να είναι απενεργοποιημένο. Και το αντίστροφο: εάν το ping δεν λειτουργεί, αυτό σημαίνει ότι το πρώτο κανάλι δεν λειτουργεί και πρέπει να απενεργοποιηθεί και να ενεργοποιηθεί το 2ο κανάλι. Μόλις αρχίσει να περνάει το ping, θα εμφανιστεί αντίστροφη αλλαγή. Επιθυμητή διαδρομήτο βοηθητικό πρόγραμμα θα καθορίσει από το σχόλιο που εκχωρούμε. Όπως μπορείτε να δείτε, αυτή η μέθοδος δεν έχει το μειονέκτημα της πρώτης μεθόδου.

Προσθέστε σχόλια στις διαδρομές.Προσθέστε σχόλιο ISP1 στη διαδρομή μέσω του πρώτου παρόχου, προσθέστε το σχόλιο ISP2 στη διαδρομή μέσω του δεύτερου παρόχου. Ας δώσουμε ένα παράδειγμα για τον πρώτο πάροχο. Για το δεύτερο, η δράση γίνεται με παρόμοιο τρόπο.


Δημιουργήστε μια στατική διαδρομή πριν από την 8.8.4.4.Στο IP => Routes, δημιουργήστε μια διαδρομή προς τη διεύθυνση 8.8.4.4 μέσω της πύλης του 1ου παρόχου Διαδικτύου.


Προσθέστε έναν κανόνα που αποκλείει την πρόσβαση στο 8.8.4.4 μέσω της διεπαφής 2ου WAN.




Προσθέστε μια συνθήκη εναλλαγής.Στο Tools => Netwatch, στην καρτέλα "Host", δημιουργήστε ένα νέο "Netwatch host". Στη στήλη "Πλήθος"υποδείξτε την παρακολουθούμενη διεύθυνση IP στο "Διάστημα"- τη συχνότητα των επιθεωρήσεων που πραγματοποιούνται και "Τέλος χρόνου"- χρόνος μη διαθεσιμότητας του κεντρικού υπολογιστή κατά τον οποίο θα ενεργοποιηθεί η σκανδάλη.

Σημείωση:Το παράδειγμα δείχνει τη διεύθυνση 8.8.8.8. Είναι τυπογραφικό λάθος. Η διεύθυνση πρέπει να είναι 8.8.4.4



Στην καρτέλα "Επάνω", προσθέστε το ακόλουθο σενάριο:
/ip route set disabled=no
/ip route set disabled=yes


Στην καρτέλα "Κάτω", προσθέστε το ακόλουθο σενάριο:
/ip route set disabled=yes
/ip route set disabled=no


Μέσω της κονσόλας

/ip διαδρομή
ορίστε σχόλιο=ISP1
ορίστε σχόλιο=ISP2

/ip διαδρομή
προσθήκη απόστασης=1 dst-address=8.8.4.4/32 gateway=10.1.100.254

/ip φίλτρο τείχους προστασίας
add action=drop chain=output dst-address=8.8.4.4 out-interface=ether4-WAN2 protocol=icmp comment="Απόρριψη 8.8.4.4 μέσω δεσμευμένου καναλιού διαδικτύου"

/εργαλείο netwatch
add down-script="/ip route set disabled=yes\r\
\n/ip route set disabled=no" host=8.8.4.4 \
up-script="/ip route set disabled=no\r\
\n/ip route set disabled=yes"

Εξέταση

Βίντεο μάθημα στο MikroTik

Μπορείτε να μάθετε τη ρύθμιση του MikroTik με ένα μάθημα βίντεο. Το μάθημα περιέχει όλα τα θέματα από τον επίσημο εκπαιδευτικό πρόγραμμα MTCNA + πολλά πρόσθετο υλικό, που είναι χρήσιμο στην πράξη.

ρεκάποια ώρα της ημέρας. Τις προάλλες μπερδεύτηκα σχετικά με την οργάνωση της ανοχής σφαλμάτων του CCR1036-8G-2S+ μου. Κοίταξα πολύ υλικό στο Διαδίκτυο, αλλά το μεγαλύτερο μέρος δεν μου ταίριαζε. Και τότε βρήκα ένα χρήσιμο που είναι απολύτως κατάλληλο για την επίλυση των προβλημάτων μου. Η παρακάτω ρύθμιση λειτουργεί 100%.


Έχουμε ήδη εξετάσει την επιλογή σύνδεσης δύο παρόχων Διαδικτύου σε έναν δρομολογητή, που ελέγχεται από λειτουργικό σύστημα Mikrotik RouterOS. Ωστόσο, αυτή ήταν η απλούστερη επιλογή. Το οποίο μπορεί να μην είναι πάντα κατάλληλο σε ορισμένες συνθήκες. Ως εκ τούτου, σήμερα, θα πάρουμε ορισμένα συγκεκριμένα παραδείγματα διαμόρφωσης ενός δρομολογητή με την προϋπόθεση της σύνδεσης με δύο παρόχους και θα σταθούμε λεπτομερέστερα σε ορισμένες από τις αποχρώσεις της διαμόρφωσης Firewall, NAT, δρομολόγησης και εξισορρόπησης φορτίου ή χρήσης του δεύτερου κανάλι ως εφεδρικό.

Και επειδή η περαιτέρω ιστορία θα περιέχει συγκεκριμένα παραδείγματα, ας ξεκινήσουμε με συγκεκριμένες συνθήκες. Έχουμε 2 παρόχους. Η επικοινωνία και με τους δύο πραγματοποιείται μέσω του πρωτοκόλλου PPPoE. Πώς να ρυθμίσετε μια σύνδεση με έναν ISP περιγράφεται λεπτομερώς σε αυτό το άρθρο, επομένως θα παραβλέψουμε αυτήν τη διαδικασία. Σημειώνοντας μόνο ότι ο πάροχος Νο. 1 είναι συνδεδεμένος στη θύρα Ether1 και το όνομα της σύνδεσής του PPPoE είναι ISP1. Ο παροχέας Νο. 2 είναι συνδεδεμένος στη θύρα Ether2 και έχει το όνομα σύνδεσης PPPoE - ISP2.

Το μόνο σημείο είναι ότι στο μέλλον θα δημιουργήσουμε μόνοι μας κανόνες δρομολόγησης, επομένως όταν δημιουργείτε συνδέσεις με παρόχους, πρέπει να καταργήσετε την επιλογή του στοιχείου Προσθήκη προεπιλεγμένης διαδρομής στην καρτέλα Dial Out για σύνδεση PPPoE.

NAT

Για να λειτουργεί σωστά το δίκτυό μας και να έχει πρόσβαση στο Διαδίκτυο, πρέπει να ρυθμίσουμε το NAT. Για να το κάνετε αυτό, ανοίξτε την ενότητα IP -> Firewall, μεταβείτε στην καρτέλα NAT και χρησιμοποιήστε το κουμπί "+" για να προσθέσετε έναν νέο κανόνα.

Στην καρτέλα Γενικά, επιλέξτε το Chain chain scrnat. Τιμή πεδίου εκτός. Διεπαφή, σε αυτήν την περίπτωση, αφήνουμε κενό, αφού έχουμε δύο παρόχους και, κατά συνέπεια, 2 διαφορετικές διεπαφές.

Στη συνέχεια, στην καρτέλα Ενέργεια, ως παράμετρος για το πεδίο Ενέργεια, ορίστε την τιμή σε μεταμφίεση.

Αποθηκεύστε τον κανόνα με το κουμπί ΟΚ. Ρύθμιση NAT, μπορεί να θεωρηθεί ολοκληρωμένη.

Τείχος προστασίας

Το επόμενο βήμα μας είναι να διαμορφώσουμε τη λειτουργία Τείχους προστασίας, η οποία έχει σχεδιαστεί για να μας προστατεύει τοπικό δίκτυο.

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

Εάν έχετε κάποιους κανόνες σε αυτήν την ενότητα, θα πρέπει πρώτα να τους διαγράψετε.

Μπορούν να προστεθούν νέοι κανόνες κάνοντας κλικ στο κουμπί "+", μετά από το οποίο, για παράδειγμα, για τον κανόνα που επιτρέπει το ping - chain=input protocol=icmp action=accept, στην καρτέλα Γενικά, επιλέγουμε την αλυσίδα Chain - input και το Πρωτόκολλο - icmp.

Στη συνέχεια, στην καρτέλα Ενέργεια, επιλέξτε αποδοχή ως παράμετρο για το πεδίο Ενέργεια.

Αυτή η ενέργεια πρέπει να επαναληφθεί περίπου 14 φορές, για δεκατέσσερις διαφορετικούς κανόνες.
Επιτρέψτε το Ping

chain=input protocol=icmp action=accept

chain=forward protocol=icmp action=accept

Επιτρέποντας τις εγκατεστημένες συνδέσεις

chain=input connection-state=καθιερωμένη ενέργεια=αποδοχή

chain=προώθηση σύνδεση-κατάσταση=καθιερωμένη δράση=αποδοχή

Επιτρέπονται οι σχετικές συνδέσειςΕγώ

chain=input connection-state=related action=accept

chain=forward connection-state=related action=accept

Απαγορεύουμε τις ανεπιτυχείς συνδέσεις

Chain=input connection-state=invalid action=drop

chain=forward connection-state=invalid action=drop

Επιτρέπονται οι συνδέσεις μέσω πρωτοκόλλου UDP

chain=input protocol=udp action=accept

chain=forward protocol=udp action=accept

Ανοίγουμε πρόσβαση στο Διαδίκτυο για το τοπικό μας δίκτυο. Για όσους έχουν ένα πρόθεμα τοπικού δικτύου διαφορετικό από το 192.168.0.0/24, τοποθετήστε τη διεύθυνσή σας.

chain=forward src-address=192.168.0.0/24 action=accept

Επιτρέπουμε την πρόσβαση στο δρομολογητή μόνο από το τοπικό δίκτυο, όπως παραπάνω - το 192.168.0.0/24 θα πρέπει να αντικατασταθεί με τη διεύθυνσή σας.

chain=input src-address=192.168.0.0/24 action=accept

Και στο τέλος απαγορεύουμε όλα τα άλλα

chain=input action= drop

αλυσίδα=μπροστινή δράση=πτώση

Είναι σαφές ότι το άνοιγμα ενός νέου παραθύρου κάθε φορά και η συμπλήρωση όλων των απαραίτητων πεδίων είναι αρκετά κουραστικό, επομένως, συνιστώ να ανοίξετε το New Terminal και να ορίσετε τις εντολές που αναφέρονται παρακάτω μία προς μία. Θα πάρει πολύ λιγότερο χρόνο.

φίλτρο τείχους προστασίας ip add chain=input protocol=icmp action=accept

φίλτρο τείχους προστασίας ip add chain=forward protocol=icmp action=accept

ip firewall filter add chain=input connection-state=stablished action=accept

ip firewall filter add chain=forward connection-state=stablished action=accept

ip firewall filter add chain=input connection-state=related action=accept

φίλτρο τείχους προστασίας ip add chain=forward connection-state=related action=accept

ip firewall filter add chain=input connection-state=invalid action=drop

ip firewall filter add chain=forward connection-state=invalid action=drop

φίλτρο τείχους προστασίας ip add chain=input protocol=udp action=accept

ip firewall filter add chain=forward protocol=udp action=accept

φίλτρο τείχους προστασίας ip add chain=forward src-address=192.168.0.0/24 action=accept

φίλτρο τείχους προστασίας ip add chain=input src-address=192.168.0.0/24 action=accept

φίλτρο τείχους προστασίας ip add chain=input action=drop

ip firewall filter add chain=forward action=drop

Αλλά όποια μέθοδο και να το κάνουμε, στο τέλος θα πρέπει να πάρουμε το εξής.

Δρομολόγηση
Το τελευταίο αλλά ένα από τα πιο σημαντικές δράσεις, το μόνο που μένει είναι να δημιουργήσουμε διαδρομές. Ας ξεκινήσουμε επισημαίνοντας τις συνδέσεις μας με τον πάροχο. Αυτό είναι απαραίτητο ώστε όλα τα αιτήματα που έρχονται στη διεπαφή ενός συγκεκριμένου παρόχου να πηγαίνουν στη διεπαφή του. Αυτό είναι πολύ κρίσιμο εάν έχουμε πίσω από το NAT, υπάρχουν πόροι από τους οποίους χρειάζεται πρόσβαση παγκόσμιο δίκτυοΔιαδίκτυο. Για παράδειγμα, διακομιστής web ή διακομιστή αλληλογραφίας κ.λπ. Έχουμε ήδη συζητήσει τον τρόπο οργάνωσης της λειτουργίας τέτοιων υπηρεσιών στο άρθρο Προηγμένες ρυθμίσεις Mikrotik RouterOS: προώθηση θύρας - dstna t.

Για να γίνει αυτό, πρέπει να δημιουργήσουμε δύο ξεχωριστούς κανόνες για κάθε πάροχο στην ενότητα IP -> Τείχος προστασίας στην καρτέλα Mangle.

Στην καρτέλα Γενικά, επιλέξτε την αλυσίδα Chain ως προς τα εμπρός και ως In.Interface επιλέξτε τη διεπαφή PPPoE για τη σύνδεση του πρώτου παρόχου ISP1.

Και στην καρτέλα Ενέργεια, ως παράμετρος Ενέργεια, επιλέξτε επισήμανση σύνδεσης και στο πεδίο Νέα Σήμα σύνδεσης που εμφανίζεται παρακάτω, πληκτρολογήστε το όνομα της ένδειξης για αυτήν τη σύνδεση, για παράδειγμα ISP1-con.

Επαναλαμβάνουμε το ίδιο πράγμα για τον δεύτερο πάροχο. Επιλέξτε μόνο τον ISP2 ως In.Interface και στο πεδίο New Connection Mark, πληκτρολογήστε το σημάδι για τη δεύτερη σύνδεση ISP2-con.

Τώρα, για να στείλουμε μια απάντηση σε ένα εισερχόμενο αίτημα μέσω της διεπαφής του ίδιου παρόχου, πρέπει να δημιουργήσουμε 2 ακόμη κανόνες που θα επισημαίνουν διαδρομές.

Εδώ, δημιουργούμε έναν νέο κανόνα στον οποίο επιλέγουμε την τιμή προδρομολόγησης ως Chain, εισάγουμε το πρόθεμα του τοπικού μας δικτύου 192.168.0.0/24 στο πεδίο Scr.Address και επιλέγουμε το σήμα σύνδεσης του πρώτου μας παρόχου ISP1-con στο Σήμα Cjnnection.

Μεταβείτε στην καρτέλα "Ενέργεια" και στο πεδίο "Ενέργεια", επιλέξτε δρομολόγηση σήμανσης και στο πεδίο "Σήμα νέας δρομολόγησης" που εμφανίζεται παρακάτω, ορίστε μια ένδειξη για τη διαδρομή αυτού του παρόχου, για παράδειγμα ISP1-rt.

Δημιουργούμε ακριβώς την ίδια αρχή για τη δεύτερη σύνδεση. Μόνο, ανάλογα, επιλέξτε ISP2-con ως Σημάδι σύνδεσης και εισαγάγετε το ISP2-rt ως Νέο Σήμα δρομολόγησης.

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

Για παράδειγμα, ο πάροχος No. 2 - ISP2 - έχει τοπικούς πόρους με το εύρος διευθύνσεων 181.132.84.0/22. Και μέσω του παρόχου Νο. 1, ping to διακομιστές παιχνιδιών διαδικτυακά παιχνίδια, πολύ λιγότερο. Και γνωρίζουμε ότι οι διευθύνσεις IP αυτών των διακομιστών είναι 90.231.6.37 και 142.0.93.168.

Μεταβείτε στην καρτέλα Λίστες διευθύνσεων της ενότητας IP -> Τείχος προστασίας. Και μία προς μία προσθέτουμε ολόκληρες αυτές τις διευθύνσεις IP ή τα υποδίκτυα, με τα ονόματα to-ISP1 ή to-ISP2, ανάλογα με τον πάροχο που θα πρέπει να έχουν πρόσβαση σε αυτούς τους πόρους.

Και δεδομένου ότι οι περισσότεροι πάροχοι χρησιμοποιούν το δικό τους Διακομιστές DNS, η πρόσβαση στα οποία συχνά απαγορεύεται από άλλα δίκτυα, τότε θα είναι εξαιρετικά σημαντικό να προσθέσετε τις διευθύνσεις των διακομιστών DNS κάθε παρόχου σε αυτές τις λίστες, έτσι ώστε τα αιτήματα ονομάτων τομέα να πηγαίνουν σε αυτούς μέσω της διεπαφής ενός συγκεκριμένου παρόχου.

Και στην καρτέλα Ενέργεια, Ενέργεια - δρομολόγηση σήμανσης, Νέο σήμα δρομολόγησης - ISP1-rt.

Επαναλαμβάνουμε το ίδιο πράγμα για τη λίστα διευθύνσεων του δεύτερου παρόχου. Όμως, ως εκ τούτου, ως Dst.Address List, υποδεικνύουμε τη λίστα των διευθύνσεων για τον δεύτερο πάροχο προς-ISP2. Και ως ετικέτα για τη διαδρομή New Routing Mark - ISP2-rt.

Και ας προχωρήσουμε στο πιο βασικό κομμάτι της ρύθμισης της δρομολόγησης - δημιουργία στατικών κανόνων δρομολόγησης στην ενότητα IP -> Routes.

Εάν τα κανάλια και των δύο παρόχων μας είναι σχεδόν ίσα, τότε προσθέτουμε την ακόλουθη διαδρομή: στην καρτέλα Γενικά του παραθύρου δημιουργίας διαδρομής, για Dst.Address γράφουμε 0.0.0.0/0 και ως Getway επιλέγουμε τις διεπαφές των παρόχων μας ISP1 και ISP2. Όλες οι άλλες παράμετροι παραμένουν αμετάβλητες.

Σε αυτήν την επιλογή, το φορτίο και στους δύο παρόχους θα κατανεμηθεί ομοιόμορφα.

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

Η πρώτη Dst.Address είναι 0.0.0.0/0, η πύλη είναι ο ISP1.

Και η δεύτερη Dst.Address είναι 0.0.0.0/0, η πύλη είναι ISP2, η απόσταση είναι 2.

Κι όμως, είναι απαραίτητο να δημιουργηθούν δύο ξεχωριστές διαδρομές, για κάθε έναν από τους παρόχους, όπου θα πάνε οι διαδρομές που σημαδέψαμε προηγουμένως. Θα διαφέρουν ως προς το ότι το πεδίο Σήμα δρομολόγησης θα υποδεικνύει το σήμα που είχαμε εκχωρήσει νωρίτερα για τον έναν ή τον άλλο πάροχο.

Το πρώτο θα έχει Dst.Address - 0.0.0.0/0, Gateway - ISP1, Routing Mark - ISP1-rt, και το δεύτερο, αντίστοιχα, Dst.Address - 0.0.0.0/0, Gateway - ISP2, Routing Mark - ISP2-rt


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

> Κράτηση καναλιών στο Mikrotik χωρίς σενάρια

Mikrotik. Failover. Εξισορρόπηση φορτίου

Όταν χρειάστηκε να καταλάβω πώς να κάνω failover ή εξισορρόπηση φορτίου, έχοντας δύο ή περισσότερα κανάλια στον κόσμο, βρήκα πολλά άρθρα και οδηγίες που περιέγραφαν λειτουργικές διαμορφώσεις. Αλλά δεν βρήκα σχεδόν πουθενά μια εξήγηση για το πώς λειτουργούν όλα ή μια περιγραφή των διαφορών. διαφορετικές επιλογές. Θέλω να διορθώσω αυτήν την αδικία και να συγκεντρώσω τις απλούστερες επιλογές για τη δημιουργία διαμορφώσεων failover και load balancing σε ένα άρθρο.

Έτσι, έχουμε έναν δρομολογητή που συνδέει το τοπικό μας δίκτυο και δύο κανάλια στο Διαδίκτυο (κύριος ISP1 και εφεδρικός ISP2).

Ας δούμε τι μπορούμε να κάνουμε:

Τώρα έχουμε ένα εφεδρικό κανάλι στο οποίο μπορεί να κατευθύνεται η κίνηση εάν το κύριο αποτύχει. Πώς όμως μπορείς να καταλάβεις το mikrotik ότι το κανάλι έπεσε;

Η απλούστερη κράτηση καναλιού

Το απλούστερο failover μπορεί να διαμορφωθεί χρησιμοποιώντας την προτεραιότητα διαδρομής (απόσταση για mikrotik/cisco, μετρική για linux/windows), καθώς και μηχανισμό ελέγχου διαθεσιμότητας της πύλης - check-gateway.

Στην παρακάτω διαμόρφωση, όλη η κίνηση στο Διαδίκτυο από προεπιλογή περνά από το 10.100.1.254 (ISP1). Αλλά μόλις η διεύθυνση 10.100.1.254 γίνει μη διαθέσιμη (και η διαδρομή μέσω αυτής είναι ανενεργή), η κυκλοφορία θα διέρχεται από τη διεύθυνση 10.200.1.254 (ISP2).

διαμόρφωση: απλή ανακατεύθυνση


# Ρύθμιση δικτύων παρόχων:





###Διασφάλιση πλεονασμού καναλιού παραδοσιακό τρόπο###
# καθορίστε 2 προεπιλεγμένες πύλες με διαφορετικές προτεραιότητες
/ip διαδρομή προσθήκη dst-address=0.0.0.0/0 gateway=10.100.1.254 distance=1 check-gateway=ping
/ip route add dst-address=0.0.0.0/0 gateway=10.200.1.254 distance=2 check-gateway=ping

Η επεξεργασία του Check-gateway=ping για το mikrotik γίνεται ως εξής:
Περιοδικά (κάθε 10 δευτερόλεπτα) η πύλη ελέγχεται στέλνοντας ένα μήνυμα σε αυτήν Πακέτο ICMP(ping). Ένα πακέτο θεωρείται χαμένο εάν δεν επιστραφεί εντός 10 δευτερολέπτων. Μετά από δύο χαμένα πακέτα, η πύλη θεωρείται μη διαθέσιμη. Αφού λάβει μια απάντηση από την πύλη, γίνεται διαθέσιμη και ο μετρητής χαμένων πακέτων επαναφέρεται.

Εξασφάλιση failover με βαθύτερη ανάλυση καναλιών.

Στο προηγούμενο παράδειγμα, όλα είναι καλά, εκτός από την περίπτωση που η πύλη του παρόχου είναι ορατή και ανταποκρίνεται, αλλά δεν υπάρχει Διαδίκτυο από πίσω. Θα μας βοηθούσε πολύ αν μπορούσαμε να πάρουμε μια απόφαση σχετικά με τη βιωσιμότητα ενός παρόχου κάνοντας ping όχι στην ίδια την πύλη, αλλά κάτι πίσω από αυτήν.

Γνωρίζω δύο επιλογές για την επίλυση αυτού του προβλήματος μηχανικής. Το πρώτο και πιο συνηθισμένο είναι να χρησιμοποιείτε σενάρια, αλλά επειδή δεν αγγίζουμε σενάρια σε αυτό το άρθρο, θα σταθούμε λεπτομερέστερα στο δεύτερο. Υπονοεί μια όχι εντελώς σωστή χρήση της παραμέτρου εμβέλειας, αλλά θα μας βοηθήσει να διερευνήσουμε το κανάλι του παρόχου βαθύτερα από ό,τι μέχρι την πύλη.
Η αρχή είναι απλή:
Αντί για την παραδοσιακή ένδειξη της προεπιλεγμένης πύλης=πύλη παρόχου, θα πούμε στον δρομολογητή ότι η προεπιλεγμένη πύλη είναι ένας από τους πάντα_διαθέσιμους_κόμβους (για παράδειγμα 8.8.8.8 ή 8.8.4.4) και, με τη σειρά του, είναι προσβάσιμος μέσω της πύλης του παρόχου.

configuration: failover με βαθύτερη ανάλυση καναλιού

# Ρύθμιση δικτύων παρόχων:
/ip address add address=10.100.1.1/24 interface=ISP1
/ip address add address=10.200.1.1/24 interface=ISP2
# Ρυθμίστε την τοπική διεπαφή
/διεύθυνση IP προσθήκη διεύθυνσης=10.1.1.1/24 διεπαφή=LAN
# κρύψτε πίσω από το NAT ό,τι βγαίνει από το τοπικό δίκτυο
/ip firewall nat add src-address=10.1.1.0/24 action=masquerade chain=srcnat
###Παροχή failover με βαθύτερη ανάλυση καναλιών###
#χρησιμοποιώντας την παράμετρο scope θα καθορίσουμε αναδρομικές διαδρομές στους κόμβους 8.8.8.8 και 8.8.4.4
/ip route add dst-address=8.8.8.8 gateway=10.100.1.254 scope=10
/ip route add dst-address=8.8.4.4 gateway=10.200.1.254 scope=10
# καθορίστε 2 προεπιλεγμένη πύλη μέσω κόμβων η διαδρομή προς την οποία καθορίζεται αναδρομικά
/ip route add dst-address=0.0.0.0/0 gateway=8.8.8.8 distance=1 check-gateway=ping
/ip route add dst-address=0.0.0.0/0 gateway=8.8.4.4 distance=2 check-gateway=ping

Τώρα ας δούμε τι συμβαίνει με λίγο πιο αναλυτικά:
Το κόλπο είναι ότι η πύλη του παρόχου δεν γνωρίζει ότι το 8.8.8.8 ή το 8.8.4.4 είναι δρομολογητής και θα δρομολογήσει την κυκλοφορία κατά μήκος της συνήθους διαδρομής.
Η mikrotik μας πιστεύει ότι από προεπιλογή όλη η κίνηση του Διαδικτύου θα πρέπει να αποστέλλεται στο 8.8.8.8, το οποίο δεν είναι άμεσα ορατό, αλλά προσβάσιμο μέσω του 10.100.1.254. Και αν το ping στο 8.8.8.8 εξαφανιστεί (να σας υπενθυμίσω ότι η διαδρομή προς αυτό καθορίζεται αυστηρά μέσω της πύλης από τον ISP1), τότε το mikrotik θα αρχίσει να στέλνει όλη την κίνηση του Διαδικτύου στο 8.8.4.4 ή μάλλον στο αναδρομικά καθορισμένο 10.200 .1.254 (ISP2).

Στο φόρουμ διανομής, ένας χρήστης με το ψευδώνυμο Barvinokάρχισε να γράφει
μια σειρά άρθρων που προσπαθούν να ενώσουν και να συστηματοποιήσουν τη συσσωρευμένη βάση δεδομένων
γνώσεις για τη Mikrotik γενικά και για το θέμα των δύο παρόχων ειδικότερα. Με αυτόν
Με άδεια, θα αντιγράψω τα πάντα στη σελίδα μου. Οι ενδιαφερόμενοι μπορούν να απευθυνθούν στο
στην αρχική πηγή http://mikrotik.ru/forum/viewtopic.php?f=1 5&t=3280
Ρύθμιση δρομολογητή από την αρχή.
Αυτή η ενότητα θα αναπληρώσει την έλλειψη του εφαρμοσμένου μέρους.
Σύμφωνα με τον τίτλο του θέματος, ρυθμίζω το router για δύο ακριβώς παρόχους. Εννοώ ότι το μοντέλο του δρομολογητή είναι της σειράς RB7xx.
Πηγές:
Ανασκόπηση και διαμόρφωση του Mikrotik RB751U-2HnD σε λειτουργία ασύρματου δρομολογητή με σύνδεση στο Internet.
Sergey Lagovsky: MikroTik - Αρχική ρύθμιση

Πηγή
πρέπει να διαβαστεί. Δεν θα γράψω εγχειρίδιο για τη Mikrotik
νοικοκυρές», όπως «πάρε το καλώδιο να δεξί χέρι...» Εδώ θα υποδείξω
μόνο ορόσημα, βήματα. Και πώς ακριβώς να το κάνετε αυτό - στα παραπάνω
πηγές.
χρησιμοποιώ γραμμή εντολώντερματικό μέσω Winbox και θα δώσω όλα τα παραδείγματα σε αυτή τη φόρμα.
1. Επαναφέρετε τις αρχικές ρυθμίσεις:

/σύστημα επαναφορά-διαμόρφωση


2. Κατεβάστε το πακέτο Αναβάθμιση και σύρετέ το στο Winbox με το ποντίκι. Περαιτέρω:

/επανεκκίνηση συστήματος

και μετά την επανεκκίνηση :

/σύστημα αναβάθμιση δρομολογητή


3. Δημιουργώ μια γέφυρα από τις τρεις τελευταίες θύρες:

/interface bridge
προσθήκη ονόματος=Τοπικό_Δίκτυο
add bridge=Local_Net interface=ether3
add bridge=Local_Net interface=ether4
add bridge=Local_Net interface=ether5


4. Εκχωρώ μια διεύθυνση IP σε αυτήν τη γέφυρα:

/ip address add address=192.168.1.1/24 interface=Local_Net


5. Ρυθμίστε έναν διακομιστή DHCP σε αυτόν:

/ip Ρύθμιση διακομιστή dhcp

Αφήστε το να δώσει τη διεύθυνση του ίδιου του Mikrotik ως διακομιστή DNS: 192.168.1.1. Θα εξηγήσω γιατί συμβαίνει αυτό λίγο αργότερα.

6. Επιτρέψτε στον δρομολογητή να ανταποκρίνεται σε αιτήματα DNS:

/ip dns set allow-remote-requests=yes

Ας πάρουμε μια ανάσα: τώρα έχουμε επιτύχει τη λειτουργικότητα του D-Link εκτός συσκευασίας :)

7. Με τη συμβουλή του Sergei Lagovsky, αλλάζω πάντα το όνομα του υπερχρήστη:

/user add name=supername password=superpass group=full
/εγκαταλείπω

Συνδεθείτε ως νέος χρήστης και απενεργοποιήστε τον παλιό:

/user disable admin

8. Εκχωρήστε διακομιστή ώρας και ζώνη ώρας:

/system ntp σύνολο πελατών enabled=yes mode=unicast main-ntp=83.229.137.52 secondary-ntp=213.141.146.135
/system clock set time-zone-name=Ευρώπη/Μόσχα

9. Ρυθμίστε τις συνδέσεις Διαδικτύου.
Θα πάρω τη δύσκολη περίπτωση δύο άνισων παρόχων:


  • Πρώτα
    ο πάροχος παρέχει Διαδίκτυο μέσω PPPoE μέσω ADSL: 8 Mbit εισερχόμενα/0,8 Mbit
    εξερχόμενος. Διεύθυνση IP και άλλα ρυθμίσεις δικτύουπου εκδίδεται από τον πάροχο
    δυναμικά.

  • Το δεύτερο είναι πολύ ποιοτικό, αλλά ακριβό όσον αφορά την οπτική: συμμετρικό κανάλι 1 Mbit. Η διεύθυνση IP και οι ρυθμίσεις είναι στατικές (μόνιμες)

Αυτό σημαίνει ότι πρέπει να εκκινήσουμε την κύρια ροή των χρηστών μέσω ADSL και επιλεγμένες υπηρεσίες σε πραγματικό χρόνο (VoIP) μέσω οπτικών ινών.

9.1. Ρύθμιση του πρώτου παρόχου.
Αλλάζουμε το ADSL modem μας σε λειτουργία Bridge. Συνδέουμε το καλώδιο στην πρώτη θύρα (αιθέρας1).
Δημιουργήστε και διαμορφώστε τη διεπαφή PPPoE:

/interface pppoe-client add name=UTK user=ppp_user password=ppp_pasw use-peer-dns=yes interface=ether1

Εάν υπήρχε μόνο ένας πάροχος, θα μπορούσαμε να προσθέσουμε " add-default-route=ναι«Αλλά έχουμε διαφορετικό καθήκον.
"use-peer-dns" σημαίνει ότι θα χρησιμοποιήσουμε τους διακομιστές DNS που έχουν εκχωρηθεί από τον ISP για αυτήν τη σύνδεση.

Εκτύπωση διεύθυνσης /ip
/ping mail.ru

για να βεβαιωθείτε ότι η σύνδεση λειτουργεί.

9.2. Ρύθμιση δεύτερου παρόχου.
Συνδέουμε το καλώδιο από τον μετατροπέα πολυμέσων στη δεύτερη θύρα και εισάγουμε τις ρυθμίσεις χειροκίνητα:

/διεύθυνση IP προσθήκη διεύθυνσης=80.45.21.34/30 διεπαφή=ether2

Εάν ο πάροχος σας παρέχει τους δικούς του διακομιστές DNS, μπορείτε να τους ορίσετε ρητά:

/ip dns set servers=ip_server1,ip_server2

Και μπορούμε να εκχωρήσουμε οποιαδήποτε δημόσια διαθέσιμα, όπως αυτά της Google: 8.8.8.8, 8.8.4.4.

Να σου θυμίσω,
ότι χάρη στο βήμα 6 ο δρομολογητής μας είναι διακομιστής DNS για τους τοπικούς
δίκτυα. Ο ίδιος όμως σαν τρυφερό μοσχάρι ρουφάει δύο βασίλισσες, αυθαίρετα
με πρόσβαση στους διακομιστές DNS οποιουδήποτε παρόχου.

10. Ενεργοποιήστε τη μετάφραση διεύθυνσης.
Για τον πάροχο 1:

/ip firewall nat add chain=srcnat action=masquerade protocol=tcp out-interface=UTK


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

/ip firewall nat add chain=srcnat action=src-nat protocol=tcp src-address=192.168.1.0/24 to-addresses=80.45.21.34

Εάν οι πάροχοι μας ήταν ισοδύναμοι, θα μπορούσαμε να κάνουμε αυτό:

/ip route add dst-address=0.0.0.0/0 gateway=UTK,ether2 check-gateway=ping

Λαμβάνουμε αμέσως ανοχή σφαλμάτων και ομοιόμορφη κατανομή φορτίου (ίσες διαδρομές).
Σας συμβουλεύω να το δοκιμάσετε και να παίξετε στον τοπικό σας υπολογιστή.
"tracert mail.ru", απενεργοποιώντας το ένα ή το άλλο μπροστινό μέρος -
μόνο για έλεγχο.
Εάν οι πάροχοι δεν είναι ίσοι μόνο στο πάχος του καναλιού, μπορείτε να το κάνετε αυτό:

/ip route add dst-address=0.0.0.0/0 gateway=UTK,UTK,ether2 check-gateway=ping

Τώρα ο πρώτος πάροχος θα λαμβάνει διπλάσιες ροές από τον δεύτερο.

Αλλά το έργο μας είναι λίγο πιο περίπλοκο, αφού οι πάροχοι δεν είναι ίσοι όχι μόνο ποσοτικά, αλλά και ποιοτικά.
11. Επομένως, θα τους εκχωρήσουμε ξεχωριστά διαδρομές και θα τους δώσουμε διαφορετικές προτιμήσεις (απόσταση).
Για τον πρώτο πάροχο, ο ευκολότερος τρόπος είναι να το κάνετε αυτό:

/interface pppoe-client σύνολο 0 add-default-route=yes

Αν και θα μπορούσαμε να το κάνουμε αυτό στην παράγραφο 9.1, αποφάσισα να το επισημάνω για λόγους τάξης.
Για τον δεύτερο πάροχο - όπως αυτό:

/ip route add dst-address=0.0.0.0/0 gateway=80.45.21.34 distance=2 check-gateway=ping


Τώρα ολόκληρο το δίκτυό μας περνά από τον πάροχο 1 και αν πέσει, μέσω του παρόχου 2.

12. Ας επισημάνουμε τις σημαντικές ροές (Skype, SIP) που πρέπει να αποσταλούν στο δίκτυο μέσω του παρόχου 2.

Εδώ θα κάνω μια παρέκβαση στη σήμανση πακέτων και συνδέσεων, καθώς αυτό το θέμα είναι αρκετά ενδιαφέρον.

Υποχώρηση 4
Βαθμολόγηση

Μεταχειρισμένος
για να ορίσετε ετικέτες για συγκεκριμένες συσκευασίες. Αυτή η ενέργεια μπορεί
να εκτελεστεί μόνο εντός του πίνακα mangle. Ρύθμιση σημαδιών συνήθως
χρησιμοποιείται για τις ανάγκες δρομολόγησης πακέτων κατά μήκος διαφόρων διαδρομών, για
περιορισμοί κυκλοφορίας κλπ. Για περισσότερες πληροφορίες, μπορείτε
Ανατρέξτε στο Προηγμένο Linux Routing and Traffic Control HOW-TO. Δεν
να θυμάστε ότι η "ετικέτα" ενός πακέτου υπάρχει μόνο για τη χρονική περίοδο
το πακέτο δεν έφυγε από το τείχος προστασίας, δηλ. Η ετικέτα δεν μεταδίδεται μέσω του δικτύου. Αν
οι συσκευασίες πρέπει να επισημαίνονται με κάποιο τρόπο για να χρησιμοποιηθούν οι σημάνσεις επάνω
άλλο μηχάνημα, μπορείτε να δοκιμάσετε να χειριστείτε τα bit του πεδίου TOS.


Εγχειρίδιο: IP/Firewall/Mangle στο Mikrotik Wiki.

Στο
Όταν διαβάζουμε και γράφουμε τους κανόνες, είναι σημαντικό να κατανοούμε πολύ καθαρά πού βρισκόμαστε
υποδεικνύουμε το σύμβολο με το οποίο επιλέγουμε ένα πακέτο από τη ροή και πού
Εκτελούμε μια ενέργεια με το πακέτο (αποδοχή, απόρριψη ή επωνυμία ως τέτοιο)
σημάδι).
Εξετάστε δύο κανόνες από το άρθρο PCC:
/ip τείχος προστασίας

Προσθήκη

in-interface=ether2 new-connection-mark=l2tp-out1_conn passthrough=yes
per-connection-classifier=src-address:2/0 src-address=172.16.0.0/16
Προσθήκη
action=mark-connection chain=προδρομολόγηση dst-address-type=!local
in-interface=ether2 new-connection-mark=l2tp-out2_conn passthrough=yes
per-connection-classifier=src-address:2/1 src-address=172.16.0.0/16

Προσθήκη
action=mark-routing chain=prerouting connection-mark=l2tp-out1_conn
in-interface=ether2 new-routing-mark=to_l2tp-out1 passthrough=yes
Προσθήκη
action=mark-routing chain=prerouting connection-mark=l2tp-out2_conn
in-interface=ether2 new-routing-mark=to_l2tp-out2 passthrough=yes

Στον πρώτο κανόνα εμείς επισημάνετε τη σύνδεση(δράση=σημάδι-σύνδεση) στην αλυσίδα προδρομολόγησης. Ακολουθούμενη από σημάδια,
με την οποία καθορίζουμε τη σύνδεση που πρέπει να φέρει την ετικέτα: τύπος
διευθύνσεις προορισμού - οποιαδήποτε εκτός από τη διεύθυνση του ίδιου του δρομολογητή
(dst-address-type=!local), εισερχόμενη διεπαφή - ether2
(in-interface=ether2), διεύθυνση πηγής - οποιοσδήποτε υπολογιστής από το υποδίκτυο
172.16.0.0/16. Η παρακάτω είναι μια υπέροχη εντολή:
per-connection-classifier=src-address:2/0. Έτσι σπάμε τη ροή
συσκευασίες που αντιστοιχούν σε αυτά τα χαρακτηριστικά χωρίζονται σε δύο.
Στη συνέχεια αντιστοιχίζουμε την ετικέτα l2tp-out1_conn σε ένα μέρος της ροής και l2tp-out2_conn στο δεύτερο.
Περνώ μέσα από
μεταφράζεται ως "δι' και διαμέσου". Στην πραγματικότητα, κάθε πακέτο είναι διαδοχικό
ελέγχεται σε σχέση με κάθε κανόνα μέχρι να συμβεί το πρώτο ταίριασμα. Πως
μόλις συνέπεσε - μεταφέρεται αμέσως στον επόμενο πίνακα (σε αυτό
περίπτωση - DNAT) ή καταστρέφεται εάν η δράση είναι DROP. Αν όμως διευκρινιστεί
passthrough=ναι, το πακέτο μεταβιβάζεται στον επόμενο κανόνα στη λίστα στο ίδιο
τραπέζι.

Ο επόμενος κανόνας είναι να επισημάνετε το προτιμώμενο
μονοπάτια που πρέπει να ακολουθήσετε (action=mark-routing). Όλες οι συνδέσεις
με την ένδειξη l2tp-out1_conn (σύνδεση-σήμα) μάρκας επίσης με ένα σήμα
to_l2tp-out1 (new-routing-mark). Και μετά με το δεύτερο μισό της ροής
ενεργούμε ανάλογα.

Δεν έχω καταλάβει ακόμα ποιο είναι το βαθύ νόημα αυτής της διαδοχικής σήμανσης και γιατί δεν μπορείτε να βάλετε αμέσως ένα νέο σήμα δρομολόγησης. Αλλά ο επίσημος οδηγός στο Mikrotik Wiki κάνει το ίδιο.
Μπορεί κάποιος να εξηγήσει;

Γενικά, υπάρχουν τρεις ενέργειες με παρόμοιο όνομα που αξίζει να κατανοήσετε:


  • σήμα-σύνδεση

  • μάρκα-πακέτο

  • δρομολόγηση σήμανσης

Ας ξεκινήσουμε με κάτι απλό.

δρομολόγηση σήμανσης
- τοποθετήστε ένα σημάδι που καθορίζεται από την παράμετρο new-routing-mark σε ένα πακέτο.
Αυτό το είδος σημάτων χρησιμοποιείται μόνο για σκοπούς δρομολόγησης πολιτικής

Αυτή η ενέργεια βάζει ένα σημάδι που χρησιμοποιείται αποκλειστικά κατά την επιλογή μιας διαδρομής για περαιτέρω προώθηση. Π.χ:

/ip διαδρομή
προσθήκη dst-address=0.0.0.0/0 gateway=10.111.0.1 routing-mark=to_ISP1 check-gateway=ping
προσθήκη dst-address=0.0.0.0/0 gateway=10.112.0.1 routing-mark=to_ISP2 check-gateway=ping


Αλλά σε περίπτωση που ένα από τα μονοπάτια σπάσει, πρέπει επίσης να το κάνετε γενικοί κανόνεςχωρίς αναφορά σε ετικέτες:

προσθήκη dst-address=0.0.0.0/0 gateway=10.111.0.1 distance=1 check-gateway=ping
προσθήκη dst-address=0.0.0.0/0 gateway=10.112.0.1 distance=2 check-gateway=ping

Ποια είναι όμως η διαφορά μεταξύ mark-packet και mark-connection;
Προφανώς, το ίδιο πράγμα που διακρίνει ένα πακέτο από μια σύνδεση.
Διαβάζουμε:

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

Το branding κάθε συσκευασίας είναι πολύ ακριβό
ευχαρίστηση, ειδικά αν ο κανόνας περιέχει πολλά σημάδια για
συγκρίσεις από μια κεφαλίδα πακέτου IP ή ένα φύλλο διευθύνσεων που περιέχει εκατοντάδες
εγγραφές.
Συνεχίζει μιλώντας για το σπαστικό έργο των δρομολογητών,
επιβαρύνεται με πολύπλοκους κανόνες για τον έλεγχο κάθε πακέτου στα 100 megabit
δίκτυα. Το υπολογιστικό φορτίο στον επεξεργαστή αυξάνεται ραγδαία, γεγονός που
ουσιαστικά καθιστά αδύνατη τη χρήση αυτής της μεθόδου σήμανσης
κατά τη διαχείριση μεγάλων ροών δεδομένων.

Παραθέτω, αναφορά:

Ευτυχώς, εάν είναι ενεργοποιημένη η παρακολούθηση σύνδεσης, μπορούμε να χρησιμοποιήσουμε τα σημάδια σύνδεσης για να βελτιστοποιήσουμε τη ρύθμισή μας.

Ευτυχώς, εάν είναι ενεργοποιημένη η παρακολούθηση σύνδεσης, μπορούμε να επισημάνουμε τις συνδέσεις, κάτι που είναι πολύ καλύτερο!
Εδώ
είναι ένα πλεονέκτημα της εργασίας με εικόνες υψηλού επιπέδου. Όσο πιο ψηλά
επίπεδο γενίκευσης, τόσο λιγότερη δουλειά πρέπει να ξοδέψετε
επίτευξη του στόχου!

/ip τείχος προστασίας
add chain=forward protocol=tcp port=!80 dst-address-list=first connection-state=new action=mark-connection \
new-connection-mark=πρώτο
add chain=forward connection-mark=first action=mark-packet new-packet-mark=first passthrough=no

Προσθήκη chain=forward protocol=udp dst-address-list=second connection-state=new action=mark-connection \
new-connection-mark=δεύτερο
add chain=forward connection-mark=second action=mark-packet new-packet-mark=second passthrough=no


Παραθέτω, αναφορά:

Τώρα
Ο πρώτος κανόνας θα προσπαθήσει να αντιστοιχίσει δεδομένα από την κεφαλίδα IP μόνο από το πρώτο πακέτο
του νέου σύνδεση καιπροσθέστε σημάδι σύνδεσης. Ο επόμενος κανόνας δεν θα ισχύει πλέον
ελέγξτε την κεφαλίδα IP για κάθε πακέτο, απλά θα συγκρίνει τα σημάδια σύνδεσης
με αποτέλεσμα χαμηλότερη κατανάλωση CPU. Επιπλέον passthrough=no was
προστέθηκε που συμβάλλει στη μείωση της κατανάλωσης CPU ακόμη περισσότερο.


Είναι σημαντικό ότι ο πρώτος κανόνας ελέγχει τα δεδομένα μόνο στην κεφαλίδα του πρώτου πακέτου μιας νέας σύνδεσης, θεωρώντας ότι σε αυτή τη σύνδεση όλα τα άλλα θα συμπίπτουν με αυτήν. Ο επόμενος κανόνας, αντί να ελέγχει την κεφαλίδα κάθε πακέτου, κοιτάζει μόνο την ετικέτα σύνδεσης, η οποία μειώνει σημαντικά το φορτίο της CPU. Επιπλέον, ο κανόνας “passthrough=no” διακόπτει αμέσως τη διέλευση των πακέτων από αυτόν τον πίνακα και τα μεταφέρει στον επόμενο, γεγονός που ανακουφίζει και την CPU!

Ωχ... Κόλπο κόλπο! Τώρα είναι σαφές γιατί, στο παράδειγμα με το PCC, πρώτα σημειώσαμε τη σύνδεση και, στη συνέχεια, με βάση αυτήν την ετικέτα, βάλαμε μια δεύτερη - σχετικά με τη δρομολόγηση.
Όμως προκύπτουν ερωτήματα.
Πρώτον: πώς μπορείτε να καταλάβετε ότι ένα πακέτο ανήκει σε μια συγκεκριμένη σύνδεση χωρίς να κοιτάξετε την κεφαλίδα του; Προφανώς - σε καμία περίπτωση. Αυτό σημαίνει ότι κάθε πακέτο υποβάλλεται σε επεξεργασία ξεχωριστά σε κάθε περίπτωση, αλλά αυτό συμβαίνει εκτός των πινάκων IPT και αυτό δεν προκαλεί κανένα ειδικό φορτίο στο ΕΠΕΞΕΡΓΑΣΤΗΣ, σε αντίθεση με την επεξεργασία σύμφωνα με μια λίστα κανόνων μέσα στα IPTables.

Και η δεύτερη ερώτηση: πώς μπορείτε να επισημάνετε μια σύνδεση;
Εάν όλα είναι σχετικά ξεκάθαρα με το πακέτο: έχει μια κεφαλίδα στην οποία κάνουμε αλλαγές, τότε ποια είναι η πραγματική έκφραση της έννοιας της «σύνδεσης» με την οποία μπορούμε με κάποιο τρόπο να εργαστούμε; Τι σημαδεύουμε;