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

Αποδείξτε πού σταματά η κίνηση

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

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

Το PPTP πεθαίνει χωρίς το πρωτόκολλο 47

Το PPTP μεταφέρει τον έλεγχο στο TCP 1723 και τα δεδομένα του μέσα στο GRE, που είναι το πρωτόκολλο IP 47 και όχι αριθμός θύρας. Η προώθηση μόνο του 1723 δίνει το κλασικό αποτέλεσμα: η σύνδεση πιστοποιείται και μετά σωπαίνει, γιατί δεν υπάρχει κανόνας για το πρωτόκολλο που μεταφέρει το φορτίο. Ο πελάτης δεν μπορεί να το ξεχωρίσει από ένα απορριφθέν συνθηματικό, γι' αυτό η καταγραφή πρέπει να προηγείται των αλλαγών ρυθμίσεων.

Η διέλευση κινείται προς την αντίθετη κατεύθυνση από μια εισερχόμενη προώθηση, και το firmware χρησιμοποιεί αρκετά συχνά μία ετικέτα για τα δύο, ώστε να μπερδέψει όλους. Σε πελάτη Linux το τοπικό τείχος προστασίας μπορεί να απορρίψει το GRE πολύ πριν εμπλακεί ο δρομολογητής, οπότε το πρωτόκολλο 47 χρειάζεται δικό του κανόνα και ο βοηθός conntrack πρέπει να είναι φορτωμένος. Το ufw του Ubuntu κρατά αυτούς τους κανόνες στο αρχείο before, γιατί οι συνηθισμένοι κανόνες allow δεν μπορούν να εκφράσουν αριθμό πρωτοκόλλου. Επαναφορτώστε το τείχος προστασίας μετά, αντί να επανεκκινήσετε το μηχάνημα.

# /etc/ufw/before.rules, inside *filter
-A ufw-before-input -p gre -j ACCEPT
sudo ufw allow 1723/tcp
sudo modprobe nf_conntrack_pptp
sudo conntrack -L | grep gre

L2TP και IPsec πίσω από δύο NAT

L2TP μέσα στο IPsec χρειάζεται UDP 500 για την ανταλλαγή κλειδιών, UDP 4500 μόλις ανιχνευθεί NAT, και ESP ως πρωτόκολλο 50. Καθένα φιλτράρεται ανεξάρτητα, οπότε ένας κανόνας που επιτρέπει ένα δεν αποδεικνύει τίποτα για τα άλλα δύο. Δύο δρομολογητές σε σειρά μεταφράζουν κάθε πακέτο δύο φορές και τα άκρα δεν συμφωνούν πια για το τι διαπραγματεύτηκε.

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

Δίκτυα παρόχων και κοινή χρήση διευθύνσεων

Μια διεύθυνση WAN μέσα στο 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 ή 100.64.0.0/10 σημαίνει ότι ο δρομολογητής δεν έχει δημόσια διεύθυνση και καμία εισερχόμενη προώθηση από το διαδίκτυο δεν μπορεί να τον φτάσει. Το NAT σε επίπεδο παρόχου φιλτράρει επιπλέον πρωτόκολλα που δεν περιμένει, και το GRE είναι συχνό θύμα σε κινητές ζεύξεις. Συγκρίνετε τη διεύθυνση WAN στον ίδιο τον δρομολογητή, όχι τη διεύθυνση που αναφέρει ένας ιστότοπος αναζήτησης για πελάτη πίσω από αυτόν.

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

Διαβάστε τη λίστα ακροατών πριν κλείσετε θύρες

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

ss -lntup
systemctl list-units --type=service --state=running | grep -i vpn
nc -vz 203.0.113.10 1723
nc -vzu 203.0.113.10 4500

Οι προεπιλογές του SoftEther είναι καλό παράδειγμα: TCP 443, 992 και 5555, με τις λειτουργίες L2TP/IPsec και σήραγγας DNS να προσθέτουν δικές τους υποδοχές. Η απενεργοποίηση αυτών των λειτουργιών αφαιρεί τους ακροατές αντί να τους κρύβει, και η δοκιμή από εξωτερικό κεντρικό υπολογιστή σας λέει αν ο πάροχος αφήνει καθόλου τη θύρα να περάσει. Ένας ακροατής που απαντά τοπικά μπορεί να είναι κλειστός ανάντη, οπότε συγκρίνετε τη δική του διεύθυνση WAN με ό,τι αναφέρει μια εξωτερική υπηρεσία.

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