Βάζετε το μηχάνημα του γραφείου σε ύπνο, καλείτε το VPN από το σπίτι, και μένει σβηστό. Το τούνελ είναι ενεργό, τα κοινόχρηστα αρχεία απαντούν, και η σελίδα wake-on-LAN του δρομολογητή αναφέρει ότι έστειλε το αίτημα. Κάθε ορατό σήμα λέει ότι το δίκτυο είναι εντάξει, και γι' αυτόν ακριβώς τον λόγο η περίπτωση μπερδεύει: το πλαίσιο που θα ξυπνούσε το μηχάνημα δεν φτάνει ποτέ στο τμήμα όπου βρίσκεται.

Τα συμπτώματα δείχνουν το υποδίκτυο, όχι το τούνελ

Το ping προς τον κοιμισμένο κόμβο αποτυγχάνει, και αυτό το μέρος είναι φυσιολογικό. Ένα μηχάνημα σε αναμονή δεν έχει ενεργή στοίβα IP, άρα δεν μπορεί να απαντήσει σε ARP ή ICMP, και καμία ρύθμιση του τούνελ δεν το αλλάζει. Το χρήσιμο τεστ είναι αν ξυπνά ένα δεύτερο μηχάνημα στο ίδιο LAN, και αν η σελίδα αφύπνισης του ίδιου του δρομολογητή λειτουργεί για κόμβο συνδεδεμένο πάνω του.

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

Το magic packet είναι πλαίσιο, όχι υπηρεσία

Το ωφέλιμο φορτίο αρχίζει με σταθερή κεφαλίδα έξι byte, 0xFF, μετά η διεύθυνση υλικού της κάρτας στόχου επαναλαμβάνεται δεκαέξι φορές, μετά έρχεται προαιρετικός κωδικός SecureOn τεσσάρων byte. Οι αποστολείς το τυλίγουν συνήθως σε UDP στη θύρα 7 ή στη θύρα 9, αλλά ο αριθμός θύρας είναι σύμβαση ανάμεσα σε αποστολέα και κάρτα, όχι υπηρεσία που ακούει και στην οποία συνδέεστε. Τίποτα δεν ακούει, και τίποτα δεν απαντά.

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

Γιατί ένα δρομολογημένο τούνελ δεν μπορεί να το παραδώσει

Μια δρομολογημένη διεπαφή VPN είναι ζεύξη IP σημείου-προς-σημείο ανάμεσα σε δύο διευθύνσεις τούνελ. Υπάρχει για να μεταφέρει πακέτα που απευθύνονται στον ομότιμο, γι' αυτό το ping, το SSH και τα κοινόχρηστα αρχεία συμπεριφέρονται κανονικά μέσα από αυτήν. Ένα πλαίσιο εκπομπής δεν απευθύνεται σε εκείνον τον ομότιμο, και η περιορισμένη διεύθυνση εκπομπής δεν προωθείται ποτέ αυτόματα από δρομολογητή.

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

Τρεις τοποθετήσεις που φτάνουν πραγματικά στην κάρτα

Κάθε εφαρμόσιμη διάταξη βάζει το πλαίσιο στο τμήμα του στόχου, και διαφέρουν στο πόσο ενοχλούν το δίκτυο:

  1. Βάλτε μια συσκευή που είναι πάντα ανοιχτή στο τμήμα-στόχο. Ένας δρομολογητής, ένα NAS ή ένα μικρό κουτί Linux που μένει τροφοδοτημένο μπορεί να εκπέμψει το πλαίσιο τοπικά μόλις το προσεγγίσετε μέσα από το τούνελ, και τίποτα στο VPN δεν αλλάζει.
  2. Αφήστε τον δρομολογητή να εκπέμψει το πλαίσιο μόνος του. Πολλά firmware προσφέρουν σελίδα αφύπνισης που στέλνει από τη γέφυρα LAN, και αυτό δουλεύει όσο ο στόχος κάθεται σε εκείνη τη γέφυρα και όχι πίσω από δεύτερο δρομολογητή.
  3. Γεφυρώστε τις τοποθεσίες με τούνελ τύπου TAP όταν οι εκπομπές πρέπει πραγματικά να περάσουν. Αυτό ενώνει δύο τομείς εκπομπής, φέρνοντας καταιγίδες εκπομπής, ένα ενιαίο σχέδιο διευθύνσεων και κάθε πρωτόκολλο ανακάλυψης που βλέπει και τις δύο τοποθεσίες μαζί.

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

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

Επαληθεύστε την αποστολή πριν κατηγορήσετε τον πελάτη

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

ethtool enp3s0 | grep -A1 'Wake-on'
ip neigh show 192.168.1.50
tcpdump -ni br0 -e 'ether broadcast and udp dst port 9'
etherwake -i br0 3c:7c:3f:00:11:22

Τρέξτε την καταγραφή στον βοηθό όσο γίνεται η αποστολή, και διαβάστε την αντί να υποθέσετε επιτυχία. Ένα πλαίσιο που φεύγει από τη σωστή γέφυρα με τη διεύθυνση MAC εκπομπής είναι η μόνη απόδειξη ότι η αποστολή δούλεψε· αν η καταγραφή είναι κενή, ο αποστολέας διάλεξε άλλη διεπαφή και το υπόλοιπο τεστ δεν σημαίνει τίποτα. Ένας αποστολέας που χτίζει ακατέργαστο πλαίσιο αντί για datagram UDP δεν ταιριάζει σε αυτό το φίλτρο, γι' αυτό ελέγξτε ποια μορφή χρησιμοποιεί το εργαλείο σας πριν συμπεράνετε ότι δεν στάλθηκε τίποτα.

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

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

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