4.4 פרוטוקולי הDNS בווינדוס הרצאה
הרצאה על DNS ב-Windows¶
הDNS (Domain Name System) הוא אחד מהמרכיבים הבסיסיים בתקשורת רשת המודרנית. תפקידו העיקרי הוא לתרגם שמות דומיינים (כמו example.com) לכתובת IP (כמו 192.168.1.1) שמחשב יכול להבין ולהתקשר אליה. ב-Windows, מערכת ה-DNS מספקת שירותים חשובים למחשבים ברשת המקומית (LAN) ובאינטרנט. נסקור את איך פועל DNS ב-Windows, עם התמקדות בפרוטוקולים נוספים כמו mDNS, NBNS ו-LLMNR.
1. הDNS ב-Windows¶
ב-Windows, DNS לא רק מתפקד לתרגום שמות דומיינים כתובים לכתובת IP, אלא גם מספק שירותים של גיבוי ושאילתות לשרתי DNS באינטרנט או ברשת המקומית. כל מחשב ב-Windows מבצע חיפושי DNS כאשר הוא זקוק לגשת לכתובת IP של מחשב אחר על פי שם המחשב.
תהליך החיפוש ב-DNS:
- הClient DNS Query: כאשר מחשב ב-Windows מנסה להתחבר לכתובת דומיין (למשל
www.example.com), הוא שולח בקשת DNS לשרת ה-DNS המקומי, או לשרת DNS שהוגדר ב-Windows. - הפקודות הרלוונטיות:
- הnslookup: פקודה בה ניתן לבצע חיפושים ב-DNS:
הפקודה מחפשת את ה-IP של example.com דרך שרת ה-DNS שהוגדר.
3. הDNS Cache: במחשבים עם Windows, כאשר מתבצע חיפוש DNS, המערכת שומרת את התשובות ב-Cache המקומי שלה למשך פרק זמן מוגדר. זה חוסך זמן ומפחית את העומס על השרתים.
פקודות לניהול DNS Cache ב-Windows:
- לראות את ה-DNS Cache:
הצגת רשימת כל הערכים שנשמרים ב-DNS Cache.
- ניקוי ה-DNS Cache:
הפקודה הזו מנקה את ה-DNS Cache, ומבצע חיפושים מחדש לכתובות DNS.
2. הMDNS (Multicast DNS)¶
פרוטוקול MDNS הוא גרסה של DNS שמתפקדת לרשתות מקומיות בהן אין שרת DNS מרכזי. המטרה של MDNS היא לאפשר למכשירים לזהות ולהתממשק אחד עם השני ברשת המקומית (כמו LAN) באמצעות שמות, מבלי להזדקק לשירות DNS חיצוני.
- כיצד זה פועל: במקום לפנות לשרת DNS חיצוני, מכשירים משתמשים ב-mDNS כדי לשאול את כל הרשת המקומית אם יש מחשב או שירות עם שם מסוים. כל המחשבים ברשת מאזינים לשאלות הללו ויכולים לענות עליהן אם הם מכירים את השם.
- שימושים נפוצים: פרוטוקול MDNS נמצא בשימוש בעזרים שונים כמו מדפסות, מצלמות IP ושרתים קטנים שמספקים שירותים ברשת המקומית.
דוגמה לפקודה ב-Windows: ב-Windows, המערכת לא כוללת תמיכה ישירה ב-mDNS דרך CLI (כמו ב-Linux עם avahi), אך ישנם כלים צד שלישי שיכולים לבצע את הפעולה הזו.
3. הNBNS (NetBIOS Name Service)¶
פרוטוקול NBNS הוא שירות שהתפקוד שלו דומה ל-DNS אך מתמקד בשמות NetBIOS של מחשבים ברשת המקומית. כאשר מחשבים צריכים לדעת את כתובת ה-IP של מחשב אחר שמזוהה לפי שם NetBIOS (שמות קצרים של מחשבים ברשת), הם משתמשים ב-NBNS.
- מה זה NetBIOS: NetBIOS הוא פרוטוקול ישן מאוד, שנועד לאפשר למחשבים בתקשורת לוקלית (LAN) לתקשר ביניהם לפי שם ולא לפי כתובת IP.
- כיצד זה עובד: אם אתה מנסה לגשת למחשב בשם "Workstation1" ברשת המקומית, ה-NBNS אחראי למפות את שם ה-NetBIOS הזה לכתובת ה-IP המתאימה. לרוב, ה-NBNS מופעל דרך שרת WINS (Windows Internet Name Service).
שימוש בפקודות לניהול NBNS:
- nbtstat: פקודה שמספקת מידע על חיבורי NetBIOS.
הפקודה הזו מחפשת את שם ה-NetBIOS לפי כתובת ה-IP.
4. הLLMNR (Link-Local Multicast Name Resolution)¶
פרוטוקול LLMNR הוא פרוטוקול דמוי DNS, אך מיועד לעבודה ברשתות שאין בהן שרת DNS מרכזי או אינטרנט. LLMNR מאפשר למחשבים ברשת המקומית להמיר שמות של מחשבים לכתובות IP בדומה לdns, גם כאשר אין שרת DNS במערכת.
- כיצד זה עובד: כאשר מחשב רוצה לגשת לשם של מחשב אחר (למשל
server1), הוא שולח בקשה ברשת המקומית באמצעות LLMNR. כל מכשיר ברשת מאזין לפניות האלו ואם הוא מזהה את השם, הוא מחזיר את כתובת ה-IP. - שימושים נפוצים: LLMNR נמצא בשימוש במקרים של רשתות לא מאורגנות או כאשר יש מכשירים זעירים (כגון מחשבים ניידים, טאבלטים) שאין בהם תשתית DNS.
דוגמה לפקודה לניהול LLMNR: ב-Windows ניתן להפעיל או לכבות את LLMNR דרך Group Policy או דרך הפקודות הבאות:
- לכיבוי LLMNR:
הסדר של איך הדברים קורים¶
כאשר מחשב Windows מנסה לרסלב שם של מחשב, הוא עובר במספר שלבים כדי למצוא את ה-IP של המחשב הנדרש:
- DNS: אם מדובר בשם דומיין מלא (למשל
www.example.com), המחשב יפנה תחילה לשרת DNS. - mDNS: אם מדובר בשם מקומי ברשת, המחשב יפנה ל-mDNS כדי לבדוק אם יש לו תרגום בכתובת IP.
- NBNS: אם מדובר בשם NetBIOS, המחשב ישלח בקשה ל-NBNS.
- LLMNR: אם כל האפשרויות הקודמות לא הצליחו, המחשב ינסה לשלוח בקשה ברשת המקומית באמצעות LLMNR.
סיכום¶
ב-Windows, התהליך של פתרון שמות ברשת מתבצע בעזרת שילוב של מספר פרוטוקולים כמו DNS, MDNS, NBNS ו-LLMNR. כל אחד מהם מיועד למטרה שונה ופתרון בעיות שונות ברשת. שימוש נכון בפרוטוקולים אלו יכול לסייע בשיפור חווית המשתמש, במיוחד בסביבות רשתיות שונות כמו רשתות מקומיות, רשתות אלחוטיות או רשתות ללא שרתי DNS מרכזיים.