Πώς να δρομολογήσετε έναν ιστότοπο εκτός της σήραγγας WireGuard σας
Μία διαδρομή /32 μέσω της πύλης LAN κρατά έναν ιστότοπο στην κανονική σας σύνδεση, με την προϋπόθεση ότι το τείχος προστασίας το επιτρέπει και το DNS συμφωνεί για τη διεύθυνση.
Το να εξαιρέσετε ένα όνομα κεντρικού υπολογιστή είναι κάτι που μια σήραγγα δεν μπορεί να κάνει. Μια διαδρομή όμως μπορεί να στείλει μία μόνο διεύθυνση έξω από τη σήραγγα και διαμέσου της οικιακής πύλης, και αυτό συνήθως αρκεί για έναν ιστότοπο. Η παγίδα είναι ότι όλα όσα βρίσκονται μετά τη διαδρομή πρέπει να συμφωνούν: το τείχος προστασίας πρέπει να αφήνει το πακέτο να βγει, το DNS πρέπει να επιστρέφει τη διεύθυνση που δρομολογήσατε και ο ιστότοπος πρέπει να συνεχίσει να χρησιμοποιεί αυτή τη διεύθυνση. Όταν οποιοδήποτε από τα τρία μετατοπιστεί, η εξαίρεση παύει να λειτουργεί χωρίς να το αναγγείλει.
Διαβάστε τη διεύθυνση προορισμού πριν αγγίξετε τη σήραγγα
Φορτώστε τον ιστότοπο μία φορά με τη σήραγγα ενεργή και μετά κοιτάξτε τη διεύθυνση ομοτίμου με την οποία συνδέθηκε πραγματικά το πρόγραμμα περιήγησης. Στο Linux, ss -tunp εμφανίζει την απομακρυσμένη διεύθυνση για κάθε ανοιχτό socket, και dig +short στο ίδιο όνομα δείχνει τι επέστρεψε ο resolver. Κρατήστε και τους δύο αριθμούς μπροστά σας.
Οι δύο απαντήσεις συχνά διαφωνούν, και αυτή η διαφωνία είναι όλο το πρόβλημα. Οι μεγάλοι ιστότοποι βάζουν ένα δίκτυο περιεχομένου μπροστά από την προέλευσή τους, οπότε η διεύθυνση που επιστρέφει τώρα ο resolver σας μπορεί να μην είναι αυτή που χρησιμοποίησε το πρόγραμμα περιήγησης πριν από ένα λεπτό. Δρομολογήστε αυτό που παρατηρήσατε στο socket, όχι αυτό που απαριθμεί ένας παλιότερος οδηγός. Αν οι απαντήσεις συνεχίζουν να εναλλάσσονται μεταξύ περιοχών, η εξαίρεση διεύθυνσης είναι το λάθος εργαλείο για τον συγκεκριμένο ιστότοπο.
Εκτελέστε την αναζήτηση δεύτερη φορά από άλλο δίκτυο και καταγράψτε την απάντηση IPv6 μαζί με την IPv4. Μια σήραγγα που μεταφέρει και τις δύο οικογένειες χρειάζεται εξαίρεση και στις δύο, αλλιώς το πρόγραμμα περιήγησης πέφτει ήσυχα πίσω στη διαδρομή IPv6 που δεν αγγίξατε ποτέ. Γράψτε τις διευθύνσεις και την ημερομηνία κάπου που θα ξανακοιτάξετε.
Βάλτε μία διαδρομή κεντρικού υπολογιστή στον πελάτη
Ας υποθέσουμε ότι η διεπαφή ονομάζεται home-wg και ο δρομολογητής LAN βρίσκεται στη 192.168.1.1. Το NetworkManager παίρνει μια διαδρομή της οποίας η πύλη είναι αυτός ο δρομολογητής και της οποίας το μήκος προθέματος καλύπτει και τα 32 bit, και ο πυρήνας την προτιμά επειδή κερδίζει το μακρύτερο πρόθεμα.
nmcli connection modify home-wg +ipv4.routes "198.51.100.20/32 192.168.1.1"
nmcli connection up home-wg
ip route get 198.51.100.20
Η πύλη πρέπει να είναι προσβάσιμη χωρίς τη σήραγγα· το να δείξετε το επόμενο άλμα στη διεύθυνση της σήραγγας ακυρώνει τον σκοπό, γιατί το πακέτο θα ξανάμπαινε στη διεπαφή που προσπαθείτε να αποφύγετε. Αφού η σύνδεση επανέλθει, ip route get για την εξαίρεση θα πρέπει να εκτυπώνει την πύλη LAN, και η ίδια εντολή για έναν δημόσιο resolver θα πρέπει ακόμη να εκτυπώνει τη συσκευή της σήραγγας.
Ένα προφίλ wg-quick δεν έχει πεδίο διαδρομών, οπότε η ίδια εξαίρεση ζει σε μια γραμμή PostUp που προσθέτει τη διαδρομή κεντρικού υπολογιστή στον κύριο πίνακα με τη διεπαφή LAN ως συσκευή της. Κατεβάστε και ανεβάστε τη διεπαφή μετά την επεξεργασία, γιατί μια διεπαφή που τρέχει δεν ξαναδιαβάζει ποτέ το αρχείο της. Οι κανόνες fwmark που εγκαθιστά το wg-quick κατευθύνουν μόνο τα δικά του ενθυλακωμένα πακέτα, οπότε η συνηθισμένη κίνηση του προγράμματος περιήγησης εξακολουθεί να ακολουθεί τον κύριο πίνακα και να βρίσκει το /32 σας.
Ο διακόπτης διακοπής είναι το επόμενο πράγμα που το μπλοκάρει
Μια πολιτική τείχους προστασίας που επιτρέπει κίνηση μόνο στη διεπαφή της σήραγγας θα απορρίψει την εξαίρεση ακόμη και όταν η διαδρομή είναι ακριβώς σωστή. Διαβάστε τους κανόνες πίσω από τον διακόπτη αντί να εμπιστεύεστε τον διακόπτη, γιατί αυτοί που υλοποιούν έναν διακόπτη διακοπής συνήθως περιορίζονται σε ένα όνομα διεπαφής.
Αυτό που θέλετε είναι μια στενή άδεια για τη φυσική διεπαφή και εκείνον τον έναν προορισμό, τοποθετημένη πριν από την απόρριψη, ενώ η προεπιλεγμένη πολιτική μένει άθικτη. Η πλήρης παύση του διακόπτη διακοπής αποδεικνύει το σημείο, αλλά αφήνει και το μηχάνημα εκτεθειμένο όσο καιρό ξεχάσετε να τον ξαναενεργοποιήσετε.
Δοκιμάστε τις δύο κατευθύνσεις χωριστά. Ένα αίτημα στη διεύθυνση εξαίρεσης θα πρέπει να πετυχαίνει, ενώ ένα αίτημα σε άσχετο ιστότοπο εξακολουθεί να βγαίνει μέσα από τη σήραγγα. Αν πετύχουν και τα δύο αλλά το δεύτερο αναφέρει τη διεύθυνση του σπιτιού, η σειρά των κανόνων τείχους προστασίας είναι λάθος και όχι η διαδρομή.
Το DNS αποφασίζει σε ποια διεύθυνση καλεί το πρόγραμμα περιήγησης
Όταν το όνομα επιλύεται μέσα στη σήραγγα, ο resolver του παρόχου μπορεί να απαντήσει με διαφορετική διεύθυνση από ό,τι ο τοπικός. Η διαδρομή σας εφαρμόζεται τότε σε μια διεύθυνση που το πρόγραμμα περιήγησης δεν επικοινωνεί ποτέ, και η σελίδα φορτώνει μέσα από τη σήραγγα σαν να μην άλλαξε τίποτα. Αυτή η αποτυχία μοιάζει με χαλασμένη εξαίρεση ακόμη και όταν ο πίνακας δρομολόγησης είναι σωστός.
Στείλτε και τα ερωτήματα αυτού του ονόματος μέσα από τον τοπικό resolver, ή παραλείψτε τα ονόματα εντελώς και δοκιμάστε τη διεύθυνση απευθείας. Το να χωρίζετε τη διεύθυνση αφήνοντας το DNS μέσα στη σήραγγα είναι η πιο συνηθισμένη μισοτελειωμένη εκδοχή αυτής της ρύθμισης, και είναι επίσης η πιο δύσκολη να την προσέξετε, γιατί ο ιστότοπος συνεχίζει να δουλεύει, απλώς όχι όπως θέλατε.
Η ίδια εξαίρεση στον δρομολογητή, μία φορά, για κάθε συσκευή
Με τη σήραγγα να τρέχει στον δρομολογητή, η διαδρομή κεντρικού υπολογιστή ανήκει στον πίνακα δρομολόγησης πολιτικής του δρομολογητή και δείχνει στην πύλη WAN αντί για την πύλη LAN. Κάθε συσκευή από πίσω κληρονομεί την εξαίρεση, κάτι που έχει σημασία για ένα κουτί ροής ή ένα φορητό υπολογιστή εργασίας του οποίου τις ρυθμίσεις δικτύου δεν μπορείτε να αλλάξετε.
Αφήστε τη σήραγγα ως προεπιλεγμένη έξοδο για κάθε άλλον πελάτη, και μετά επαληθεύστε από μηχάνημα πελάτη και όχι από την κονσόλα του δρομολογητή. Φορτώστε τον ιστότοπο της εξαίρεσης και έναν δεύτερο ιστότοπο στην ίδια συνεδρία του προγράμματος περιήγησης και συγκρίνετε τις διευθύνσεις εξόδου· αν ο δεύτερος δείχνει ακόμη τη σήραγγα, ο πίνακας πολιτικής κάνει αυτό που ζητήσατε.
Γράψτε τη διεύθυνση, την ημερομηνία και τον λόγο στις σημειώσεις του δρομολογητή. Μια εξαίρεση χτισμένη γύρω από μια διεύθυνση που μετακινείται αργότερα γίνεται βλάβη που κανείς δεν μπορεί να εξηγήσει σε ένα χρόνο, και η διόρθωση μοιάζει πάντα με μυστήριο μέχρι κάποιος να βρει την παλιά σημείωση.