WireGuard DNS στο iPhone: ο τομέας είναι μόνο κατάληξη αναζήτησης
Η προσθήκη τομέα στη γραμμή DNS μοιάζει με διαχωρισμένο DNS. Στους πελάτες Apple συμπληρώνει μόνο σύντομα ονόματα, και κάθε ερώτημα πηγαίνει ακόμα στον resolver της σήραγγας.
Γράφετε μία γραμμή με διεύθυνση resolver και τομέα εταιρείας, περιμένοντας μόνο τα ονόματα σε αυτόν τον τομέα να χρησιμοποιούν τον resolver της σήραγγας. Στον πελάτη Apple, όλα τα ονόματα πηγαίνουν τώρα εκεί, και τα σύντομα ονόματα στον τομέα επιλύονται επίσης. Η γραμμή κάνει δύο ξεχωριστά πράγματα, και μόνο ένα από αυτά αφορά το ποια ερωτήματα χειρίζεται η σήραγγα. Το άλλο είναι μια ευκολία πληκτρολόγησης που αναβαθμίστηκε σε πολιτική με ευσεβή ανάγνωση.
Σε τι αναλύεται η γραμμή DNS
Ο πελάτης διαβάζει την καταχώριση ως λίστα και ταξινομεί κάθε στοιχείο με βάση τη μορφή του. Ό,τι μοιάζει με διεύθυνση γίνεται διακομιστής DNS· ό,τι μοιάζει με τομέα γίνεται κατάληξη αναζήτησης. Και τα δύο καταλήγουν στις ρυθμίσεις της σήραγγας, αλλά σε διαφορετικά πεδία. Μια ενδεικτική γραμμή για σήραγγα που μεταφέρει ιδιωτικό resolver και έναν εσωτερικό τομέα έχει ως εξής.
DNS = 10.24.8.53, lab.internal.exampleΗ διεύθυνση παρέχει τον resolver. Ο τομέας παρέχει μια κατάληξη που επιτρέπει στον πελάτη να πληκτρολογήσει ένα σύντομο όνομα και στο σύστημα να προσθέσει το υπόλοιπο πριν ρωτήσει. Κανένα από τα δύο δεν λέει τίποτα για περιορισμό του resolver σε αυτόν τον τομέα, και αυτό είναι ακριβώς το μέρος που οι άνθρωποι περιμένουν και δεν παίρνουν. Μόνο ένα πεδίο στην πλατφόρμα μπορεί να εκφράσει αυτόν τον περιορισμό, και δεν είναι αυτό.
Δύο πεδία της Apple, δύο διαφορετικές δουλειές
Η Apple εκθέτει τη διάκριση στο αντικείμενο ρυθμίσεων DNS. Η λίστα τομέων αναζήτησης τεκμηριώνεται ως η λίστα που χρησιμοποιείται για την προσδιοριστικοποίηση ονομάτων κεντρικών υπολογιστών μίας ετικέτας: πληκτρολογήστε ένα γυμνό όνομα κεντρικού υπολογιστή και το σύστημα μπορεί να προσθέσει κάθε κατάληξη με τη σειρά. Αυτός είναι κανόνας συμπλήρωσης, όχι κανόνας δρομολόγησης. Τίποτα σε αυτή τη λίστα δεν καθορίζει ποιος διακομιστής ερωτάται.
Η λίστα τομέων αντιστοίχισης είναι διαφορετική ιδιότητα. Καθορίζει ποιοι χώροι ονομάτων χρησιμοποιούν αυτό το σύνολο ρυθμίσεων DNS, και μια κενή καταχώριση σημαίνει τον προεπιλεγμένο τομέα και όχι μια συγκεκριμένη κατάληξη. γεννήτρια ρυθμίσεων σήραγγας πακέτων στον πελάτη Apple ακολουθεί αυτό το μοντέλο. Βάζει τις αναλυμένες καταλήξεις αναζήτησης στη λίστα αναζήτησης, και όταν υπάρχουν διακομιστές ορίζει τη λίστα αντιστοίχισης στην κενή συμβολοσειρά. Το αποτέλεσμα είναι ένας resolver σήραγγας που απαντά σε ό,τι του στέλνει το σύστημα, συν μια κατάληξη που βοηθά με τα σύντομα ονόματα.
Άρα ένας τομέας σε αυτή τη γραμμή δεν είναι επιλογέας χώρου ονομάτων. Η προσθήκη άλλου δεν περιορίζει ποια ερωτήματα χρησιμοποιεί η σήραγγα, και η αφαίρεσή του επίσης δεν τα διευρύνει. Το μόνο που αλλάζει είναι πόσα σύντομα ονόματα συμπληρώνονται.
Γιατί κάθε όνομα φτάνει ακόμα στον resolver της σήραγγας
Με την κενή καταχώριση αντιστοίχισης, η σήραγγα είναι υποψήφιος resolver για συνηθισμένα ονόματα, όχι μόνο για τον τομέα της εταιρείας. Σε διαμόρφωση πλήρους σήραγγας αυτό συνήθως έχει μικρή σημασία, γιατί όλη η κίνηση είναι ούτως ή άλλως στη σήραγγα. Σε διαχωρισμένη σήραγγα έχει μεγάλη σημασία. Τα δημόσια ονόματα μπορούν τώρα να επιλυθούν από έναν resolver που κρατά μόνο μια ιδιωτική ζώνη, και μια αποτυχία μοιάζει με χαλασμένο VPN όταν στην πραγματικότητα είναι ένας resolver που απαντά μόνο σε ένα μέρος του χώρου ονομάτων. Η σήραγγα είναι εντάξει, τα ερωτήματα φεύγουν, και οι απαντήσεις επιστρέφουν κενές.
Υπάρχουν δύο διορθώσεις και είναι διαφορετικές αποφάσεις. Κάντε τον resolver της σήραγγας πλήρη resolver που προωθεί τα δημόσια ονόματα μέσω της εγκεκριμένης διαδρομής, ή σταματήστε να στέλνετε δημόσια ονόματα εκεί αλλάζοντας τη διαμόρφωση του πελάτη και όχι τη λίστα τομέων. Η πρώτη κρατά κάθε ερώτημα στη σήραγγα και εμπιστεύεται το ανάντη. Η δεύτερη κρατά μερικά ερωτήματα τοπικά και δέχεται ότι τα ιδιωτικά ονόματα μπορεί να σταματήσουν να επιλύονται όσο η σήραγγα είναι κλειστή.
Τι θα απαιτούσε στην πραγματικότητα το διαχωρισμένο DNS
Μια πολιτική resolver περιορισμένη σε χώρο ονομάτων απαιτεί πελάτη που σας επιτρέπει να την εκφράσετε: αντιστοιχίστε τομείς στις πλατφόρμες Apple, ή μια ισοδύναμη ρύθμιση στο προϊόν που χρησιμοποιείτε. Ένα πεδίο διαμόρφωσης που δέχεται μόνο διακομιστές και καταλήξεις δεν μπορεί να την εκφράσει, όσο καλά κι αν είναι στιγματοποιημένο. Ένα προφίλ μπορεί να φέρει την πολιτική γιατί περιγράφει μια διαχειριζόμενη διαμόρφωση και όχι μια υπόδειξη τη στιγμή σύνδεσης. Μπορεί να ονομάσει τον τομέα, τους διακομιστές και τι πρέπει να συμβεί όταν αυτός ο τομέας δεν είναι προσβάσιμος. Αυτή είναι η διαφορά μεταξύ ρύθμισης και σύμβασης.
Σε διαχειριζόμενες συσκευές Apple αυτό συνήθως παραδίδεται μέσω προφίλ διαμόρφωσης που φέρει τις ρυθμίσεις DNS για συγκεκριμένο τομέα. Είναι διαφορετικός μηχανισμός από το αρχείο διαμόρφωσης WireGuard, και τα δύο μπορούν να συνυπάρχουν μόνο αν ο πελάτης σέβεται το προφίλ. Ελέγξτε πώς ονομάζει πραγματικά ο πελάτης σας το πεδίο πριν υποθέσετε ότι τα δύο προϊόντα συμπεριφέρονται το ίδιο. Ένα script με wg-quick σε Mac και η εφαρμογή WireGuard σε iPhone διαβάζουν παρόμοιες γραμμές και τις εγκαθιστούν μέσα από διαφορετικά επίπεδα.
Διαβάστε τις εγκατεστημένες ρυθμίσεις, όχι τη διαμόρφωση
Σε Mac μπορείτε να επιθεωρήσετε με τι κατέληξε το σύστημα, κάτι πιο κατατοπιστικό από το να ξαναδιαβάσετε το αρχείο που γράψατε. Η λίστα resolver δείχνει ποιοι διακομιστές έχουν διαμορφωθεί για ποιους τομείς, και τα ερωτήματα σκοπού δείχνουν ποιος κέρδισε. Ένας πελάτης που καταστρέφει τη γραμμή το δείχνει εδώ και όχι στο αρχείο που γράψατε. Στο iOS δεν υπάρχει ισοδύναμη γραμμή εντολών, οπότε η απόδειξη εκεί είναι ένα αποτέλεσμα: ένα ιδιωτικό όνομα που επιλύεται μέσω της σήραγγας, και ένα δημόσιο όνομα του οποίου η απάντηση αποκαλύπτει ποιος resolver απάντησε.
scutil --dns | grep -A3 resolver
networksetup -getdnsservers Wi-FiΑυτές οι δύο εντολές εκτυπώνουν την τρέχουσα διαμόρφωση resolver και τους διακομιστές DNS για την ενεργή υπηρεσία. Αν ο resolver της σήραγγας εμφανίζεται ως προεπιλεγμένος resolver χωρίς περιορισμό τομέα, η διαμόρφωση κάνει ακριβώς αυτό που ζήτησε ο πελάτης. Διορθώστε το αλλάζοντας τον μηχανισμό, όχι προσθέτοντας δεύτερη κατάληξη και ελπίζοντας να αλλάξει η συμπεριφορά.