בדף הזה מופיעה סקירה כללית על רשומות ועל סוגי רשומות ה-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. רשומת המשאב |
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.
המאמרים הבאים
למתחילים ב-Cloud DNS, מומלץ לקרוא את המאמר תחילת העבודה: הגדרת רשומות DNS לשם דומיין באמצעות Cloud DNS.
במאמר מדריך: הגדרת דומיין באמצעות Cloud DNS מוסבר איך רושמים ומגדירים דומיין.
מידע נוסף על ספריות לקוח של API זמין במאמר דוגמאות וספריות.
במאמר פתרון בעיות מפורטות פתרונות לבעיות נפוצות שעשויות להתרחש במהלך השימוש ב-Cloud DNS.