Οικιακός διακομιστής VPN ή διακομιστής cloud: ποιος φτάνει στο NAS σας;
Η σήραγγα σηκώνεται, αλλά το οικιακό NAS παραμένει απρόσιτο. Επιλέξτε τη θέση του endpoint με βάση τον πόρο που πρέπει να αγγίξετε και μετά ελέγξτε τη διαδρομή.
Η σήραγγα σηκώνεται, ο πελάτης δείχνει πράσινη κουκκίδα και ssh 192.168.1.20 ακόμη κρέμεται μέχρι να λήξει το χρονικό όριο. Αυτό ακριβώς συνάντησα αφού νοίκιασα ένα μικρό cloud instance και έβαλα WireGuard πάνω του: χειραψία εντάξει, DNS εντάξει, και το NAS στο γραφείο μου τόσο απρόσιτο σαν να ήταν στο φεγγάρι. Δεν είχε τίποτα λάθος η σήραγγα. Το endpoint βρισκόταν σε δίκτυο χωρίς διαδρομή προς το σπίτι μου. Η θέση του endpoint καθορίζει ποια δίκτυα είναι γειτονικά, οπότε επιλέξτε τη με βάση τον πόρο που πρέπει να αγγίξετε πρώτα και συγκρίνετε το hosting δεύτερο.
Μια σήραγγα φτάνει μόνο σε δίκτυα που το endpoint μπορεί να δρομολογήσει
Ένα VPN δίνει στον πελάτη σας διεύθυνση μέσα στο δικό του domain δρομολόγησης του endpoint. Όταν ο πελάτης στέλνει πακέτο στο 192.168.1.20, το endpoint πρέπει να ξέρει πού πάει. Ο πίνακας ενός cloud VM γνωρίζει τα υποδίκτυα VPC του παρόχου· για το LAN σας δεν άκουσε ποτέ. Συνδεδεμένο και προσβάσιμο είναι δύο διαφορετικά γεγονότα, και η περισσότερη σύγχυση σπιτιού-cloud προκύπτει επειδή το πρώτο λαμβάνεται ως απόδειξη του δεύτερου.
Μια εντολή το ξεκαθαρίζει. Στο endpoint, ip route get 192.168.1.20 είτε ονομάζει διεπαφή LAN είτε δείχνει στην προεπιλεγμένη διαδρομή. Σε οικιακό μηχάνημα η απάντηση είναι η πλευρά LAN. Σε cloud instance το πακέτο φεύγει προς το διαδίκτυο και πεθαίνει. Το άναμμα του net.ipv4.ip_forward=1 και μιας κανόνας MASQUERADE δεν το αλλάζει, γιατί δεν υπάρχει πού να προωθηθεί μέχρι κάτι στην οικιακή πλευρά να τερματίσει ζεύξη προς το cloud.
Η οικιακή περίπτωση έχει δεύτερο μισό: την επιστροφή. Τα πακέτα που φεύγουν από το LAN μέσω του κουτιού της σήραγγας γίνονται NAT, ή το LAN χρειάζεται στατική διαδρομή πίσω στο υποδίκτυο της σήραγγας. Όταν δουλεύει μόνο μία κατεύθυνση, ελέγξτε sysctl net.ipv4.conf.all.rp_filter. Το αυστηρό φιλτράρισμα αντίστροφης διαδρομής απορρίπτει απαντήσεις που φτάνουν σε άλλη διεπαφή από αυτήν που προβλέπει η διαδρομή, και το σύμπτωμα μοιάζει ακριβώς με κανόνα firewall.
Διαβάστε το σύμπτωμα πριν αγγίξετε τη ρύθμιση
Η σήραγγα δεν στήνεται: κλειδιά, διεύθυνση endpoint ή μπλοκαρισμένη θύρα UDP. Σήραγγα πάνω αλλά LAN hosts νεκρά: τοποθέτηση και δρομολόγηση. Σήραγγα πάνω αλλά περιήγηση νεκρή: προώθηση, NAT ή DNS. Αυτά είναι τρία επίπεδα και τρεις διαφορετικοί έλεγχοι, και το ξαναγράψιμο ρύθμισης που ήταν ήδη σωστή χαραμίζει ένα βράδυ.
| Symptom | First suspect | Check |
|---|---|---|
| Handshake fails, no transfer | Keys, endpoint port, UDP blocked | wg show, then the port from outside |
| Peer pings, LAN host times out | No route to the LAN | ip route get on the endpoint |
| Tunnel up, name resolution fails | DNS options in the peer config | Resolve a name from the client |
| Large transfers reset the connection | MTU | Lower the tunnel MTU and retry |
Η εισερχόμενη προσβασιμότητα του σπιτιού αξίζει δικό της έλεγχο, γιατί αποφασίζει αν το hosting στο σπίτι είναι δυνατό καθόλου. Συγκρίνετε τη WAN διεύθυνση που αναφέρει ο δρομολογητής σας με τη διεύθυνση που βλέπει εξωτερικός host. Αν πέφτει στο 100.64.0.0/10 ή οι δύο διαφωνούν, είστε πίσω από carrier-grade NAT και καμία προώθηση θύρας δεν θα δουλέψει ποτέ. Οι πραγματικές επιλογές είναι relay, σύνδεση cloud που καλεί προς τα έξω από το σπίτι, ή μετακίνηση του endpoint.
Τι σας αγοράζει το hosting στο σπίτι και τι κοστίζει
Το σπίτι είναι η μόνη τοποθέτηση που βρίσκεται εξ ορισμού μέσα στο LAN, και αυτός είναι όλος ο λόγος να βάλετε εκεί διακομιστή. Συσκευές που απαντούν μόνο στο τοπικό τμήμα, όπως εκτυπωτές και σελίδες διαχείρισης NAS που απορρίπτουν μη τοπικά υποδίκτυα, δουλεύουν χωρίς επιπλέον δρομολόγηση. Διαχειρίζεστε επίσης μόνοι το μηχάνημα, τον δρομολογητή και το uplink.
Το κόστος είναι φυσικό. Το οικιακό upload είναι το ταβάνι για όλους τους πελάτες ταυτόχρονα, οπότε μια βιντεοκλήση και ένα backup ανταγωνίζονται για τον ίδιο σωλήνα. Ρεύμα, φθορά δίσκου, patches, δυναμική διεύθυνση που χρειάζεται DDNS, δρομολογητής που πρέπει να προωθεί UDP προς τα μέσα, και πιθανό διπλό NAT πέφτουν όλα πάνω σας. Αυτό που παραλείπουν οι άνθρωποι είναι η ανάκτηση: αν το κουτί πεθάνει όσο λείπειτε, πεθαίνει μαζί του η μόνη σας διαδρομή στο σπίτι. Κρατήστε δεύτερη συσκευή με τα ίδια κλειδιά, ή τουλάχιστον σχέδιο φυσικής πρόσβασης.
Αν θέλετε πρόσβαση στο LAN χωρίς το κουτί στο σπίτι, χτίστε ζεύξη αντί να προσποιείστε. Το cloud endpoint γίνεται δρομολογητής: σήραγγα από την οικιακή πλευρά με AllowedIPs = 192.168.1.0/24 στο cloud peer, συν προώθηση και NAT στο cloud κουτί. Ο οδηγός προώθησης του strongSwan περνά το μισό της επιστροφής αυτής της ρύθμισης, και εκεί αποτυγχάνουν οι περισσότερες τέτοιες προσπάθειες. Το οικιακό peer πρέπει τώρα να είναι πάνω για να δουλέψει οτιδήποτε, άρα ανταλλάξατε μια εξάρτηση με άλλη και πρέπει να το γράψετε.
Σε τι χρησιμεύει πραγματικά ένα cloud endpoint
Ένα cloud endpoint αλλάζει τη δημόσια έξοδό σας. Η κίνηση φεύγει από το εύρος διευθύνσεων του παρόχου, και οι ιστοσελίδες βλέπουν αυτή τη διεύθυνση αντί της οικιακής. Αυτή είναι η αξία, και γι αυτό ένα cloud VPN δεν σας δίνει το NAS: μετακινήσατε την έξοδο, όχι το LAN.
Εξακολουθείτε να τρέχετε το guest σύστημα, την υπηρεσία VPN και τα διαπιστευτήριά της, ενώ ο πάροχος τρέχει τον hypervisor και το φυσικό δίκτυο, και ο διαχωρισμός μετράει όταν κάτι σπάει στις 2 τα ξημερώματα. Ένα δημόσιο endpoint σαρώνεται συνεχώς, οπότε κρατήστε τη θύρα διαχείρισης κλειστή, επιτρέψτε μόνο τη θύρα VPN και κάντε patch σε πρόγραμμα. Οι ομάδες ασφαλείας και τα firewall του παρόχου πρέπει να επιτρέπουν αυτή τη θύρα, και μερικά cloud πετούν την προωθημένη κίνηση αν δεν ρυθμίσετε τον έλεγχο πηγής και προορισμού στο instance.
Ένα μικρό instance καλύπτει μια χούφτα πελάτες, αλλά η κρυπτογράφηση είναι δουλειά CPU, και ένα burstable instance που ξοδεύει τις μονάδες του συμπεριφέρεται άνισα υπό συνεχή φόρτο. Κοιτάξτε τη διαδρομή που χρησιμοποιείτε πραγματικά, όχι το φύλλο προδιαγραφών.
Μια απόφαση που μπορείτε να γράψετε
Η εργασία καθορίζει την τοποθέτηση, όχι η ετικέτα στο κουτί. Αν χρειάζεστε συσκευή στο οικιακό LAN, η φθηνότερη σωστή απάντηση είναι endpoint στο σπίτι· ένα cloud κουτί δουλεύει μόνο αφού χτίσετε τη ζεύξη επιστροφής. Αν χρειάζεστε διαφορετική δημόσια έξοδο, το cloud είναι η απάντηση και το ερώτημα LAN δεν προκύπτει. Το να θέλετε και τα δύο είναι νόμιμο, αλλά σημαίνει δύο endpoints, δύο σύνολα κλειδιών και δύο τεκμηριωμένες διαδρομές.
| What you need | Endpoint location | What else must exist |
|---|---|---|
| Reach a NAS or printer on the home LAN | A box on that LAN | Port forward or relay, DDNS, recovery plan |
| Browse from an exit unrelated to home | Cloud instance | Firewall and egress rules, patching |
| Both, reliably | Two endpoints, or cloud plus a link home | Separate keys, routes, documented failure modes |
Επαληθεύστε από τον πελάτη με σειρά: χειραψία, διεύθυνση peer, host LAN, μετά η IP εξόδου. curl -s https://ifconfig.me δείχνει τι βλέπει το διαδίκτυο, και ip route get 192.168.1.20 δείχνει τι πιστεύει το endpoint. Όταν ο έλεγχος εξόδου περνά και ο έλεγχος NAS κρέμεται, έχετε ήδη την απάντηση για την τοποθέτηση· η ρύθμιση AllowedIPs στον πελάτη δεν θα δημιουργήσει διαδρομή. Μια χωρισμένη γραμμή όπως 10.8.0.0/24, 192.168.1.0/24 κρατά την κίνηση LAN μέσα στη σήραγγα μόνο όταν αυτή η διαδρομή υπάρχει πραγματικά.