סקירה כללית על רשומות DNS

בדף הזה מופיעה סקירה כללית על רשומות ועל סוגי רשומות ה-DNS ש-Cloud DNS תומך בהם.

רשומה היא מיפוי בין משאב DNS לשם דומיין. לכל רשומת DNS יש סוג (שם ומספר), תאריך תפוגה (זמן חיים) ונתונים ספציפיים לסוג.

סוגי רשומות DNS נתמכים

Cloud DNS תומך בסוגי הרשומות הבאים.

סוג הרשומה תיאור
A

רשומת כתובת שממפה שמות מארחים לכתובת ה-IPv4 שלהם.

AAAA

רשומת כתובת IPv6 שממפה שמות מארחים לכתובת IPv6 שלהם.

ALIAS

רשומת Alias (תצוגה מקדימה), שממפה שם דומיין חלופי לשם קנוני בחלק העליון של הדומיין. רשומת כינוי נקראת גם רשומת ANAME או שטח אחסון שטוח של CNAME.

אפשר להגדיר רשומות כינוי באמצעות ה-CLI של gcloud או באמצעות Cloud DNS API. אי אפשר להגדיר רשומות כינוי באמצעות המסוף Google Cloud .

CAA

הרשאה של רשות אישורים (CA), שמציינת אילו רשויות אישורים מורשות ליצור אישורים לדומיין.

CNAME

רשומת שם קנוני, שמציינת שמות חלופיים.

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

DNSKEY

מפתח ה-DNSSEC מאופרטור אחר להעברה מאובטחת. אפשר להוסיף את סוג קבוצת הרשומות הזה רק לאזור שבו DNSSEC מופעל במצב Transfer.

DS

טביעת האצבע של מפתח DNSSEC לתחום מאובטח שהוקצה. סוג קבוצת הרשומות הזה לא מפעיל את DNSSEC עבור תחום שהוקצה, אלא אם מפעילים (ומפעילים) את DNSSEC עבור התחום הזה.

HTTPS

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

IPSECKEY

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

MX

רשומת Mail Exchange, שמנתבת בקשות לשרתי אימייל.

NAPTR

רשומת הפניה של רשות שמות, כפי שמוגדרת ב- RFC 3403.

NS

רשומת שרת שמות, שמעבירה תחום DNS לשרת מוסמך.

PTR

רשומת הפניה, שמשמשת לעיתים קרובות לשאילתות DNS הפוכות.

SOA

רשומת Start of Authority, שמציינת מידע מהימן על תחום DNS. רשומת המשאב SOA נוצרת בשבילכם כשיוצרים את האזור המנוהל. אפשר לשנות את הרשומה לפי הצורך (לדוגמה, אפשר לשנות את המספר הסידורי למספר שרירותי כדי לתמוך בגרסאות שמבוססות על תאריך).

SPF

רשומת Sender Policy Framework, סוג רשומה שהוצא משימוש ושימש בעבר במערכות לאימות אימייל (במקום זאת, צריך להשתמש ברשומת TXT).

SRV

רשומת מאתר שירותים, שמשמשת חלק מפרוטוקולים של הודעות מיידיות, קול על גבי IP (VoIP) ואפליקציות אחרות.

SSHFP

טביעת אצבע של SSH ללקוחות SSH כדי לאימות המפתחות הציבוריים של שרתי SSH.

SVCB

רשומת קישור שירות, שמאפשרת לשירות לוגי לציין כמה נקודות קצה חלופיות, לכל אחת מהן פרמטרים משויכים. למקורות HTTPS, ראו את סוג הרשומה HTTPS.

TLSA

רשומת אימות TLS ללקוחות TLS כדי לאמת אישורי שרת מסוג X.509.

TXT

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

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

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

רשומות DNS עם תו כללי

ב-Cloud DNS יש תמיכה ברשומות תווים כלליים לכל סוגי הרשומות, מלבד רשומות NS.

רשומות של כתובות אימייל חלופיות

רשומת ALIAS היא סוג של רשומה בהתאמה אישית ב-Cloud DNS שפועלת כמו רשומת CNAME, אבל אפשר להשתמש בה רק בחלק העליון של הדומיין (apex), והיא מגיבה רק לשאילתות של רשומות כתובות (A או AAAA). באופן ספציפי, סוג הרשומה ALIAS ממפה שם דומיין חלופי לשם קנוני, ומשתמש בשם הקנוני כדי לחפש את התשובה. סוג הרשומה הזה שימושי כשצריך התנהגות של CNAME ברמה העליונה. אי אפשר להציב רשומת CNAME בחלק העליון של הדומיין כי היא לא יכולה להתקיים לצד סוג רשומה אחר, כולל רשומת ה-SOA שנדרשת בחלק העליון של הדומיין.

רשומות ALIAS הן ספציפיות ל-Cloud DNS, והן אף פעם לא נחשפות ללקוח חיצוני ששולח שאילתות לאזורים של Cloud DNS. מבחינת הלקוח, רשומת ALIAS מופיעה בתגובה של ה-DNS כרשומת A או AAAA רגילה. רשומות ALIAS לא תואמות ל-DNSSEC, ולכן אי אפשר להפעיל DNSSEC בתחום עם רשומות ALIAS.

אפשר לנהל רשומות ALIAS כמו כל הרשומות האחרות. במאמר ניהול רשומות מוסבר איך מנהלים רשומות.

תהליך פתרון השאילתות

רשומות ALIAS זמינות רק לתחומים ציבוריים ב-Cloud DNS.

ברשומות CNAME, הפותר אחראי על תרגום השם הקנוני. ברשומות ALIAS, שרת השמות של Cloud DNS מבצע פתרון של השם הקנוני ויוצר רשומות A או AAAA סינתטיות כדי להחזיר אותן למפַתח. רשומות ה-A או ה-AAAA המשולבות מכילות את השם של רשומת ה-ALIAS עם כתובות ה-IP שנמצאו מהפתרון של היעד של רשומת ה-ALIAS. שרתי השמות של Cloud DNS משתמשים במקודדי ה-DNS הרקורסיביים הזמינים של Google כדי לפתור רשומות חלופיות.

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

רק רשומות כתובות עוברות סינתזה במהלך פתרון היעד של רשומת ה-ALIAS. שאילתות לרשומות ALIAS לא מחזירות רשומות CNAME ביניים שנמצאות במהלך פתרון היעד של רשומת החלופי. רשומות CNAME שנמצאות דרך מעקב אחר CNAME לפני שמגיעים לרשומת ה-ALIAS מוחזרות ללא שינוי. אם פתרון היעד של ה-ALIAS נכשל, כלומר, מוחזר קוד תגובה שאינו NOERROR, שרת השמות של Cloud DNS מחזיר תגובה מסוג SERVFAIL ללקוח שלו. אם הפעולה מובילה לתגובה NODATA, שהיא תגובה NOERROR ללא רשומות כתובות, שרת השמות של Cloud DNS מחזיר תגובה NODATA.

כשמתבצעת פתרון של יעדי רשומות ALIAS, Cloud DNS לא משתמש בתת-רשת של לקוח EDNS שסופקה על ידי הלקוח.

פרמטר אורך החיים (TTL) ושמירה במטמון

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

הדוגמה הבאה ממחישה איך TTL נקבע עבור רשומות הכתובות המשולבות.

נניח שהרשומות הבאות מוגדרות באזור מנוהל של Cloud DNS:

example.com.    3600    SOA      ns.com.  admin.example.com. (...)
                86400   NS       ns.com.
                6000    ALIAS    test-cname.example.com.
test-cname      3000    CNAME    address.example.com.
address         5000    A        1.2.3.4

שאילתה לגבי רשומת ה-A ב-example.com בתחום הזה מחזירה תשובה שדומה לדוגמה הבאה:

QUESTION SECTION
example.com.                  A

ANSWER SECTION
example.com.        3000      A      1.2.3.4

ערכי ה-TTL שנתקלים בהם במהלך הפתרון הם 6000 (לרשומת ה-ALIAS), 3000 (לרשומת ה-CNAME) ו-5000 (לרשומת ה-A). מבין ערכי ה-TTL האלה, הערך 3000 הוא הקטן ביותר, ולכן הוא מוחזר ברשומת הכתובת המשולבת.

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

ביט של תשובה מהימנה

הבייט המהימן בתשובת ה-DNS מבוסס על השם הראשון בשרשרת (qname המקורי), ללא קשר לכך שהנתונים המשויכים לשם הזה נמצאים בשרת או שהם אוחזו באמצעות פתרון של רשומת ALIAS.

טיפול בשגיאות

כדי לפתור רשומות ALIAS, ‏ Cloud DNS משתמש בשרתי שמות מוסמכים של צד שלישי כדי לקבוע הענקות גישה ל-DNS ולאחזר נתוני DNS שמתארחים באופן חיצוני. אם Cloud DNS לא מצליח לפתור יעד של רשומת ALIAS (רזולוציית היעד של ALIAS יוצרת ערך שגיאה RCODE, כמו NXDOMAIN או REFUSED), הוא מחזיר תגובה מסוג SERVFAIL. לדוגמה, אם היעד ALIAS לא קיים או שאי אפשר לגשת לשרתים המורשים שלו, Cloud DNS מחזיר את הערך SERVFAIL.

מכיוון ש-SERVFAIL מספק מידע מוגבל על השגיאה, הרישום ביומן של Cloud DNS כולל את הערך הספציפי של RCODE שנמצא במהלך פתרון הרשומה ALIAS, כדי לעזור לכם לפתור שגיאות. למידע נוסף על שימוש ברישום ביומן של Cloud DNS, קראו את המאמר שימוש ברישום ביומן ובמעקב.

אם פתרון היעד ALIAS מניב תגובה NODATA (תגובה ריקה עם NOERROR RCODE), Cloud DNS מחזיר את הערך NODATA. רשומות ALIAS תואמות לשאילתות A ו-AAAA, אבל היעד ALIAS יכול להכיל רק סוג רשומה אחד. זו התנהגות צפויה, והיא לא מובילה לתשובה עם ערך השגיאה RCODE.

ייבוא וייצוא של רשומות

אפשר לייבא ולייצא רשומות מקובץ תחום של BIND או מקובץ YAML, ולהפך.

רשומות ALIAS לא נתמכות בקובצי BIND כי סוג הרשומה ALIAS הוא לא סוג רשומה סטנדרטי של DNS. Cloud DNS מזהה את הרשומות האלה, אבל יכול להיות שתוכנות DNS אחרות שתואמות ל-BIND לא יזהינו אותן.

רשומות ALIAS מיוצאות לקובצי YAML ספציפיים ל-Cloud DNS, בפורמט הבא:

kind: dns#resourceRecordSet
name: DNS Name
rrdatas: RR Data
ttl: TTL
type: ALIAS

Cloud DNS יכול לייבא רשומות ALIAS מקובץ YAML בפורמט שצוין למעלה.

אבטחה ופרטיות

שרתי השמות הציבוריים של Cloud DNS פותרים את היעד של ה-ALIAS בשמכם, אבל עליכם לוודא שהגדרתם את היעד של ה-ALIAS בצורה נכונה. יעד ALIAS שגוי עלול לגרום לכך שהרשומות הציבוריות לא יפעלו כמצופה או שיחזירו כתובות IP לא רצויות.

מעקב אחרי תחומים מנוהלים

ב-Cloud DNS יש אפשרות לתיעוד ביומן של כל השאילתות לאזורים המנוהלים באמצעות Logging. שדה אופציונלי alias_query_response_code זמין ביומן השאילתות של ה-DNS כדי לתעד מידע על סטטוס פתרון השם של ה-ALIAS, כי המידע הזה לא זמין בתגובה של ה-DNS.

פרטים נוספים זמינים במאמר הצגת יומנים.

השדה alias_query_response_code מוגדר רק אם השאילתה נפתרת באמצעות רשומת ALIAS. ערך של NoError מציין שהרשומה ALIAS נפתרה בהצלחה, וכל ערך אחר מייצג את השגיאה. הערך של SERVFAIL יכול לייצג כל אחת מהבעיות הבאות:

  • שרת שמות יעד שלא ניתן להגיע אליו
  • פג הזמן הקצוב לפתרון היעד לפני שנמצאה תגובה
  • אימות DNSSEC נכשל

לשדה qtype ברשומות היומן אין אפשרות ALIAS. אם התשובה לשאילתה מסוג A או AAAA ניתנת באמצעות רשומת ALIAS, השדה qtype נשאר כ-A או כ-AAAA.

המאמרים הבאים