כיצד להתקין שרת מטמון DNS מקומי בלינוקס?

בדיקות DNS אינן בדרך כלל משהו שאתה צריך לדאוג לו. לפעמים צריך!


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

איך שרת DNS במטמון יעזור לי?

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

זה אולי לא נראה חשוב מדי, אבל אם שרתי ה- DNS של ספק שירותי האינטרנט שלך מקדישים את זמנם להגיב, זה יאט את הגלישה באינטרנט בצורה ניכרת. לדוגמה, דף הבית של ערוץ החדשות האמריקאי MSNBC צריך ליצור קשר עם יותר ממאה שמות דומיינים ייחודיים כדי לטעון כראוי. אם שרתי השמות של ספק שירותי האינטרנט שלך לוקחים אפילו עשירית שנייה ארוכה מהרגיל כדי להגיב, פירוש הדבר שהדף ייקח 10 שניות יותר זמן לסיים את הטעינה.

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

בסופו של דבר, מערכת פתרונות ה- systemd תומכת בתקני DNS המאובטחים ביותר DNSSEC ו- DNSoverTLS או DoT. אלה עוזרים לשמור על בטחון ושמירה על פרטיותך באופן מקוון.

באיזה DNS מטמון מקומי נשתמש?

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

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

כיצד לבדוק אם אתה כבר משתמש בפתרון מערכת?

כמה הפצות לינוקס כבר משתמשות בפתרון מערכת כברירת מחדל, כמו אובונטו 19.04.

אם אתה כבר מפעיל את מערכת ההפעלה, אינך צריך להפעיל אותה או להגדיר את המערכת שלך לשימוש בה. עם זאת, ייתכן שתצטרך להבטיח שכלי ניהול רשת כמו NetworkManager מוגדרים כהלכה מכיוון שהם יכולים להתעלם מתצורת רשת המערכת.

לפני שתמשיך לקטע הבא, הפעל את הפקודה הבאה כדי לבדוק אם אתה כבר מפעיל את המערכת:

סטטוס resolvectl $

אם קיבלת את ההודעה:

סטטוס resolvectl $
השגת נתונים גלובליים נכשלה: היחידה dbus-org.freedesktop.resolve1.service לא נמצאה.

אתה לא פועל על ידי פתרון מערכת ועליו לעבור לסעיף הבא. אם במקום זאת אתה רואה פלט שמתחיל במשהו כמו הבא:

גלובלי
הגדרת LLMNR: כן
הגדרת MulticastDNS: כן
הגדרת DNSOverTLS: אופורטוניסטית
הגדרת DNSSEC: שדרוג לאחור
DNSSEC תמך: לא
שרת DNS נוכחי: 1.1.1.1
שרתי DNS: 1.1.1.1
1.0.0.1

אז אתה כבר מפעיל את מערכת ההפעלה ולא צריך להפעיל אותו.

הפעלה וקביעת תצורה של פתרון מערכת

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

הפעל את הפקודה הבאה מפקודת מעטפת שכן sudo אפשר למשתמש שאינו שורש להתחיל לפתור את המערכת:

$ sudo systemctl התחל systemd-resolved.service

בשלב הבא, הפעל את הפקודה הבאה כדי להפעיל את מערכת ההחלטה באתחול המערכת:

$ sudo systemctl לאפשר systemd-resolved.service

הפריט האחרון בתצורה שנותר הוא להגדיר את שרתי ה- DNS שפתרון ה- system יבקש לדומיינים שנפתרו. יש כאן אפשרויות רבות, אך אחד מהצמדים הבאים הוא בחינם, מהיר, ושניהם תומכים ב- DNSSEC ו- DoT:

ה- DNS הציבורי של גוגל

  • 8.8.8.8
  • 8.8.4.4

ה- DNS הציבורי של Cloudflare

  • 1.1.1.1
  • 1.0.0.1

פתח את קובץ התצורה העיקרי שנפתר על ידי מערכת עם עורך הטקסט המועדף עליך, הנה השתמשתי בננו:

$ sudo nano /etc/systemd/resolved.conf

ערוך את הקו מתחיל

# DNS =

כך שרשום זוג של כתובות ה- IP. כאן מוצגים שרתי DNS Cloudflare:

DNS = 1.1.1.1 1.0.0.1

שמור ועזב את עורך הטקסט. כעת עלינו להפעיל מחדש את מערכת ההחלטה כך שהיא תתחיל להשתמש בשרתים:

$ sudo systemctl הפעל מחדש את systemd-resolved.service

systemd-resolved פועל כעת ומוכן להתחיל להאיץ ולאבטח שאילתות DNS ברגע שאנו מגדירים את המערכת להתחיל להשתמש בה.

קביעת התצורה של המערכת לשימוש במפתרי מערכת

ניתן לקבוע את התצורה של המערכת בכמה דרכים לשימוש במפתרי מערכת, אך אנו נבחן שתי תצורות המכסות את מרבית מקרי השימוש. הראשונה היא התצורה המומלצת, והשנייה היא תצורת התאימות. ההבדל בין השניים הוא אופן ניהול קובץ /etc/resolv.conf.

הקובץ /etc/resolv.conf מחזיק את כתובות ה- IP של שרתי השמות שתוכניות במערכת צריכות לבצע שאילתה. תוכניות שצריכות לבצע שאילתות DNS יתייעצו בקובץ זה בכדי לגלות לאילו שרתים עליהם לפנות כדי לבצע את השאלות הללו.

שני מצבי הפתרון של המערכת מתרכזים סביב ניהול התוכן של קובץ זה. במצב המומלץ, /etc/resolv.conf נעשה קישור ל- /run/systemd/resolve/stub-resolv.conf. קובץ זה מנוהל על ידי פיתרון מערכת ולפיכך פותר המערכת עוסק במידע על תצורת ה- DNS של כל התוכנות האחרות במערכת..

זה יכול לגרום לבעיות כאשר תוכניות אחרות מנסות לנהל את התוכן של /etc/resolv.conf. מצב תאימות משאיר את /etc/resolv.conf במקום ומאפשר לתוכניות אחרות לנהל אותו בזמן שפתרון המערכת משתמש במידע ה- DNS. במצב זה, יש להגדיר את שאר התוכניות המנהלות /etc/resolv.conf להגדיר 127.0.0.53 כשרת שמות המערכת ב- /etc/resolv.conf.

הגדרת התצורה של המצב המומלץ

כאשר אנו מגדירים את התצורה של מצב זה, המערכת נפתרת מערכת תנהל /etc/resolv.conf על ידי הפיכתה לסימלי קישור ל- /run/systemd/resolve/stub-resolv.conf עלינו לעשות זאת ביד מכיוון שהיא לא מוגדרת אוטומטית.

ראשית, מחק או שנה את שם הקובץ הקיים /etc/resolv.conf. שינוי שם הוא אפשרות טובה יותר למחוק אותו מכיוון שישפיע באותה האופן, אך אתה תמיד יכול להתייחס למקור אם אתה זקוק למידע שהוא מכיל. כאן אנו שמים את שם /etc/resolv.conf באמצעות הפקודה mv:

$ sudo mv /etc/resolv.conf /etc/resolv.conf.original

בשלב הבא, צור את הסימלינק:

$ sudo ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

לבסוף, הפעל מחדש את מערכת ההחלטה:

$ sudo systemctl הפעל מחדש את systemd-resolved.service

קביעת תצורה של מצב התאימות

במצב זה, עליך לוודא ששירותי המערכת שואלים את שרת השמות המקומי שהחלה פתרון על ידי המערכת. פתח /etc/resolv.conf בעורך טקסט, כאן נעשה שימוש בעורך הננו:

$ sudo nano /etc/resolv.conf

מחק את השורות שאתה נתקל בהן שמתחילות ב”שרת שמות “והוסף שורה זו:

שרת השמות 127.0.0.53

עריכה זו עשויה להשתנות על ידי כל תוכנית אחרת המנהלת /etc/resolv.conf. אם זה המקרה, עליכם להגדיר את התצורה של אותן תוכניות לשימוש בשרת שמות זה כדי להפוך את העריכה לקבועה.

שגיאת באגים נפתרה

לגלות בדיוק כיצד המערכת מבצעת שאילתות DNS לאחר שביצעת את השינויים הללו יכולה להיות קשה. הדרך היעילה ביותר להתבונן במתרחש היא להכניס את פתר המערכת למצב ניקוי באגים ולצפות בקובץ היומן..

systemd-resolved הוא שירות systemd, שפירושו שניתן להכניס אותו בקלות למצב ניפוי על ידי יצירת קובץ שירות drop-in המכיל את הגדרת הבאגים. הפקודה הבאה תיצור את הקובץ הנכון במיקום הנכון:

$ sudo systemctl ערוך את systemd-resolved.service

הדבק את השורות הבאות בעורך ואז שמור ויצא:

[שירות]
סביבה = SYSTEMD_LOG_LEVEL = ניפוי באגים

השירות שנפתר על ידי המערכת יוטען מחדש באופן אוטומטי בשמירה ויציאה מוצלחת.

פתח מסוף שני לאותו שרת ופעל אחר יומן היומנים עבור השירות שנפתר על ידי המערכת:

$ sudo journalctl -f -u systemd- נפתר

קו שמתחיל “שימוש בשרת DNS” למשל:

באמצעות שרת DNS 1.1.1.1 לעסקה 19995.

מספר לך בדיוק באיזה שרת DNS משמש לשאילתות DNS. במקרה זה, נשאלת שרת ה- DNS של Cloudflare ב- 1.1.1.1.

קווים שליותם “פספוס מטמון” מצביעים על כך ששם הדומיין לא נשמר במטמון. למשל:

מחסור מטמון למשל.com IN SOA

קווים המתחילים ב”להיט מטמון חיובי “למשל:

מטמון חיובי פגע למשל.com IN A

ציין שפתרון ה- system שאילתה תחום זה לפני כן והתשובה הוגשה מהמטמון בזיכרון המקומי.

עליך לבטל את מצב איתור הבאגים לאחר שסיימת לעבוד על פתרון המערכת, מכיוון שהוא יוצר קובץ יומן גדול מאוד במערכת תפוסה. אתה יכול להשבית את רישום הבאגים על ידי הפעלה:

$ sudo systemctl ערוך את systemd-resolved.service

ומחיקת את שתי השורות, הוספת ואז שמירת ועורך מהעורך.

שימוש בשאילתות DNS מאובטחות

systemd-resolved הוא אחד הבודדים שרתי DNS זמינים כיום התומכים גם ב- DNSSEC וגם ב- DNSoverTLS. שני אלה עוזרים להבטיח שאתה מקבל מידע DNS אמיתי (DNSSEC) וכי אף אחד לא יכול לחטוף את תנועת ה- DNS שלך בזמן שהיא עוברת דרך האינטרנט. (DoT).

אפשרויות אלה מופעלות בקלות על ידי פתיחת קובץ התצורה הראשי של מערכת ההחלטה עם עורך טקסט:

$ sudo nano /etc/systemd/resolved.conf

ועריכת הקובץ כך שתוגדר שתי השורות הבאות:

DNSSEC = הורדת השדרוג לאחור
DNSOverTLS = אופורטוניסטי

שמור ועזב את העורך ואז טען מחדש את המערכת שפתרה אותה:

$ sudo systemctl הפעל מחדש את systemd-resolved.service

כל עוד שרת ה- DNS שהגדרת תומך ב- DNSSEC ו- DoT, שאילתות ה- DNS שלך יהיו מוגנות. שרתי ה- DNS הציבוריים של Google ו- Cloudflare תומכים שניהם בפרוטוקולים אלה.

סיכום

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

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

תגיות:

  • לינוקס

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map