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

Επιβεβαιώστε πού σταματά η διαδρομή

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

Μέσα στη διανομή, το ip -4 addr δείχνει έναν εικονικό προσαρμογέα με διεύθυνση από το εύρος NAT του WSL, και το ip route δείχνει μια προεπιλεγμένη διαδρομή προς την πύλη του WSL. Δεν υπάρχει διαδρομή για το εταιρικό πρόθεμα, επειδή ο προσαρμογέας σήραγγας του κεντρικού υπολογιστή δεν έχει αντίστοιχο μέσα στη διανομή. Η προεπιλεγμένη πύλη οδηγεί στο NAT του WSL, όχι στο εταιρικό δίκτυο.

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

Επιλέξτε κατοπτρικό δίκτυο ή διαδρομή με σενάριο

Το κατοπτρικό δίκτυο δίνει στη διανομή τις διεπαφές του ίδιου του κεντρικού υπολογιστή, ώστε η σήραγγα και οι διαδρομές της να εμφανίζονται χωρίς αντιγραφή. Η λειτουργία εξαρτάται από πρόσφατη έκδοση των Windows και από το networkingMode=mirrored στο .wslconfig, και η ενεργοποίησή της αλλάζει άσχετη συμπεριφορά, όπως την προώθηση localhost. Αντιμετωπίστε το ως αλλαγή πλατφόρμας, όχι ως ρύθμιση διαδρομής. Αν η έκδοση το υποστηρίζει και οι παρενέργειες είναι αποδεκτές, είναι η συντομότερη οδός.

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

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

Τραβήξτε τα τρέχοντα στοιχεία της σήραγγας από τον κεντρικό υπολογιστή

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

powershell.exe 'Get-NetAdapter | Where-Object { $_.MacAddress -eq "3C-52-82-0A-1B-7C" } | Get-NetIPAddress -AddressFamily IPv4 | Select-Object IPAddress, PrefixLength'

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

powershell.exe '(Get-NetAdapter | Where-Object { $_.MacAddress -eq "3C-52-82-0A-1B-7C" }).InterfaceIndex'
powershell.exe '(Get-NetIPConfiguration -InterfaceIndex 27).IPv4DefaultGateway.NextHop'

Περάστε την έξοδο από το tr -d '\r' πριν την αναθέσετε σε μεταβλητή. Το PowerShell τερματίζει τις γραμμές με επιστροφή μεταφοράς, και χωρίς την αφαίρεση το τελευταίο πεδίο φέρει κρυφό χαρακτήρα που κάνει μια εντολή διαδρομής να αποτύχει με μπερδεμένο σφάλμα ανάλυσης.

Εφαρμόστε τη διεύθυνση και τη διαδρομή μέσα στη διανομή

Εγκαταστήστε τη διεύθυνση της σήραγγας ως διεύθυνση με πρόθεμα στη διεπαφή της διανομής και μετά δρομολογήστε το εταιρικό μπλοκ μέσω της πύλης του κεντρικού υπολογιστή:

sudo ip addr add 172.20.14.37/22 dev vpn
sudo ip route add 172.20.0.0/16 via 172.20.12.1 dev vpn

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

nmcli con show vpn
sudo nmcli con mod vpn ipv4.method auto
sudo nmcli con up vpn

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

Καρφιτσώστε το όνομα και αποδείξτε τη διαδρομή

Ο πυρήνας μπορεί να μετονομάσει τη διεπαφή της διανομής μεταξύ eth1 και eth2 μετά από αλλαγή δικτύου, και ένα σενάριο γραμμένο για όνομα επεξεργάζεται τότε τη λάθος συσκευή. Ένας κανόνας udev δεμένος με τη MAC δίνει στη διεπαφή σταθερή ετικέτα:

SUBSYSTEM=="net", ACTION=="add", ATTRS{address}=="3c:52:82:0a:1b:7c", NAME="vpn"

Στη συνέχεια επαληθεύστε με τη διεύθυνση, τη διαδρομή και πραγματική σύνδεση TCP: ip -4 addr show dev vpn, ip route get 172.20.4.10 και σύνδεση σε γνωστή εσωτερική θύρα. Η αναζήτηση διαδρομής πρέπει να ονομάζει τη συσκευή vpn και τη διεύθυνση προέλευσης που προσθέσατε.

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

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