תיעוד 49
רשומות מוצללות
עודכן לאחרונה: 6 ביולי 2026
כשמוסיפים רשומת NS לאזור, נוצרת האצלת תת דומיין: מעבירים את הסמכות לתת הדומיין הזה (ולכל מה שמתחתיו) לקבוצה אחרת של שרתי שמות. כל רשומה שנשמרת בנקודת ההאצלה או מתחתיה היא מוצללת. היא נשארת שמורה באזור, אבל ההאצלה שמה את הסמכות לשם הזה אצל שרתי השמות שהוסמכו, ולכן הרשומה אינה חלק מהנתונים הסמכותיים שהאזור אמור לשרת.
מטא נתוני הצללה אומרים אילו רשומות מוצללות, אילו רשומות NS מצלות אותן, וכמה רשומות כל האצלה מצלת. הם נחשפים כשדות בתשובות API וכאזהרות בלוח הבקרה של Cloudflare, ואינם מוחזרים אלא אם מבקשים אותם במפורש.
הערה
שרתי השמות שהוסמכו אינם בהכרח מספק אחר. האצלה יכולה להצביע על שרתי השמות של Cloudflare, כמו במקרה של הגדרת תת דומיין.
#למה רשומות מוצללות חשובות
מכיוון שהאצלה מעבירה את הסמכות לתת דומיין למקום אחר, כל רשומה שממקמים בתוכה או מתחתיה אינה סמכותית, אף שהיא עדיין מופיעה באזור. הדוגמה הבאה:
sub.example.com NS ns1.example.org.
www.sub.example.com A 192.0.2.1האצלת ה-NS ב-sub.example.com מעבירה את הסמכות לכל מה שנמצא בה או מתחתיה, כולל www.sub.example.com, לשרתי השמות החיצוניים. שרתי השמות האלה, ולא האזור שלך, אחראים לענות על השם הזה, ולכן רשומת ה-A שנוספה כאן אינה הרשומה הסמכותית של www.sub.example.com.
הבעיה פועלת בשני הכיוונים. הוספת האצלת NS יכולה להצליל רשומות שכבר תלויים בהן, והוספת רשומות מתחת להאצלה קיימת יוצרת רשומות שהאזור כבר אינו סמכותי עבורן. בשני המקרים לא מוחזרת שגיאה, וזה מה שהופך את מטא נתוני ההצללה לשימושיים לאיתור הבעיה.
רשומות מוצללות נוצרות בדיוק בשתי דרכים:
- נוספה האצלה מעל רשומות שכבר היו קיימות בשם הזה או מתחתיו, למשל כשמפנים תת דומיין לספק חיצוני אבל משאירים את הרשומות המקוריות במקומן.
- נוספו רשומות בשם שכבר הוסמך או מתחתיו, למשל מתוך ציפייה שהן ייפתרו מאזור האב.
#רשומות glue
רשומת glue היא רשומת A או AAAA שחלק מההאצלות זקוקות לה כדי לעבוד. glue נדרש רק כששם המארח של שרת השמות בהאצלה נמצא בתוך האזור המוסמך עצמו. רוב ההאצלות מצביעות על שרתי שמות באזור אחר (למשל ns1.example.org להאצלה של sub.example.com) ואינן זקוקות ל-glue, כי הפותר יכול לאתר את שרתי השמות האלה בנפרד. בלי glue במקרה שהשם נמצא בתוך האזור, פותר ששואל "איפה ns1.sub.example.com?" יעקוב אחרי ההאצלה של sub.example.com, שאליה אי אפשר להגיע עד שכבר יודעים את ns1.sub.example.com. זו תלות מעגלית.
הדוגמה הבאה:
sub.example.com NS ns1.sub.example.com.
ns1.sub.example.com A 192.0.2.1רשומת ה-A של ns1.sub.example.com היא glue. היא מוצללת (האצלת sub.example.com נכנסת לתוקף קודם), אבל היא עדיין מוגשת. אזור האב כולל אותה במקטע הנוסף של תשובת ההפניה, לצד האצלת ה-NS, כדי שפותרים יוכלו לאתחל את החיפוש של תת הדומיין בלי להיתקע בתלות מעגלית.
glue משמעותי רק לרשומות A ו-AAAA. רשומת CNAME באותו שם כמו יעד NS אינה מטופלת כ-glue.
#רשומות glue בלתי נגישות
רשומת glue הופכת לבלתי נגישה כשהאצלה רדודה יותר נוטלת את הסמכות לשם שה-glue נועד לתמוך בו. ההאצלה הרדודה יותר (זו שקרובה יותר לקודקוד האזור, עם פחות תוויות בשם שלה) נוטלת את הסמכות לכל מה שמתחתיה, ולכן האזור אינו יכול להגיש את ה-glue אפילו במקטע הנוסף של הפניה. ה-API מדווח על הרשומות האלה עם dead_glue: true.
הדוגמה הבאה:
sub.example.com NS ns1.sub.example.com.
a.sub.example.com NS ns1.a.sub.example.com.
ns1.a.sub.example.com A 192.0.2.1רשומת ה-A של ns1.a.sub.example.com נראית כמו glue להאצלת a.sub. עם זאת, האצלת sub.example.com הרדודה יותר נוטלת את הסמכות לכל מה שמתחת ל-sub.example.com, כולל a.sub.example.com. הסמכות של האזור נעצרת בהאצלה הרדודה יותר הזו, ולכן ה-glue של ns1.a.sub.example.com נמצא מחוץ לה ולעולם אינו מוגש.
glue בלתי נגיש אינו גורם לכשלי פתרון. זו שאריות שאפשר להסיר בבטחה, או סימן לכך שההאצלה הרדודה יותר נוצרה בטעות.
זהירות
לפני שמסירים רשומה שסומנה כ-glue בלתי נגיש, יש לוודא ששרת השמות החיצוני של ההאצלה הרדודה יותר (
sub.example.comבדוגמה שלמעלה) כבר מחזיק את הרשומות הנכונות לתת הדומיין העמוק יותר.
#שדות מטא נתוני הצללה
שדות מטא נתוני הצללה מוחזרים באובייקט meta של כל רשומה כשהם חלים. הם מחושבים לפי דרישה בזמן קריאה, ולעולם אינם נשמרים.
#shadowed_by
סוג: מערך של מחרוזות (מזהי רשומות)
נוכח בכל רשומה שמוסתרת על ידי האצלת NS אחת או יותר. המערך מכיל את המזהים של רשומות ה-NS שההאצלות שלהן מצלות את הרשומה הזו. כמה מזהים מופיעים כשכמה רשומות NS חולקות את אותו שם האצלה, או כשקיימות האצלות ביותר מרמת אב אחת מעל הרשומה.
shadowed_by תמיד נוכח ברשומות glue, כי רשומות glue מוצללות מעצם ההגדרה.
רשומות קודקוד (רשומות שהשם שלהן שווה לשם האזור) לעולם אינן מוצללות ולעולם אינן נושאות את השדה הזה.
רשומת NS באותו שם כמו האצלה אינה נחשבת מוצללת על ידי ההאצלה הזו: היא ההאצלה. היא יכולה לשאת shadowed_by רק כשקיימת האצלה ברמת אב רדודה יותר.
#is_glue
סוג: בוליאני
נוכח ומוגדר ל-true ברשומות A או AAAA שהשם שלהן תואם ליעד של אחת מרשומות ה-NS שמצלות אותן. הרשומות האלה הן glue נדרש להאצלה. אף שהן מוצללות, הן עדיין מוגשות: אזור האב כולל אותן במקטע הנוסף של תשובות הפניה כדי שפותרים יוכלו להגיע לשרתי השמות שהוסמכו.
השדה הזה מושמט כשהרשומה אינה glue.
#dead_glue
סוג: בוליאני
נוכח ומוגדר ל-true ברשומות glue שלעולם אינן מוגשות בפועל, כי האצלה רדודה יותר מיירטת את הסמכות לפני שהאזור יכול לענות על השם הזה. רשומה עם dead_glue: true נושאת גם is_glue: true.
השדה הזה מושמט כשהרשומה היא glue חי, או כשהיא אינה glue כלל.
#shadowed_records_count
סוג: מספר שלם
נוכח ברשומות NS שאינן בקודקוד ויוצרות האצלה. מדווח כמה רשומות באזור מוצללות על ידי ההאצלה הזו (רשומות בשם ההאצלה או מתחתיו, למעט רשומות ה-NS של ההאצלה עצמה ורשומות מוסתרות).
הספירה מוגבלת ל-10,000. ערך של 10,000 פירושו "לפחות 10,000". השדה מושמט כשהספירה היא אפס.
הטבלה הבאה מראה אילו שדות מטא נתוני הצללה חלים על כל סוג רשומה:
| סוג רשומה | shadowed_by | is_glue | dead_glue | shadowed_records_count |
|---|---|---|---|---|
A | כן, אם מתחת להאצלה | כן, אם השם תואם ליעד NS | כן, אם זו glue והאצלה רדודה יותר מיירטת את הסמכות | לא |
AAAA | כן, אם מתחת להאצלה | כן, אם השם תואם ליעד NS | כן, אם זו glue והאצלה רדודה יותר מיירטת את הסמכות | לא |
NS (קודקוד) | לא | לא | לא | לא |
NS (לא בקודקוד, בשם ההאצלה) | לא | לא | לא | כן |
NS (לא בקודקוד, מתחת להאצלה) | כן | לא | לא | לא |
CNAME, MX, TXT, SRV, CAA, HTTPS, SVCB | כן, אם מתחת להאצלה | לא | לא | לא |
#בקשת מטא נתוני הצללה
מוסיפים include_shadow_metadata=true לכל בקשת API של רשומות DNS:
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records?include_shadow_metadata=true" \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"מטא נתוני הצללה זמינים בכל תשובות ה-API של רשומות: קריאת רשומה בודדת, תשובות יצירה ועדכון, בקשות רשימה, ובקשות אצווה. בבקשות רשימה ואצווה, מטא נתוני הצללה מחושבים רק כשהעמוד או האצווה מכילים 1,000 רשומות או פחות. בקשות מעל המגבלה הזו מחזירות רשומות בלי מטא נתוני הצללה.
#מציאת רשומות שמוצללות על ידי האצלה
כדי לרשום רק את הרשומות שמוצללות על ידי האצלה מסוימת, מעבירים את shadowed_by_name יחד עם include_shadow_metadata=true:
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records?include_shadow_metadata=true&shadowed_by_name=sub.example.com" \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"הערך חייב להיות תת דומיין של האזור (לא קודקוד האזור). המסנן מחזיר את כל הרשומות בשם הזה או מתחתיו. רשומות ה-NS בדיוק בשם ההאצלה מוחרגות (הן יוצרות את ההאצלה, לא את הקבוצה המוצללת). רשומות NS בשמות שמתחת להאצלה, למשל האצלה נוספת ב-a.sub.example.com כשמסננים לפי sub.example.com, מוצללות בעצמן ונכללות.
הערה
shadowed_by_nameדורשinclude_shadow_metadata=true. העברתshadowed_by_nameבלעדיו מחזירה שגיאה.
#מציאת האצלות שמצלות רשומה
כדי למצוא את האצלות ה-NS שמצלות רשומה מסוימת, מעבירים את shadowing_name:
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records?shadowing_name=www.sub.example.com" \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"המסנן מחזיר רשומות NS בשם שסופק ובכל אחד משמות האב שלו בתוך האזור, למעט קודקוד האזור. בדוגמה הזו, ה-API מחפש רשומות NS ב-www.sub.example.com וב-sub.example.com. הערך חייב להיות תת דומיין של האזור (לא קודקוד האזור).
בניגוד ל-shadowed_by_name, המסנן הזה אינו דורש include_shadow_metadata=true.
#דוגמת תשובה
להלן קטע שמציג שדות מטא נתוני הצללה בשלוש רשומות באזור שמכיל:
sub.example.com NS ns1.sub.example.com.
ns1.sub.example.com A 192.0.2.1
www.sub.example.com A 192.0.2.2[
{
"type": "NS",
"name": "sub.example.com",
"content": "ns1.sub.example.com.",
"meta": {
"shadowed_records_count": 2
}
},
{
"type": "A",
"name": "ns1.sub.example.com",
"content": "192.0.2.1",
"meta": {
"shadowed_by": ["<NS_RECORD_ID>"],
"is_glue": true
}
},
{
"type": "A",
"name": "www.sub.example.com",
"content": "192.0.2.2",
"meta": {
"shadowed_by": ["<NS_RECORD_ID>"]
}
}
]רשומת ה-NS נושאת shadowed_records_count: 2 (שתי רשומות מוצללות על ידה). רשומת ה-A שהיא glue נושאת גם shadowed_by וגם is_glue: true. רשומת ה-A שאינה glue נושאת רק shadowed_by.