Συνδεθήκατε στο OpenVPN αλλά δεν έχετε ping ούτε κοινόχρηστο φάκελο SMB; Ελέγξτε τρεις πύλες
Μια σήραγγα που λειτουργεί δεν λέει τίποτα για την προώθηση, τις θύρες SMB ή την επίλυση ονομάτων. Δοκιμάστε κάθε πύλη με τη σειρά και σταματήστε στην πρώτη που αποτυγχάνει.
Η σήραγγα σηκώνεται, ο πελάτης παίρνει διεύθυνση και τίποτα στο απομακρυσμένο LAN δεν απαντά. Το ping αποτυγχάνει, η κοινή χρήση δεν ανοίγει και το αρχείο καταγραφής του VPN φαίνεται καθαρό, γιατί από τη δική του οπτική η συνεδρία είναι υγιής. Ανάμεσα σε αυτή τη συνεδρία και σε ένα αρχείο σε έναν διακομιστή στέκονται τρεις ανεξάρτητες πύλες: η πολιτική προώθησης, οι θύρες που χρειάζεται η υπηρεσία και το όνομα που πληκτρολογήσατε αντί για διεύθυνση.
Κάθε πύλη αποτυγχάνει με διαφορετικό σύμπτωμα, και μόνο η πρώτη βρίσκεται στον διακομιστή VPN.
Η προώθηση είναι πολιτική στην αλυσίδα FORWARD
Η αποδοχή του listener του OpenVPN γίνεται στο INPUT, γι’ αυτό η σήραγγα μπορεί να συνδεθεί ενώ κάθε πακέτο προς το LAN απορρίπτεται. Η κίνηση που φτάνει στο tun0 και φεύγει από τη διεπαφή του LAN διασχίζει το FORWARD, και ένας υπολογιστής με προεπιλεγμένη πολιτική DROP εκεί την πετάει σιωπηλά. Ελέγξτε και το sysctl και την αλυσίδα πριν αγγίξετε οτιδήποτε άλλο: sysctl net.ipv4.ip_forward και iptables -L FORWARD -v -n.
Επιτρέψτε την κατεύθυνση που θέλετε και τις απαντήσεις που της ανήκουν, για παράδειγμα έναν κανόνα accept από τη διεπαφή της σήραγγας προς τη διεπαφή του LAN συν έναν κανόνα stateful για κίνηση established και related. Αν το LAN βρίσκεται πίσω από άλλο δρομολογητή, εκείνος ο δρομολογητής χρειάζεται διαδρομή επιστροφής προς τη δεξαμενή πελατών ή source NAT στον διακομιστή VPN. Επιβεβαιώστε αυτή τη διαδρομή με ένα μόνο ping πριν προσθέσετε περισσότερους κανόνες, γιατί ένας κανόνας που δεν είναι προσβάσιμος δεν εμφανίζεται ποτέ σε μετρητή.
Το SMB χρειάζεται περισσότερες από μία θύρες
Η κοινή χρήση αρχείων δεν είναι μία μόνο συνομιλία TCP 445. Η ανακάλυψη χρησιμοποιεί UDP 137 και 138, οι παλαιότερες συνεδρίες NetBIOS χρησιμοποιούν TCP 139 και οι σύγχρονες συνεδρίες SMB χρησιμοποιούν TCP 445. Ένας κανόνας που ανοίγει μόνο το 445 δημιουργεί την απελπιστική περίπτωση όπου μια αντιστοιχισμένη μονάδα δίσκου λειτουργεί και η περιήγηση στο δίκτυο όχι, ή το αντίστροφο.
Οι μεγάλες μεταφορές μέσα από σήραγγα χτυπούν επίσης προβλήματα MSS που μοιάζουν με χαλασμένη κοινή χρήση. Ένα SYN που διαφημίζει το πλήρες μέγεθος τμήματος του LAN απορρίπτεται από το μικρότερο MTU της σήραγγας, και η σύνδεση κολλάει μετά τη χειραψία. Το clamping του MSS στη διαδρομή προώθησης, iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu, εξαλείφει αυτή την κατηγορία στασιμότητας. Επαληθεύστε με ένα αντίγραφο μερικών megabyte αντί για μια λίστα καταλόγου, γιατί οι μικρές απαντήσεις περνούν ακόμη και όταν οι μεγάλες μεταφορές δεν περνούν.
Ο προσαρμογέας της σήραγγας έρχεται ως νέο προφίλ δικτύου
Τα Windows κατατάσσουν κάθε προσαρμογέα σε ένα προφίλ δικτύου, και ένας νέος προσαρμογέας σήραγγας συνήθως προσγειώνεται στο Public, όπου οι κανόνες κοινής χρήσης αρχείων και εκτυπωτών είναι αποκλεισμένοι. Αυτό είναι απόφαση του firewall του υπολογιστή στον διακομιστή αρχείων, όχι πρόβλημα δρομολόγησης στον διακομιστή VPN. Αλλάξτε την κατηγορία σκόπιμα με Set-NetConnectionProfile -InterfaceAlias "Ethernet 3" -NetworkCategory Private αφού επιβεβαιώσετε ότι το επιτρέπει η πολιτική, γιατί η κατηγορία αλλάζει και ποιοι κανόνες εισερχομένων ισχύουν.
Το ίδιο προφίλ εξηγεί ένα ping που αποτυγχάνει ενώ το TCP 445 πετυχαίνει: τα αιτήματα echo απορρίπτονται στο Public εξ ορισμού.
Τα ονόματα δεν περνούν μόνα τους μια σήραγγα με δρομολόγηση
Η επίλυση ονομάτων NetBIOS και η τοπική ανακάλυψη βασίζονται σε broadcasts που μια σήραγγα με δρομολόγηση δεν μεταφέρει. Γι’ αυτό η πληκτρολόγηση του σύντομου ονόματος του διακομιστή αποτυγχάνει ενώ η διεύθυνσή του λειτουργεί, και η κοινή χρήση φαίνεται χαλασμένη όταν χαλασμένη είναι μόνο η αναζήτηση. Προσθέστε μια εγγραφή DNS για τον διακομιστή στον resolver που δίνει η σήραγγα, ή χρησιμοποιήστε τη διεύθυνση στη συντόμευση.
Αν η ανάπτυξη εξαρτάται ακόμη από το WINS, ρυθμίστε το στον πελάτη αντί να ελπίζετε ότι θα εμφανιστεί κίνηση broadcast. Δοκιμάστε πρώτα με διεύθυνση, ώστε μια αποτυχία ονόματος να μη συγχέεται με αποτυχία firewall.
Δοκιμάστε ένα επίπεδο τη φορά και διαβάστε την πρώτη αποτυχία
Ανεβείτε προς τα πάνω: κάντε ping στην πύλη της σήραγγας, κάντε ping σε έναν κεντρικό υπολογιστή του LAN με διεύθυνση, έπειτα ανοίξτε τη θύρα της υπηρεσίας με Test-NetConnection -ComputerName 10.8.0.5 -Port 445, και μόνο τότε ταυτοποιηθείτε στην κοινή χρήση. Το πρώτο βήμα που αποτυγχάνει είναι το επίπεδο που πρέπει να διορθωθεί, και κάθε επόμενο βήμα είναι θόρυβος μέχρι να περάσει εκείνο. Ένα ping που απαντά ενώ η θύρα μένει κλειστή δείχνει το firewall του ίδιου του διακομιστή αρχείων, ενώ μια θύρα που ανοίγει παρά τα σιωπηλά ping δείχνει φιλτράρισμα ICMP. Σημειώστε το πρώτο βήμα που αποτυγχάνει πριν αλλάξετε οτιδήποτε, γιατί μια δεύτερη αλλαγή κρύβει το αποτέλεσμα της πρώτης.
Αν ο διακομιστής VPN δεν είναι ο δρομολογητής του LAN, επιβεβαιώστε τη διαδρομή επιστροφής σε εκείνον τον δρομολογητή πριν προσθέσετε περισσότερους κανόνες στον διακομιστή. Χωρίς αυτή, τα αιτήματα φτάνουν στον υπολογιστή και οι απαντήσεις φεύγουν από την προεπιλεγμένη διαδρομή προς το διαδίκτυο, που από την πλευρά του πελάτη μοιάζει ακριβώς με απόρριψη firewall.
Κρατήστε τον λογαριασμό της κοινής χρήσης ξεχωριστό από τη σύνδεση VPN στις σημειώσεις σας, γιατί μια επιτυχημένη σήραγγα δεν λέει τίποτα για τα δικαιώματα αρχείων. Το να εκθέσετε το SMB στο διαδίκτυο για να αποφύγετε έναν κανόνα που λείπει δεν είναι λύση.