סדרת מאמרים בסיסיים אלו לגבי שירות ה DNS יעסוק ברשומות DNS שנשמרות ב CACHE הן בשרת והן בתחנות. המדריכים יגע בנקודות כמו זמן השמירה ב cache, יחסי הגומלין בין ה services שאחראים על שמירת ה cache ועוד. המדריכים יתמקדו בסביבות דומיין, אבל אפשר להקיש ממנו גם לגבי סביבת workgroup. חלק א' של הסדרה ייתן פירוט כללי ביותר על dns client service.
ברמת התחנה הבודדת ה service שאחראי על ה cache של התחנה מול שרת DNS נקרא DNS CLIENT. חשוב להבין שה service הזה לא אחראי על עצם היכולת של המחשב לבצע שאילתא ברשת, אלא אך ורק על cache של רשומות DNS, לכן השם של ה service קצת מטעה, ואפשר בטעות לחשוב שמדובר ב service שאחראי על כל יכולות ה DNS של המחשב. כמובן שגם לשרת DNS עצמו יש dns client service, וה service הזה מתפקד בדיוק כמו בתחנה רגילה.
אז איפה בדיוק נוכל לראות ש serviceהזה בא לידי ביטוי?
כולנו מכירים את פקודת IPCONFIG. כאשר הפקודה מורצת עם ה flag של /DISPLAYDNS, היא פונה ל service ומאחזרת ממנו את רשומות ה DNS ששמורות בו. אם נעשה disable ל service, כאשר נריץ את הפקודה IPCONFIG/DISPLAYDNS נגלה שאין לנו גישה לרשומות ה DNS.
כמובן שרשומות ה DNS לא נמחקו, הן פשוט לא נגישות ברגע שה service כבוי. לכן כל פנייה DNS-ית שהייתה יכולה להתקצר בעקבות שימוש ב CACHE, גם היא לא רלוונטית. כמובן שגם אי אפשר לשמור רשומות שמקבלים resolving משאילתות שמבצעים כאשר ה service כבוי (שוב, יש לזכור שגם שה service כבוי, יש יכולת לבצע שאילתא).
פקודה נוספת שלא תרוץ היא מחיקת רשומות ה DNS ששמורות ב CACHE, בעזרת הפקודה IPCONFIG/FLUSHDNS, שוב כי אין גישה ל CACHE בכלל.
שתי הערות אגב לגבי IPCONFIG/FLUSHDNS :
א. חשוב לציין שאם ישנן רשומות שמופיעות בקובץ ה host שבמחשב (נמצא ב Windows\System32\drivers\etc), אז גם אחרי שננקה את ה cache בעזרת הפקודה הזו, הרשומות שמופיעות בקובץ ה host עדיין יופיעו בעת הרצת הפקודה, כל זאת בהנחה שה service מורץ. אם הוא כבוי, כמובן שלא תהיה גישה גם להצגת רשומות ה host.
ב. לעתים הכרחי להשתמש בפקודה הזו, למרות שזה ימחק רשומות שבהן אנו משתמשים, וזה בגלל שה DNS CLIENT אוגר גם רשומות שלא קיבלו מענה, ומגדיר אותן כרשומות שאין אפשרות לעשות להם resolving. למשל, נניח שניסיתי לתקשר עם מחשב computer3 בדומיין שלי, מחשב שכלל אינו קיים :
איפה יכולה להתעורר הבעיה? תתארו שאחר כך כן מתווסף מחשב כזה, ועכשיו ב cache שלי הוא שמור כלא קיים. תהיה לי בעיה לתקשר איתו, עד שהוא ינוקה מה cache.
אז הנה ניתוח קצר של רשומת DNS :
Record Name – שם הרשומה אותה קיבלנו כתשובה. יכולים להיות מקרים שבהם יש הבדל בין הכותרת לבין השדה הראשון. ההבדל בין הכותרת לבין השדה הזה, זה שבכותרת נמצא השאילתא במדויק, בשדה הזה (Record Name) מופיע ה FQDN, קרי, מדביקים לשאילתא את שם הדומיין שאליו היא שייכת. הנה דוגמה שבה רואים את ההבדל בין הכותרת לבין השדה :
Record Type – מספר שמייצג ערך של שהוא סוג הרשומה. לרשומה מסוג A, רשומה שממפה שם ל IP, ניתן המספר 1. לרשומה מסוג PTR למשל, רשומה שממפה IP לשם, ניתן המספר 12. המידע פה הוא בעצם metadata (מידע על המידע) אין לו משמעות מעשית.
Time To Live – הזמן שבו תשמר הרשומה ב cache של ה dns client. הזמן נקבע ע"י שרת ה DNS, במאפייני ה SOA של ה zone אליו שייכת הרשומה. הנה פה :
A RECORD – הרשומה שנותנת את ה IP עצמו, שהכרחי להמשך ההתקשרות בשכבה הבסיסית יותר – שכבת התקשורת.