Δύο προφίλ είναι συνδεδεμένα και το ένα μεταφέρει ήσυχα κίνηση που προορίζεται για το άλλο. Ένας κεντρικός υπολογιστής Linux μπορεί να εκτελεί και τους δύο πελάτες OpenVPN ταυτόχρονα χωρίς δυσκολία. Αυτό που δεν μπορεί να κάνει είναι να αποφασίσει για εσάς ποια διεργασία δικαιούται να διεκδικήσει ποιο πρόθεμα. Αυτή η απόφαση πρέπει να ληφθεί πριν ανέβει η δεύτερη σήραγγα, όχι αφού σταματήσει να απαντά ένας πόρος.

Ξεκινήστε από την εργασία που πρέπει να κάνει η δεύτερη ζεύξη

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

Πρόκειται για τρεις διαφορετικές διαμορφώσεις και συγχέονται επειδή και οι τρεις ξεκινούν με τον ίδιο τρόπο: ένα δεύτερο προφίλ και μια επιτυχημένη σύνδεση. Γράψτε πρώτα την προβλεπόμενη διάταξη και μετά διαμορφώστε προς αυτήν. Μία πρόταση πρόθεσης εξοικονομεί μια ώρα καταγραφής πακέτων.

systemctl list-units --type=service 'openvpn-client@*'
ip -4 route show default

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

Οι επικαλυπτόμενες δεξαμενές σπάνε πριν σπάσει η δρομολόγηση

Δύο διακομιστές θα μοιράσουν πρόθυμα διευθύνσεις από το ίδιο 10.8.0.0/24. Ο πελάτης τότε κρατά δύο διασυνδέσεις μέσα σε ένα πρόθεμα χωρίς τίποτα να λέει ποιος προορισμός ανήκει σε ποια, και η συμπεριφορά που προκύπτει μοιάζει με βλάβη δρομολόγησης αλλά στην πραγματικότητα είναι βλάβη αρίθμησης. Η επαναρίθμηση μιας δεξαμενής κοστίζει μία επεξεργασία διαμόρφωσης· κάθε επόμενη παράκαμψη δρομολόγησης κοστίζει ένα σαββατοκύριακο. Ελέγξτε τη δεξαμενή πριν προσθέσετε διαδρομή για αυτήν.

Κοιτάξτε και το τοπικό LAN. Ένα οικιακό LAN με αριθμό 192.168.1.0/24 που το εκθέτει και μία σήραγγα παράγει την ίδια ασάφεια, και το σύμπτωμα είναι ένα όνομα κεντρικού υπολογιστή που επιλύεται ενώ η σύνδεση δεν ολοκληρώνεται ποτέ. Αυτό μοιάζει με βλάβη επίλυσης ονομάτων μέχρι να εκτυπώσετε τις διαδρομές.

ip -4 addr show
ip route show table all | grep -E '10\.|192\.168\.'

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

Δώστε σε κάθε προφίλ τη δική του μονάδα και σε κάθε πρόθεμα έναν ιδιοκτήτη

Κάθε προφίλ παίρνει το δικό του όνομα παρουσίας και το δικό του αρχείο διαμόρφωσης, οπότε η παρουσία με όνομα office φορτώνει το office.conf ενώ εκείνη με όνομα lab φορτώνει το lab.conf. Επιβεβαιώστε αυτή την αντιστοίχιση μέσω του διαχειριστή υπηρεσιών αντί να εμπιστεύεστε μια λίστα καταλόγου, καθώς ένα drop-in μπορεί να αλλάξει ποιο αρχείο φορτώνεται. Λάθος αντιστοίχιση σημαίνει ότι ρυθμίζετε το προφίλ που δεν εκτελείται.

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

systemctl cat [email protected]
grep -E 'route-nopull|pull-filter|redirect-gateway' /etc/openvpn/client/lab.conf

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

Τα σημάδια κρατούν τις απαντήσεις στη διασύνδεση από την οποία ήρθαν

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

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

ip rule show
ip route show table 101
sysctl net.ipv4.conf.all.rp_filter

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

Αποδείξτε την απομόνωση σταματώντας μία ζεύξη

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

Στη συνέχεια σταματήστε μία παρουσία και παρατηρήστε τη διασύνδεση και τις διαδρομές της να εξαφανίζονται ενώ η άλλη συνεχίζει. Ένα σπάσιμο στην επιζώσα σημαίνει ότι οι δύο μοιράζονται ακόμη όνομα συσκευής, διαδρομή ή κανόνα τείχους προστασίας που κανείς δεν χώρισε.

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

Σχετικά άρθρα