Σφάλμα PPTP 800 έναντι 812 και αποσυνδέσεις μετά από ένα λεπτό
Το σφάλμα 800, το σφάλμα 812 και ένα τούνελ PPTP που πεθαίνει μετά από ένα λεπτό είναι τρεις ξεχωριστές βλάβες. Αντιστοιχίστε κάθε σύμπτωμα στο επίπεδο που πραγματικά απέτυχε.
Τρία μηνύματα σφάλματος από έναν πελάτη PPTP περιγράφουν συνήθως τρεις διαφορετικές βλάβες. Το σφάλμα 800 σημαίνει ότι το τούνελ δεν σχηματίστηκε ποτέ, το σφάλμα 812 σημαίνει ότι ο διακομιστής απέρριψε τη μέθοδο ελέγχου ταυτότητας, και μια αποσύνδεση μετά από ένα λεπτό είναι ένα χρονόμετρο keepalive που αποφασίζει ότι ένας υγιής ομότιμος έφυγε. Κάθε στάδιο αποτυγχάνει για τον δικό του λόγο, οπότε το καθένα χρειάζεται τον δικό του έλεγχο.
Το σφάλμα 800 σημαίνει ότι το τούνελ δεν σχηματίστηκε ποτέ
Τα Windows εμφανίζουν το σφάλμα 800 όταν δεν μπορούν να χτίσουν καθόλου το τούνελ, και το κείμενο για μη προσβάσιμο διακομιστή ή ακατάλληλες παραμέτρους ασφαλείας είναι σύνοψη και όχι διάγνωση. Το PPTP χρειάζεται δύο ξεχωριστά πράγματα από το δίκτυο πριν εξεταστεί οποιοδήποτε διαπιστευτήριο. Το TCP 1723 μεταφέρει το κανάλι ελέγχου, και το πρωτόκολλο IP 47, GRE, μεταφέρει το ενθυλακωμένο φορτίο.
Δοκιμάστε αυτή την εξωτερική διαδρομή από έξω από το δικό σας LAN, γιατί μια σύνδεση που λειτουργεί μέσα στο γραφείο δεν αποδεικνύει τίποτα για την άκρη:
$ nc -vz vpn.example.net 1723
Connection to vpn.example.net 1723 port [tcp/*] succeeded!
$ sudo tcpdump -ni eth0 proto gre
tcpdump: listening on eth0, link-type EN10MB
Αν το 1723 απαντά και η καταγραφή μένει κενή όσο ο πελάτης προσπαθεί να συνδεθεί, η διαδρομή ρίχνει το πρωτόκολλο 47. Ένας δρομολογητής με προωθημένο 1723 αλλά κλειστό passthrough PPTP παράγει ακριβώς αυτό το μοτίβο: η χειραψία TCP ολοκληρώνεται, μετά τα πακέτα GRE εξαφανίζονται, ώστε η αποτυχία να μοιάζει με πρόβλημα διαπιστευτηρίων ενώ δεν επιχειρήθηκε καμία σύνδεση.
Στρέψτε την προώθηση στη τρέχουσα διεύθυνση LAN του διακομιστή, ενεργοποιήστε το passthrough PPTP όπου το προσφέρει ο δρομολογητής και δοκιμάστε ξανά από το ίδιο εξωτερικό σημείο. Όταν το GRE φιλτράρεται πιο πάνω και δεν μπορείτε να το αλλάξετε, το SSTP πάνω από TCP 443 ή το L2TP/IPsec πάνω από UDP 500 και 4500 έχει καλύτερες πιθανότητες από οποιαδήποτε αλλαγή μπορείτε να κάνετε στην πλευρά των Windows.
Το σφάλμα 812 είναι η απόρριψη της μεθόδου ελέγχου ταυτότητας από τον διακομιστή
Το σφάλμα 812 επιστρέφει αφού το τούνελ είναι πάνω, γι' αυτό μοιάζει με πρόβλημα κωδικού. Ο διακομιστής απορρίπτει τη μέθοδο ελέγχου ταυτότητας που διαπραγματεύτηκε για τη σύνδεση, όχι απαραίτητα τον ίδιο τον κωδικό. Στον πελάτη, ανοίξτε την καταχώριση VPN, πηγαίνετε στην καρτέλα ασφαλείας, ορίστε τον τύπο σε Point-to-Point Tunneling Protocol, επιλέξτε τη ρητή λίστα πρωτοκόλλων και τσεκάρετε το Microsoft CHAP έκδοση 2.
Μπορείτε να διαβάσετε την τρέχουσα ρύθμιση χωρίς να κλικάρετε μέσα από το παράθυρο:
$ Get-VpnConnection -Name "Office" | Select-Object -ExpandProperty AuthenticationMethod
MsChapv2
Ένας διακομιστής που απαιτεί MS-CHAP v2 απορρίπτει πελάτη που έμεινε σε PAP ή σε αυτόματο τύπο που διαπραγματεύεται κάτι πιο αδύναμο, και το σφάλμα φτάνει πριν αξιολογηθεί οποιοσδήποτε κωδικός χρήστη. Η μορφή λογαριασμού είναι το άλλο μισό της ίδιας απόρριψης. Σε μια περίπτωση τα Windows έστειλαν ταυτότητα λογαριασμού Microsoft της μορφής MicrosoftAccount\[email protected] ενώ ο διακομιστής ήθελε τοπικό ή λογαριασμό τομέα. Η πληκτρολόγηση SERVERNAME\username είπε στα Windows ποια αποθήκη λογαριασμών να συμβουλευτούν και καθάρισε το σφάλμα. Πληκτρολογήστε το όνομα με το χέρι αντί να αφήσετε ένα αποθηκευμένο διαπιστευτήριο να επαναλάβει προηγούμενη μορφή.
Οι αποσυνδέσεις μετά από ένα λεπτό είναι απόφαση keepalive
Όταν το τούνελ συνδέεται, περνά λίγη κίνηση και μετά αποσυνδέεται, κοιτάξτε τη συμπεριφορά ηχούς LCP του διακομιστή πριν αγγίξετε τον πελάτη. Ο δαίμονας ζητά περιοδικά από τον ομότιμο να επιβεβαιώσει ότι είναι ακόμη εκεί. Αν φτάσουν πολύ λίγες απαντήσεις μέσα στον καθορισμένο προϋπολογισμό, η συνεδρία κατεδαφίζεται ακόμη κι αν ο χρήστης έχει ακόμη λειτουργικό σύνδεσμο.
Σε διακομιστή Linux pptpd αυτές οι τιμές ζουν στο /etc/ppp/options.pptpd, και η συνήθης επισκευή είναι να διευρύνεις τον προϋπολογισμό αντί να συντομεύσεις το διάστημα:
# /etc/ppp/options.pptpd
lcp-echo-failure 30
lcp-echo-interval 5
# then
sudo systemctl restart pptpd
Τριάντα αστοχίες σε διάστημα πέντε δευτερολέπτων συγχωρούν μια σύντομη παύση αντί να κηρύξουν τον ομότιμο χαμένο. Η μείωση του αριθμού σε ένα ή δύο μετατρέπει το συνηθισμένο jitter σε μια μεταφρασμένη διαδρομή σε αποσύνδεση περίπου κάθε λεπτό. Αν ο διακομιστής σας είναι Windows RRAS και όχι pptpd, κοιτάξτε αντ' αυτού το χρονικό όριο συνεδρίας PPP και την πολιτική αποσύνδεσης σε αδράνεια. Αυτά ζουν αλλού, και η επεξεργασία ενός αρχείου pppd που δεν υπάρχει δεν θα αλλάξει τίποτα.
Τα επικαλυπτόμενα υποδίκτυα σπάνε τη διαδρομή δεδομένων
Ένα τούνελ PPTP μπορεί να πιστοποιηθεί καθαρά και παρόλα αυτά να μη φτάσει πουθενά όταν και οι δύο τοποθεσίες χρησιμοποιούν το ίδιο ιδιωτικό εύρος, για παράδειγμα 192.168.1.0/24 στο γραφείο και στο σπίτι. Ο πελάτης δεν μπορεί να πει σε ποιον κεντρικό υπολογιστή αναφέρεται μια δεδομένη διεύθυνση, και μερικές στοίβες αρνούνται να εγκαταστήσουν καθόλου τη διαδρομή αντί να διαλέξουν μία.
Αντιμετωπίστε το ως σφάλμα σχεδιασμού και επαναριθμήστε τη μία πλευρά, ή δώστε στον πελάτη ένα σκόπιμα μεταφρασμένο εύρος πρόσβασης. Η αποσφαλμάτωση του πελάτη PPTP δεν μπορεί να διορθώσει έναν χώρο διευθύνσεων που υπάρχει δύο φορές, και το σύμπτωμα θα συνεχίσει να μοιάζει με τυχαία αποσύνδεση.
Ξεκινήστε από το στάδιο που απέτυχε: GRE για το 800, τη μέθοδο και τη συμβολοσειρά λογαριασμού για το 812, ρυθμίσεις ηχούς για ένα τούνελ που πεθαίνει βάσει χρονοδιαγράμματος.