רקורסיה אינה זמינה: מדיניות DNS, לא מנהרה שבורה
שרת יכול לענות לאזורים שלו בלי לפתור את האינטרנט עבור מקור ה-VPN שלכם. קראו את הסטטוס, בדקו את המקור, ואז החליטו על DNS מפוצל.
השם הפנימי נפתר, ואותו שרת עונה לשם חיצוני בסירוב בנושא רקורסיה. הצירוף הזה אינו סתירה. פרסום האזורים של עצמו ופתרון כל האינטרנט הם שני שירותים נפרדים ששרת יכול להציע, והוא יכול לעשות את הראשון בלי השני. התייחסו לסירוב כהצהרת מדיניות, ואז בדקו אם המדיניות מתאימה לתכנון.
סירוב ופסק זמן הם תשובות שונות
רשמו את השם, את סוג השאילתה, את השרת שעונה, את הסטטוס ואת הרשומות שהוחזרו. אזהרת רקורסיה אינה פוסלת אוטומטית תשובה סמכותית שהגיעה איתה. כתבו את הסטטוס לפני שאתם מפרשים אותו. סטטוס שנבנה מחדש מהזיכרון כעבור שעה הוא עובדה אחרת.
כותרת DNS נושאת בקשה לרקורסיה וציון אם השרת מציע אותה, וכן מפרט הפרוטוקול מחזיק את הדגלים האלה בנפרד מנתוני התשובה. לכן תשובה יכולה להיות שימושית ועדיין לשאת תלונה. פסק זמן, תשובה שלילית וסירוב הם שלוש תוצאות שונות. כל אחד מצביע על שכבה אחרת, ורק הסירוב הוא השרת שמספר לכם על מדיניות.
קראו קודם את קוד הסטטוס, ואז החליטו אם האזהרה חשובה לשאילתה הזו. תשובה סמכותית שמנקה את האזור שמישה גם כשהביט הרקורסיבי נדחה. סירוב בלי תשובה הוא תוצאה של מדיניות, לא נתיב מנות שבור.
מה הפותר רשם כמקור שלכם
הלקוח עשוי להגיע ממאגר כתובות מחוץ לטווחי הרקורסיה המותרים של השרת, או שתרגום עשוי לגרום לו להיראות כמו שער. כתובת המתאם של הלקוח עצמו אינה ראיה למה שהפותר קיבל. שאלו את מנהל השרת על המקור שנצפה במקום להסיק אותו מהצד שלכם של הנתיב. שתי הכתובות עשויות להיות שונות בכל קפיצה שמתרגמת.
שאלו את אותו שם מהלקוח וממארח שהשרת כבר סומך עליו. ההבדל בין שתי התשובות הוא תנאי המקור, והוא שימושי יותר מכל אחת מהתשובות לבדה.
dig +short host.corp.example
dig +short example.com
אם הפריסה רוצה רקורסיה עבור לקוחות VPN, המנהל מאשר את טווח המקור המתאים דרך הבקרות של השרת עצמו. פתיחת רקורסיה לכל רשת כדי שמבחן אחד יעבור היא שינוי גדול בהרבה מזה שנבחן. כתבו את הטווח המאושר ליד הכלל, כי הסוקר הבא ישאל לאילו מקורות המדיניות נועדה לשרת. טווח מקור בלי בעלים הוא הדרך שבה מבחן זמני הופך לקבוע.
DNS מפוצל הוא תכנון, לא תקלה
חלק מהפריסות שולחות רק דומיינים של עבודה לפותר הפרטי וכל השאר לפותר מאושר אחר. זהו תכנון ניתוב שאילתות, והוא אינו ראיה שהשרת הפרטי זקוק למדיניות רופפת יותר. בתכנון כזה, שם חיצוני שנכשל דרך הפותר הפרטי הוא התוצאה המכוונת ולא תקלה. הסירוב הוא התכנון שעובד, לא סימפטום שיש להשתיק.
פותר ציבורי יכול להחזיר את הגלישה תוך שבירת שמות פנימיים או שליחת שאילתות פרטיות למקום שבו אסור להן ללכת. כתבו את ההתנהגות המכוונת לפני שתשנו כתובת פותר כלשהי.
אמתו את המדיניות בשתי שאילתות
לאחר התיקון המכוון, שאלו שם פרטי מורשה ושם חיצוני מהלקוח בפועל. מה שחוזר אמור להיות מה שהמדיניות מבטיחה, ולא רק אבחון שקט יותר. רשמו את השרת שעונה עם כל תשובה, ואז השוו את הזוג למדיניות. ההשוואה היא המבחן, ושאילתה מוצלחת אחת אינה.
resolvectl query host.corp.example
resolvectl query example.com
אם השם הפרטי עובד והשם הציבורי נדחה, המדיניות עושה מה שהיא אומרת. אם גם השם הפרטי נכשל, הבעיה היא באזור, בנתיב או באישור המקור, והרקורסיה היא הסחת דעת. שתי התוצאות שימושיות, וכל אחת פוסלת מחצית מההשערות שנותרו.
קראו את הסירוב כראיה
סירוב הוא תשובה. פירושו שהשרת קיבל את השאילתה וסירב לבצע את העבודה המבוקשת, וזה שונה ממנה שלא הגיעה מעולם. ההבחנה הזו היא כל האבחון. תעדו אותה כתשובה, לא ככשל קישוריות.
ההבחנה הזו אומרת לכם היכן להסתכל: ביומני השרת, במדיניות הגישה שלו ובמקור שהוא רשם. שינוי בחומת אש לא יכול לתקן סירוב מדיניות, ושינוי מדיניות לא יכול לתקן נתיב חסר. החזיקו את שתי ההשערות בנפרד עד שלאחת מהן יש ראיה.
כתבו את התוצאה ואת בעל המדיניות בכרטיס, כדי שהאדם הבא יתחיל מההחלטה ולא מהאזהרה. ציינו את טווח המקור המאושר ואת שני השמות שבדקתם. כרטיס עם שלוש העובדות האלה אפשר להריץ שוב; כרטיס שאומר "הרקורסיה שבורה" לא.