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

Δύο κανόνες με διαφορετικούς κύκλους ζωής

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

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

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

Γιατί η ενεργοποίηση δεν θα δημοσιεύσει διακομιστή

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

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

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

Τι αντιστοιχίζει πραγματικά μια προώθηση

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

RuleOpens whenCloses whenFits a VPN listener
Port forwardSaved, at bootYou delete itYes
Port triggerMatching outbound trafficIdle timeout or rebootNo

Το πρωτόκολλο μετράει περισσότερο απ’ όσο υποδηλώνει η φόρμα. OpenVPN πάνω από UDP χρειάζεται προώθηση UDP, το WireGuard χρειάζεται UDP, και τα δεδομένα IPsec φτάνουν ως ESP, πρωτόκολλο IP 50, που δεν έχει καθόλου θύρες. Μια φόρμα προώθησης που δέχεται μόνο TCP ή UDP δεν μπορεί να το εκφράσει, άρα το IPsec χρειάζεται passthrough ή στατική αντιστοίχιση ένα προς ένα αντί για κανόνα θύρας.

Το επίπεδο πάνω από τον δρομολογητή σας

Μια προώθηση ελέγχει μόνο τη μετάφραση που σας ανήκει. Αν η διεύθυνση WAN δεν είναι δική σας, όπως συμβαίνει πίσω από NAT παρόχου όπου οι συνδρομητές μοιράζονται το 100.64.0.0/10 όπως περιγράφεται στο RFC 6598, η εισερχόμενη σύνδεση δεν φτάνει ποτέ στον δρομολογητή σας, γιατί ο πάροχος μετέφρασε πρώτος. Κανένας κανόνας στη συσκευή σας δεν μπορεί να διορθώσει αυτή τη σειρά.

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

Γι’ αυτό η δοκιμή πρέπει να έρθει από έξω. Μια δοκιμή από το ίδιο LAN μέσω της δημόσιας διεύθυνσης εξαρτάται από υποστήριξη hairpin NAT και μπορεί να περάσει ή να αποτύχει για λόγους άσχετους με τον κανόνα· ένα τηλέφωνο σε κινητά δεδομένα, ή ένας φίλος σε άλλο δίκτυο, είναι ο καθαρότερος έλεγχος.

Περιορίστε τον κανόνα και επαληθεύστε και τα δύο μισά

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

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

Η επαλήθευση έχει δύο μισά. Η χειραψία πρέπει να ολοκληρωθεί από εξωτερικό δίκτυο, και μετά ένας ιδιωτικός πόρος πίσω από τον διακομιστή πρέπει να απαντήσει μέσα από τη σήραγγα. Η προώθηση επιτρέπει τη σύνδεση της σήραγγας και τίποτα παραπάνω· η δρομολόγηση και η εξουσιοδότηση για το 10.8.0.0/24 είναι άλλη ρύθμιση σε άλλη οθόνη.

Αποφασίστε με τρεις ερωτήσεις

Τρεις ερωτήσεις λύνουν την επιλογή γρηγορότερα από κάθε πίνακα σύγκρισης:

  • Συνδέεται κάτι από έξω ως πρώτο πακέτο; Τότε χρησιμοποιήστε προώθηση, ή ένα relay. Η ενεργοποίηση δεν μπορεί να ανοίξει χωρίς εξερχόμενη κίνηση που δεν θα υπάρξει ποτέ.
  • Πρέπει η τρύπα να ζήσει περισσότερο από τον χρόνο αδράνειας; Τότε χρησιμοποιήστε προώθηση, γιατί μια ενεργοποιημένη αντιστοίχιση κλείνει με το δικό της πρόγραμμα.
  • Είναι η διεύθυνση WAN δική σας για να τη δημοσιεύσετε; Αν όχι, διορθώστε το επίπεδο από πάνω πριν επεξεργαστείτε οποιονδήποτε κανόνα.

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

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