שרתי DNS מגיעים במספר סוגים כגון מאסטר, עבד, העברה ומטמון, לתת כמה דוגמאות, עם DNS מטמון בלבד היא הקלה ביותר להגדרה. מאחר ו-DNS משתמש בפרוטוקול UDP, זה משפר את זמן השאילתה מאחר ואינו דורש אישור.

שרת DNS מטמון בלבד ידוע גם כמפענח, אשר יבצע שאילתות לרשומות DNS וישיג את כל הפרטים של DNS משרתים אחרים, וישמור כל בקשת שאילתה במטמון שלו לשימוש מאוחר יותר כך שכאשר נבצע את אותה בקשה בעתיד, זה ישרת מהמטמון שלו, ובכך מופחת זמן התגובה עוד יותר.
אם אתה מעוניין להגדיר שרת DNS מטמון בלבד ב־CentOS/RHEL 6, עקוב אחר המדריך הזה כאן:
הגדרת שרת שמות DNS מטמון בלבד ב־CentOS/RHEL 6
סביבת הבדיקה שלי
DNS server : dns.tecmintlocal.com (Red Hat Enterprise Linux 7.1) Server IP Address : 192.168.0.18 Client : node1.tecmintlocal.com (CentOS 7.1) Client IP Address : 192.168.0.29
שלב 1: התקנת שרת DNS מטמון בלבד ב־RHEL/CentOS 7
1. שרת DNS מטמון בלבד, ניתן להתקין דרך החבילה bind. אם אינך זוכר את שם החבילה, ניתן לבצע חיפוש מהיר לשם החבילה באמצעות הפקודה הבאה.
# yum search bind

2. בתוצאה לעיל, תראה מספר חבילות. מתוכן, עלינו לבחור ולהתקין רק את החבילות bind ו־bind-utils באמצעות הפקודת yum הבאה.
# yum install bind bind-utils -y

שלב 2: הגדרת DNS מטמון בלבד ב־RHEL/CentOS 7
3. לאחר שחבילות DNS מותקנות, נוכל להמשיך ולהגדיר את DNS. פתחו וערכו את /etc/named.conf
בעזרת עורך הטקסט המועדף עליכם. עשו את השינויים המוצעים להלן (או ניתן להשתמש בהגדרות שלכם כפי שנדרש).
listen-on port 53 { 127.0.0.1; any; }; allow-query { localhost; any; }; allow-query-cache { localhost; any; };

ההוראות הללו מורים לשרת DNS להאזין בפורט UDP מספר 53, ולאפשר שאילתות ותשובות מהמטמון מהמחשב המקומי וכל מחשב אחר שמגיע לשרת.
4. חשוב לשים לב שבעלות על קובץ זה חייבת להיות מוגדרת ל- root:named
וגם אם SELinux מופעל, לאחר עריכת קובץ התצורה עלינו לוודא שההקשר שלו מוגדר ל- named_conf_t
כפי שמוצג באיור 4 (אותו דבר עבור קובץ העזר /etc/named.rfc1912.zones
):
# ls -lZ /etc/named.conf # ls -lZ /etc/named.rfc1912.zones
אחרת, עלינו להגדיר את ההקשר של SELinux לפני שנמשיך:
# semanage fcontext -a -t named_conf_t /etc/named.conf # semanage fcontext -a -t named_conf_t /etc/named.rfc1912.zones
5. בנוסף, עלינו לבדוק את תקינות התצורה של DNS כעת לפני שנתחיל את שירות ה-bind:
# named-checkconf /etc/named.conf
6. לאחר שתוצאות אימות התחביר נראות מושלמות, אנו ממליצים לאתחל את שירות ה- named כדי להחיל את השינויים החדשים וגם להפעיל את השירות באופן אוטומטי במהלך ההפעלה של המערכת, ולאחר מכן לבדוק את מעמדו:
# systemctl restart named # systemctl enable named # systemctl status named

7. לאחר מכן, פתחו את הפורט 53 בגישה מהגנה.
# firewall-cmd --add-port=53/udp # firewall-cmd --add-port=53/udp --permanent

שלב 3: הפעלת שרת DNS במצב Chroot בלבד ב-RHEL וב-CentOS 7
8. אם ברצונך להפעיל את שרת ה־DNS המבוסס רק על מטמון בתוך סביבת chroot, עליך להתקין את החבילה chroot במערכת ואין צורך בתצורה נוספת מאחר שהיא מקושרת באופן ברירת מחדל ל־chroot.
# yum install bind-chroot -y
לאחר שהחבילה chroot הותקנה, ניתן לאתחל את named כדי להחיל את השינויים החדשים:
# systemctl restart named
9. לאחר מכן, צרו קישור סמלי (שם גם /etc/named.conf
) בתוך /var/named/chroot/etc/
:
# ln -s /etc/named.conf /var/named/chroot/etc/named.conf
שלב 4: הגדרת DNS במכונת הלקוח
10. הוסף את שרתי ה־DNS Cache IP 192.168.0.18 כמפענח למכונת הלקוח. ערוך את /etc/sysconfig/network-scripts/ifcfg-enp0s3
כפי שמוצג באיור הבא:
DNS=192.168.0.18

וגם את /etc/resolv.conf כך:
nameserver 192.168.0.18
11. סופית, הגיע הזמן לבדוק את שרת המטמון שלנו. כדי לעשות זאת, ניתן להשתמש בכלי ה־dig או בפקודת nslookup.
בחרו אתר כלשהו ושאלו אותו פעמיים (נשתמש ב־facebook.com כדוגמה). שימו לב שעם dig בפעם השנייה השאילתה מושלמת הרבה יותר מהר מאחר שהיא מוגשת מהמטמון.
# dig facebook.com

ניתן גם להשתמש ב־nslookup כדי לוודא שהשרת DNS פועל כצפוי.
# nslookup facebook.com

סיכום
במאמר זה הסברנו כיצד להגדיר שרת DNS Cache-only בסביבת Red Hat Enterprise Linux 7 ו- CentOS 7 וכיצד לבדוק אותו במחשב לקוח. אתם מוזמנים לשתף אותנו בשאלות או הצעות שלכם באמצעות הטופס למטה.
Source:
https://www.tecmint.com/install-configure-cache-only-dns-server-in-rhel-centos-7/