Σειρά εγγραφών στο resolvconf του Debian: βάλτε την εγγραφή VPN πρώτη
Ο name server του VPN πέφτει συνεχώς κάτω από αυτόν του LAN επειδή το resolvconf ταξινομεί ονόματα εγγραφών. Επεξεργαστείτε το interface-order, αναδημιουργήστε και επαληθεύστε δύο αναζητήσεις.
Ο name server του VPN καταλήγει συνεχώς κάτω από αυτόν του LAN, και η επεξεργασία του /etc/resolv.conf το διορθώνει για λίγα λεπτά. Το αρχείο αυτό παράγεται, οπότε η διόρθωση δεν διαρκεί ποτέ. Στο resolvconf του Debian η είσοδος ταξινόμησης είναι το /etc/resolvconf/interface-order, και ταξινομεί ονόματα εγγραφών και όχι διευθύνσεις DNS. Επιβεβαιώστε ποια στοίβα resolver έχει πραγματικά τον έλεγχο πριν αγγίξετε οποιοδήποτε από τα δύο αρχεία.
Επιβεβαιώστε ότι το resolvconf κατέχει την έξοδο
Ξεκινήστε ρωτώντας τι έγραψε το τρέχον αρχείο και τι θα το ξαναγράψει. Το πακέτο resolvconf περιγράφει τον εαυτό του ως πλαίσιο για δυναμική διαμόρφωση resolver, και ένας host που τρέχει systemd-resolved ή resolver διαχειριζόμενο από το NetworkManager μπορεί να μοιάζει εξωτερικά ίδιος ενώ χρησιμοποιεί εντελώς διαφορετική πολιτική.
readlink -f /etc/resolv.conf
dpkg -l resolvconf 2>/dev/null | tail -n 1
Αν η διαδρομή που επιλύθηκε δεν οδηγεί στον κατάλογο εκτέλεσης του resolvconf, σταματήστε εδώ: αυτό το εγχειρίδιο ανήκει σε άλλη στοίβα.
Μόνο μετά από αυτόν τον έλεγχο αξίζει να απαριθμήσετε τις εγγραφές που κρατά αυτή τη στιγμή το resolvconf.
Διαβάστε τις εγγραφές πριν γράψετε μοτίβα
Το interface-order ταιριάζει με τα ονόματα των εγγραφών του προμηθευτή, όχι με διευθύνσεις και όχι με ονόματα διασυνδέσεων του πυρήνα. Απαριθμήστε τι είναι καταχωρισμένο ώστε τα μοτίβα σας να αναφέρονται σε υπαρκτές καταχωρίσεις.
ls /run/resolvconf/interfaces
cat /etc/resolvconf/interface-order
Ένα όνομα εγγραφής φέρει συνήθως κατάληξη που προσδιορίζει τον προμηθευτή του, οπότε μια εγγραφή σήραγγας και μια εγγραφή DHCP μπορούν να μοιράζονται πρόθεμα διασύνδεσης και παρόλα αυτά να ταξινομούνται διαφορετικά. Αντιγράψτε τα ακριβή ονόματα από την καταχώριση του καταλόγου. Μην συμπεράνετε όνομα από το όνομα της διασύνδεσης, γιατί η ενσωμάτωση του πελάτη αποφασίζει τι καταχωρίζει. Ένα όνομα που επινοείτε δεν θα ταιριάξει ποτέ, και η εγγραφή θα πέσει στο μοτίβο που τα πιάνει όλα χωρίς κανένα μήνυμα σφάλματος.
Γράψτε τη σειρά ως μοτίβα πρώτης αντιστοίχισης
Το αρχείο είναι λίστα μοτίβων shell glob, ένα ανά γραμμή. Μια εγγραφή παίρνει τη θέση του πρώτου μοτίβου με το οποίο ταιριάζει, οπότε ένα ευρύ μοτίβο πάνω από ένα συγκεκριμένο κάνει τη συγκεκριμένη γραμμή μη προσβάσιμη.
# /etc/resolvconf/interface-order
lo*
tun_work.*
enp*
*
Βάλτε το συγκεκριμένο μοτίβο της σήραγγας πάνω από το μοτίβο που τα πιάνει όλα και πάνω από το μοτίβο της φυσικής διασύνδεσης.
Διατηρήστε τις άλλες γραμμές που είχε ήδη το αρχείο. Η αντικατάσταση ολόκληρης της πολιτικής με ένα παράδειγμα είναι ο τρόπος με τον οποίο άσχετοι προμηθευτές μετακινούνται σιωπηλά· αλλάξτε μία γραμμή, αναδημιουργήστε και συγκρίνετε. Τα μοτίβα δεν μπορούν να περιέχουν κενά, καθέτους ή αρχική τελεία ή περισπωμένη, και οι κενές γραμμές και τα σχόλια με δίεση αγνοούνται.
Αναδημιουργήστε και επαληθεύστε το αποτέλεσμα
Η σειρά εφαρμόζεται όταν τα σενάρια ενημέρωσης ξαναχτίζουν το αρχείο. Ενεργοποιήστε την υποστηριζόμενη διαδρομή ενημέρωσης αντί να επεξεργάζεστε την παραγόμενη έξοδο, και μετά διαβάστε τι έλαβε πραγματικά ο resolver.
resolvconf -u
cat /etc/resolv.conf
Επαληθεύστε δύο αναζητήσεις, όχι μία: ένα ιδιωτικό όνομα που πρέπει να επιλυθεί μέσω της σήραγγας, και ένα δημόσιο όνομα ελέγχου. Αν το ιδιωτικό όνομα εξακολουθεί να αποτυγχάνει ενώ η σειρά φαίνεται σωστή, το πρόβλημα είναι δρομολόγηση χώρου ονομάτων και όχι προτεραιότητα εγγραφών, και καμία αναδιάταξη δεν θα το διορθώσει. Συγκρίνετε κάθε απάντηση με τον server που την επέστρεψε, όχι μόνο με την επιτυχία. Ένα ιδιωτικό όνομα που απαντήθηκε από λάθος resolver παραμένει αποτυχία, και στον χρήστη μοιάζει με διακοπή DNS.
Αποσύρετε την παρωχημένη εγγραφή αντί να την υποβιβάσετε
Μια παρωχημένη εγγραφή VPN που επανεμφανίζεται μετά την αποσύνδεση είναι σφάλμα κύκλου ζωής στην ενσωμάτωση του πελάτη. Η μετακίνησή της στο τέλος κρύβει το σύμπτωμα και αφήνει έναν νεκρό resolver στη λίστα.
Αποσύρετέ την μέσω του στοιχείου που την καταχωρίζει, και μετά επιβεβαιώστε ότι ο κατάλογος εγγραφών δεν την εμφανίζει πλέον.
Καταγράψτε το όνομα του προμηθευτή, το μοτίβο που αλλάξατε και τις δύο αναζητήσεις που εκτελέσατε. Ο επόμενος χρειάζεται αυτά τα ονόματα περισσότερο από την ιστορία.