WEBA

DNS: מה זה, מה זה רשומות A, CNAME ו-MX, ואיך מחברים דומיין לאתר

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

789 מילים3 מקורות

מערכת DNS מתרגמת שמות שאתם מקלידים בדפדפן לכתובות IP מספריות, ובירור מלא שלה עובר בדיוק 8 שלבים שונים בין 4 שרתי שמות עד שהדפדפן מקבל כתובת יחידה. לכל מכשיר שמחובר לאינטרנט יש כתובת ייחודית שמאפשרת למחשבים אחרים לאתר אותו ברשת. מדובר בכתובות IPv4 קצרות המכילות ספרות כמו 192.168.1.1, או בכתובות IPv6 ארוכות יותר שמורכבות מאותיות ומספרים כמו 2400:cb00:2048:1::c629:d7a2. שרתי שמות פשוט חוסכים מאיתנו את הצורך לזכור רצפי ספרות בעל פה כדי לגלוש.

זהו ספר הטלפונים של הרשת.

כשאתם פותחים דפדפן ומקלידים דומיין כמו nytimes.com או espn.com, המחשב שלכם יוזם פנייה אל שרת רקורסיבי. השרת הזה מתפקד כמו ספרן שנשלח לאתר ספר מסוים בספרייה ענקית עבור הקורא. הוא מקבל את הפנייה הראשונית ומתחיל לפנות לשרתים אחרים במעלה השרשרת עד שהוא משיג את המידע. אם המידע לא שמור אצלו בזיכרון מטמון, הוא לא יכול לנחש את התשובה לבד. עליו לצאת למסלול מלא.

התחנה הראשונה של השרת הרקורסיבי היא שרת השורש, שמסומן כנקודה. שרת השורש פועל כמו אינדקס בספרייה שמפנה למדפים שונים, והוא מעביר את הפנייה אל שרת הסיומת המתאים, הנקרא שרת TLD. שרתי TLD מייצגים סיומות מוכרות כמו com או net ומחזיקים את הנתונים לגביהן. לאחר מכן שרת ה-TLD מפנה את השאילתה אל השרת המוסמך של הדומיין הספציפי. שרת השמות המוסמך הוא כמו מילון על מדף ספרים, והוא זה שמחזיר בפועל את כתובת ה-IP המדויקת של האתר שלכם.

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

תפקידי הרשומות הנפוצות

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

רשומת CNAME מפנה שם דומיין או תת-דומיין לשם דומיין אחר, והיא אינה מחזיקה כתובת IP כלל. אם יש לכם תת-דומיין כמו blog.cloudflare.com או foo.example.com, הדפדפן נדרש לעבור שרת שמות נוסף כדי לקרוא את רשומת ה-CNAME ולהמשיך אל היעד הסופי. לעומת זאת, רשומת DNAME מייצרת כינוי שמפנה את כל תת-הדומיינים בבת אחת. רשומת MX קובעת לאיזה שרת יופנה דואר אלקטרוני שנשלח לדומיין שלכם. אם תמחקו אותה, לא תקבלו מיילים חדשים.

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

לא הייתי משתמש ברשומות CNAME עבור הדומיין הראשי עצמו אלא רק לתת-דומיינים, מפני שזה מנוגד לתקן וגורם לבעיות ניתוב קשות. בתיעוד מצוינות גם רשומות ייעודיות כמו CAA שקובעות אילו רשויות רשאיות להנפיק תעודות אבטחה לדומיין שלכם, ואם היא חסרה כל גורם מורשה רשאי להנפיק תעודה. רשומות TXT מאפשרות שמירת הערות טקסט ומסייעות באימות אבטחת מייל לפי הגדרות כמו SPF, DKIM או DMARC. רשומת NS מגדירה איזה שרת שמות מחזיק בסמכות על הדומיין, בעוד רשומת SOA שומרת מידע ניהולי חיוני.

ישנן גם רשומות ייעודיות לתשתיות ספציפיות כמו PTR לבירור כתובת הפוך, SRV שמגדירה שער לשירותים, ורשומות מורכבות יותר. רשומות כמו DNSKEY, RRSIG או NSEC משמשות לאימות חתימות דיגיטליות במסגרת DNSSEC כדי למנוע זיופים ברשת.

השוואת רשומות DNS

סוג רשומהתפקיד ראשיערך נדרשהשפעה ישירה
Aחיבור שם לכתובת IPv4כתובת כמו 192.168.1.1טעינת האתר ברשת
AAAAחיבור שם לכתובת IPv6כתובת 2400:cb00:2048:1::c629:d7a2טעינת האתר ברשתות IPv6
CNAMEהפניית כתובת לשם אחרשם דומיין חלופיהפניה ללא כתובת IP
MXניתוב דואר אלקטרונישם שרת מייל ייעודיקבלת מיילים בדומיין
NSהגדרת שרת שמות מוסמךכתובת שרת שמותסמכות מלאה על הרשומות
TXTשמירת טקסט ואימותמחרוזת טקסט חופשיתאבטחת מייל DMARC ו-SPF
SRVהגדרת שער לשירותפורט ושם שרתניתוב תוכנות ייעודיות

תקלות מעבר וזיכרון מטמון

כשאתר מפסיק לעלות מיד לאחר החלפת חברת אחסון, המקור לכך הוא כמעט תמיד חוסר התאמה ברשומות ה-DNS או עיכוב שמקורו בזיכרון המטמון. דפדפנים ומערכות הפעלה שומרים עותקים של כתובות ה-IP המקומיות כדי לא לבצע שאילתות חוזרות בכל לחיצה. בדפדפן Chrome תוכלו לראות את מצב המטמון שלכם בעמוד הפנימי chrome://net-internals/#dns. אם הדפדפן שומר מידע ישן, הוא ימשיך לפנות לשרת הקודם עד שעותק המטמון יפוג.

הזמן שבו המידע נשמר נקרא TTL, ראשי תיבות של Time to Live, והוא מציין כמה שניות יעברו עד שהשרתים ירעננו את הרשומה. שינויים שאתם שומרים בהגדרות לא נכנסים לתוקף מיידי אצל כל הגולשים בדיוק בגלל המנגנון הזה. הם תלויים לחלוטין בערך ה-TTL שקבעתם מראש בלוח הבקרה.

חברות ענק מפעילות תשתיות שורש מורכבות כמו רשת f-root ש-Cloudflare שותפה בה, והיא מטפלת במיליארדי בקשות ביום. ספקיות תשתית משתמשות ברשת מסוג Anycast שמפזרת עומסים גלובליים ללא נפילות שירות. אם אתם מעמידים דומיין חונה ללא שרת אחסון פעיל, תיעוד Cloudflare מנחה להשתמש בכתובת שמורה בתקן IPv4 שהיא 192.0.2.0 או כתובת שמורה בתקן IPv6 שהיא 100:: תחת מצב פרוקסי. תצורה כזו מחברת את התנועה לכלי ניתוב כמו Page Rules או Workers בלי צורך בשרת מקור.

כתובות אלה מונעות שגיאות ניתוב.

רישום דומיין ישראלי בסיומת co.il עולה בסביבות 100 שקלים לשנה אצל רשמים מאושרים. לעומת זאת, ניהול DNS בסיסי ב-Cloudflare זמין ב-0$ וכלול בכל התוכניות ללא עלות נוספת. פער המחירים הזה מאפשר לכם להחזיק דומיין מקומי ולנהל את כל הניתובים שלו בענן מתקדם בלי לשלם על שירותי שמות יקרים. זה שווה את המאמץ רק אם אתם מבינים בדיוק איזה שרת מאחסן את הקבצים שלכם ולא מנחשים כתובות רשת על עיוור.

ניהול הרשומות מתבצע בלוח בקרה גרפי או בצורה אוטומטית בעזרת REST API. שימוש ב-API מאפשר שליחת פקודת POST ליצירת רשומה, פקודת PATCH או PUT לעדכון מלא או חלקי, ופקודת DELETE להסרה.

שלבי עדכון רשומה

בדיקה ועדכון רשומות בלוח הבקרה

  1. כניסה לדף DNS Records בלוח
  2. לחיצה על Add record ובחירת סוג
  3. הזנת כתובת האחסון בשדה התוכן
  4. בחירת מצב מבוקש בשדה Proxy status
  5. קביעת ערך TTL ושמירה בלחיצה על Save

מספרי מפתח במערכת

שימו לבאם האתר לא עולה לאחר החלפת אחסון, אל תמחקו את רשומות ה-MX של הדואר האלקטרוני. עדכנו רק את שדה התוכן של רשומות ה-A או ה-AAAA לכתובת ה-IP החדשה.

מקורות

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