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

Τι εγκαθιστά μια διαδρομή και τι δεν διαβάζει ποτέ

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

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

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

Όταν ο προορισμός είναι πραγματικά ένα πρόθεμα

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

route 10.60.4.20 255.255.255.255
route 10.60.0.0 255.255.0.0

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

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

Όταν η μονάδα εργασίας είναι ένα όνομα κεντρικού υπολογιστή

Η επιλογή κατά τομέα απαιτεί κάτι που διαβάζει τον τομέα, δηλαδή ένα συστατικό επιπέδου εφαρμογής. Η συνήθης απάντηση είναι ένας διακομιστής μεσολάβησης HTTP που βρίσκεται στην άλλη πλευρά της σήραγγας, με τον πελάτη να επιλέγει ποια αιτήματα θα του στέλνει.

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

function FindProxyForURL(url, host) {
    var h = host.toLowerCase();
    if (h === "corp.example" || dnsDomainIs(h, ".corp.example")) {
        return "PROXY 10.60.0.12:3128";
    }
    return "DIRECT";
}

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

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

Τι δεν καλύπτει η επιλογή διακομιστή μεσολάβησης

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

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

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

Δοκιμή και των δύο διαδρομών, όχι μόνο της ευτυχισμένης

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

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

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