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

Ελέγξτε πού δείχνει πραγματικά η διαδρομή

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

Get-NetRoute -DestinationPrefix '10.77.0.0/16' | Select-Object DestinationPrefix, NextHop, InterfaceIndex, Store
Get-NetAdapter | Where-Object InterfaceDescription -like '*VPN*' | Select-Object Name, InterfaceIndex, InterfaceDescription
Get-VpnConnection -Name 'Lab VPN' | Select-Object Name, ServerAddress, SplitTunneling

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

Δέστε το πρόθεμα στο προφίλ, όχι στον προσαρμογέα

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

Add-VpnConnectionRoute -ConnectionName 'Lab VPN' -DestinationPrefix '10.77.0.0/16' -PassThru

Η αναφορά του Add-VpnConnectionRoute τεκμηριώνει τη συσχέτιση με τη σύνδεση, και το εύρος του τηλεφωνικού καταλόγου έχει σημασία: προφίλ ανά χρήστη και προφίλ για όλους τους χρήστες είναι διαφορετικά αντικείμενα. Ο μηχανισμός αυτός ανήκει στον δικό του πελάτη VPN των Windows, οπότε ένας προσαρμογέας προμηθευτή που διαχειρίζεται η δική του υπηρεσία μπορεί να παίρνει τις διαδρομές του από εντελώς άλλη πηγή πολιτικής.

Καθαρίστε τις παλιές διαδρομές πριν προσθέσετε τη νέα

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

Get-NetRoute -AddressFamily IPv4 | Where-Object DestinationPrefix -like '10.77.*'
Remove-NetRoute -DestinationPrefix '10.77.0.0/16' -NextHop '0.0.0.0' -Confirm:$false

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

Επανασυνδεθείτε με διαφορετική σειρά

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

rasdial 'Lab VPN' /disconnect
rasdial 'Lab VPN'
Find-NetRoute -RemoteIPAddress 10.77.5.20 | Select-Object -First 1

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

Μάθετε τι δεν μπορεί να κάνει η διαδρομή

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

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

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