Πώς να ορίσετε μόνιμους διακομιστές ονομάτων DNS στο Ubuntu και το Debian


Το /etc/resolv.conf είναι το κύριο αρχείο διαμόρφωσης για τη βιβλιοθήκη του προγράμματος επίλυσης ονομάτων DNS. Το πρόγραμμα επίλυσης είναι ένα σύνολο συναρτήσεων στη βιβλιοθήκη C που παρέχουν πρόσβαση στο Σύστημα ονομάτων τομέα Διαδικτύου (DNS). Οι λειτουργίες έχουν διαμορφωθεί για να ελέγχουν τις καταχωρίσεις στο αρχείο /etc/hosts ή σε πολλούς διακομιστές ονομάτων DNS ή να χρησιμοποιούν τη βάση δεδομένων του κεντρικού υπολογιστή της Υπηρεσία πληροφοριών δικτύου (NIS ).

Σε σύγχρονα συστήματα Linux που χρησιμοποιούν systemd (διαχείριση συστήματος και υπηρεσιών), οι υπηρεσίες DNS ή ανάλυσης ονόματος παρέχονται σε τοπικές εφαρμογές μέσω του υπηρεσία με επίλυση συστήματος. Από προεπιλογή, αυτή η υπηρεσία έχει τέσσερις διαφορετικές λειτουργίες για το χειρισμό της ανάλυσης ονόματος τομέα και χρησιμοποιεί το αρχείο stub του συστήματος DNS (/run/systemd/resolve/stub-resolv.conf) στον προεπιλεγμένο τρόπο λειτουργίας.

Το αρχείο stub DNS περιέχει τον τοπικό stub 127.0.0.53 ως τον μοναδικό διακομιστή DNS και ανακατευθύνεται στο αρχείο /etc/resolv.conf που χρησιμοποιήθηκε για την προσθήκη του διακομιστές ονομάτων που χρησιμοποιούνται από το σύστημα.

Εάν εκτελέσετε την ακόλουθη εντολή ls στο /etc/resolv.conf, θα δείτε ότι αυτό το αρχείο είναι ένας συμβολικός σύνδεσμος στο /run/systemd/resolve/stub-resolv.conf< αρχείο.

ls -l /etc/resolv.conf

lrwxrwxrwx 1 root root 39 Feb 15  2019 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

Δυστυχώς, επειδή η διαχείριση του /etc/resolv.conf γίνεται έμμεσα από την υπηρεσία systemd-resolved και σε ορισμένες περιπτώσεις από την υπηρεσία δικτύου (με χρήση initscripts< ή Διαχειριστής δικτύου), τυχόν αλλαγές που γίνονται με μη αυτόματο τρόπο από έναν χρήστη δεν μπορούν να αποθηκευτούν μόνιμα ή διαρκούν μόνο για λίγο.

Σε αυτό το άρθρο, θα δείξουμε πώς να εγκαταστήσετε και να χρησιμοποιήσετε το πρόγραμμα resolvconf για να ορίσετε μόνιμους διακομιστές ονομάτων DNS στο αρχείο /etc/resolv.conf στο Debian ισχυρές> και Ubuntu διανομές Linux.

Γιατί θέλετε να επεξεργαστείτε το αρχείο /etc/resolv.conf;

Ο κύριος λόγος μπορεί να είναι επειδή οι ρυθμίσεις DNS του συστήματος δεν έχουν διαμορφωθεί σωστά ή προτιμάτε να χρησιμοποιείτε συγκεκριμένους διακομιστές ονομάτων ή τους δικούς σας. Η ακόλουθη εντολή cat εμφανίζει τον προεπιλεγμένο διακομιστή ονομάτων στο αρχείο /etc/resolv.conf στο σύστημα Ubuntu μου.

cat /etc/resolv.conf

Σε αυτήν την περίπτωση, όταν τοπικές εφαρμογές όπως ο διαχειριστής πακέτων APT προσπαθούν να αποκτήσουν πρόσβαση σε FQDN (Πλήρως πιστοποιημένα ονόματα τομέα) στο τοπικό δίκτυο, το αποτέλεσμα είναι " Προσωρινή αποτυχία στην ανάλυση ονόματος” σφάλμα όπως φαίνεται στο επόμενο στιγμιότυπο οθόνης.

Το ίδιο συμβαίνει όταν εκτελείτε μια εντολή ping.

ping google.com

Έτσι, όταν ένας χρήστης προσπαθεί να ορίσει χειροκίνητα τους διακομιστές ονομάτων, οι αλλαγές δεν διαρκούν για πολύ ή ανακαλούνται μετά από μια επανεκκίνηση. Για να επιλύσετε αυτό το πρόβλημα, μπορείτε να εγκαταστήσετε και να χρησιμοποιήσετε το βοηθητικό πρόγραμμα reolvconf για να κάνετε τις αλλαγές μόνιμες.

Για να εγκαταστήσετε το πακέτο resolvconf όπως φαίνεται στην επόμενη ενότητα, πρέπει πρώτα να ορίσετε μη αυτόματα τους ακόλουθους διακομιστές ονομάτων στο αρχείο /etc/resolv.conf, ώστε να έχετε πρόσβαση τα FQDM των διακομιστών αποθετηρίου Ubuntu στο διαδίκτυο.

nameserver 8.8.4.4
nameserver 8.8.8.8

Διαβάστε επίσης: Πώς να ρυθμίσετε το τοπικό DNS χρησιμοποιώντας το αρχείο /etc/hosts στο Linux

Εγκατάσταση του resolvconf σε Ubuntu και Debian

Πρώτα, ενημερώστε τα πακέτα λογισμικού συστήματος και, στη συνέχεια, εγκαταστήστε το resolvconf από τα επίσημα αποθετήρια εκτελώντας τις ακόλουθες εντολές.

sudo apt update
sudo apt install resolvconf

Μόλις ολοκληρωθεί η εγκατάσταση του resolvconf, το systemd θα ενεργοποιήσει την αυτόματη εκκίνηση και ενεργοποίηση του resolvconf.service. Για να ελέγξετε εάν είναι σε λειτουργία και εκτελείται, εκδίδει την ακόλουθη εντολή.

sudo systemctl status resolvconf.service

Εάν η υπηρεσία δεν ξεκινήσει και δεν ενεργοποιηθεί αυτόματα για οποιονδήποτε λόγο, μπορείτε να την ξεκινήσετε και να την ενεργοποιήσετε ως εξής.

sudo systemctl start resolvconf.service
sudo systemctl enable resolvconf.service
sudo systemctl status resolvconf.service

Ορίστε μόνιμους διακομιστές ονομάτων DNS στο Ubuntu και στο Debian

Στη συνέχεια, ανοίξτε το αρχείο διαμόρφωσης /etc/resolvconf/resolv.conf.d/head.

sudo nano /etc/resolvconf/resolv.conf.d/head

και προσθέστε τις ακόλουθες γραμμές σε αυτό:

nameserver 8.8.8.8 
nameserver 8.8.4.4

Αποθηκεύστε τις αλλαγές και επανεκκινήστε το resolvconf.service και το systemd-resolved ή επανεκκινήστε το σύστημα.

sudo systemctl restart resolvconf.service
sudo systemctl restart systemd-resolved.service

Τώρα, όταν ελέγχετε το αρχείο /etc/resolv.conf, οι καταχωρήσεις διακομιστή ονομάτων θα πρέπει να αποθηκεύονται μόνιμα εκεί. Στο εξής, δεν θα αντιμετωπίζετε προβλήματα σχετικά με την επίλυση ονομάτων στο σύστημά σας.

Ελπίζω αυτό το γρήγορο άρθρο να σας βοήθησε στη ρύθμιση των μόνιμων διακομιστών ονομάτων DNS στα συστήματά σας Ubuntu και Debian. Εάν έχετε απορίες ή προτάσεις, μοιραστείτε τις μαζί μας στην παρακάτω ενότητα σχολίων.