תיעוד 33
תחילת העבודה
פעל לפי המדריך הזה כדי להתחיל עם Internal DNS.
#לפני שמתחילים
- ודא שיש לך חשבון Enterprise עם גישה אל מדיניות פותר Gateway ואל Internal DNS.
- שקול את הדרכים השונות שבהן אפשר להתחבר אל פותר Gateway.
זהירות
אם משתמשים ב-WARP, ודא שאזורי ה-DNS הפנימיים או ה-TLD שלהם לא מופיעים בהגדרת Local Domain Fallback. אחרת, שאילתות DNS עבור דומיין תואם יישלחו אל שרת ה-DNS המקומי שצוין ב-fallback, במקום להישלח אל Cloudflare.
- אם תשתמש באסימון API לאימות, ודא שיש לך את ההרשאות הבאות:
הגדרת אסימון API
הרשאות
- Account - DNS Views - Edit
- Zone - DNS - Edit
- Account - Account Settings - Edit
- Zone - DNS Settings - Edit
- Zone - Zone - Edit
משאבי חשבון
- Include - (Your account)
משאבי אזור
Include - Specific zones
בעת יצירת אסימון עבור Internal DNS, מומלץ להגביל אותו לאזורים פנימיים ספציפיים במקום להשתמש ב-"All zones". זה עומד בעקרון ההרשאה המינימלית. אם תיצור אזורים פנימיים חדשים בהמשך, תצטרך לעדכן את היקף האסימון כך שיכלול אותם. תמיכה בהיקף אוטומטי לפי סוג אזור (לדוגמה, "all internal zones") מתוכננת לגרסה עתידית.
על אימות
Internal DNS משתמש באותו מודל אימות כמו שאר Cloudflare DNS. אין תפקיד נפרד או קבוצת הרשאות מיוחדת לאזורים פנימיים. משתמשים בהרשאות DNS רגילות שמוגבלות לאזורים הספציפיים שרוצים לנהל.
הבחנה חשובה אחת: אסימון שמוגבל לאזור לא יכול ליצור אזור, כי האזור עדיין לא קיים כדי להגביל אליו. כדי ליצור אזור פנימי דרך ה-API, נדרש אסימון עם Zone > Zone > Edit שמוגבל אל All zones או ברמת החשבון. אחרי שהאזור קיים, עבור לאסימון שמוגבל לאזור לניהול רשומות והגדרות.
#1. הגדרת אזור ה-DNS הפנימי
- בלוח הבקרה של Cloudflare, עבור אל הדף Internal DNS. עבור אל Internal DNS
- בחר Create an internal zone.
- תן לאזור הפנימי שם.
תנאי הגדרה של אזור פנימי
- אזורים פנימיים יכולים להכיל את אותם סוגי רשומות DNS ש-Cloudflare תומכת בהם עבור אזורים ציבוריים.
- לאזור פנימי יכול להיות אותו שם כמו לאזור ציבורי באותו חשבון.
- כל אזור פנימי יכול להיות מקושר לכמה views.1
- יכולים להיות כמה אזורים פנימיים עם אותו שם בחשבון אחד. עם זאת, שני אזורים פנימיים עם אותו שם לא יכולים להיות מקושרים לאותו view.
- אזורים פנימיים לא כפופים להגבלות של דומיין עליון (TLD). המשמעות היא שאפשר ליצור אזור פנימי אם ה-TLD שלו לא רשום באופן ציבורי (לדוגמה,
xyz.local), אם הוא נוצר על ה-TLD עצמו (local), או אפילו על השורש (.).
1 קיבוצים לוגיים של אזורי DNS פנימיים שמדיניות פותר Gateway מפנה אליהם כדי להגדיר איך שאילתה ספציפית צריכה להיפתר.
- הוסף רשומות DNS לאזור הפנימי באמצעות האפשרות המועדפת:
- ייבוא של קובץ BIND מעוצב.
- בחר Add a record ובחר Create תחת סוג הרשומה שרוצים להוסיף. עיין בסוגי רשומות DNS לפרטים.
- חזור על התהליך הזה עבור כל אזור פנימי שרוצים להוסיף.
הערה
יצירת כמה רשומות DNS פנימיות באצווה נתמכת כרגע רק דרך API.
- השתמש בנקודת הקצה Create Zone כדי ליצור אזור פנימי. ציין את מזהה החשבון והגדר את
typeל-internal.
תנאי הגדרה של אזור פנימי
- אזורים פנימיים יכולים להכיל את אותם סוגי רשומות DNS ש-Cloudflare תומכת בהם עבור אזורים ציבוריים.
- לאזור פנימי יכול להיות אותו שם כמו לאזור ציבורי באותו חשבון.
- כל אזור פנימי יכול להיות מקושר לכמה views.1
- יכולים להיות כמה אזורים פנימיים עם אותו שם בחשבון אחד. עם זאת, שני אזורים פנימיים עם אותו שם לא יכולים להיות מקושרים לאותו view.
- אזורים פנימיים לא כפופים להגבלות של דומיין עליון (TLD). המשמעות היא שאפשר ליצור אזור פנימי אם ה-TLD שלו לא רשום באופן ציבורי (לדוגמה,
xyz.local), אם הוא נוצר על ה-TLD עצמו (local), או אפילו על השורש (.).
1 קיבוצים לוגיים של אזורי DNS פנימיים שמדיניות פותר Gateway מפנה אליהם כדי להגדיר איך שאילתה ספציפית צריכה להיפתר.
דוגמה
הרשאות נדרשות לאסימון API
נדרשת לפחות אחת מהרשאות האסימון הבאות:
Zone Zone EditZone DNS Edit
Create Zone
curl "https://api.cloudflare.com/client/v4/zones" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"account": {
"id": "<ACCOUNT_ID>"
},
"name": "<ZONE_NAME>",
"type": "internal"
}'- הוסף רשומות DNS לאזור הפנימי באמצעות האפשרות המועדפת:
- ייבוא של קובץ BIND מעוצב. עיין במדריך רשומות DNS להנחיה.
- השתמש בנקודות קצה אחרות של ה-API, כגון
/batch, כדי לנהל רשומות DNS. עיין בשינויי רשומות באצווה לפרטים.
- חזור על התהליך הזה עבור כל אזור פנימי שרוצים להוסיף.
#(אופציונלי) הפניה לאזור מאזור אחר
במהלך פתרון שאילתת DNS פנימית, אם לא נמצאת רשומה פנימית בתוך אזור פנימי תואם, Cloudflare יבדוק אם האזור הפנימי התואם מפנה לאזור פנימי אחר. אפשר לעקוב אחרי הפניות עוקבות, עם מקסימום של חמש הפניות בשרשרת.
לפרטים, עיין באזורי הפניה.
בלוח הבקרה של Cloudflare, עבור אל הדף Internal DNS. עבור אל Internal DNS
בחר אזור.
בתוך האזור שנבחר, עבור אל Reference zone.
בחר Add reference zone.
מצא את האזור שרוצים להשתמש בו כהפניה ובחר Select בשורה המתאימה.
השתמש בנקודת הקצה Update DNS settings כדי להוסיף הפניה מאזור פנימי לאזור פנימי אחר. ב-
--json, ציין את האובייקטinternal_dnsעם הפרמטרreference_zone_id.
בדוגמה הבאה, אזור פנימי A (מזהה 8a904aeb565c42cfa207d98f6edea2f3) מפנה לאזור פנימי B (מזהה 8e64c6fb4b514f3faf64de81efc11e51).
הרשאות נדרשות לאסימון API
נדרשת לפחות אחת מהרשאות האסימון הבאות:
Zone DNS Settings WriteDNS Write
Update DNS Settings
curl "https://api.cloudflare.com/client/v4/zones/8a904aeb565c42cfa207d98f6edea2f3/dns_settings" \
--request PATCH \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"internal_dns": {
"reference_zone_id": "8e64c6fb4b514f3faf64de81efc11e51"
}
}'#2. קישור האזור הפנימי אל view
מכיוון שמדיניות הפותר תדרוש DNS view, חייב להיות לפחות view אחד כדי שאפשר יהיה לנתב בקשות אל אזורים פנימיים.
- בלוח הבקרה של Cloudflare, עבור אל הדף Internal DNS. עבור אל Internal DNS
- עבור אל Internal DNS Views.
- בחר Create a view.
- תן ל-view שם תיאורי.
תנאי הגדרה של DNS view
- DNS views יכולים להיות ריקים, בלי אזורים פנימיים מקושרים אליהם.
- DNS view לא יכול להכיל אזורי DNS ציבוריים.1
- כל שם של אזור DNS פנימי חייב להיות ייחודי בתוך DNS view נתון.
- כל שם של DNS view חייב להיות ייחודי בתוך חשבון Cloudflare נתון.
1 אזורי DNS שמכילים רשומות DNS ציבוריות ונגישים לפותרים ציבוריים.
בחר Manage zones כדי להוסיף אזורים ל-view. בחר את האזורים הפנימיים שצריכים לשמש לפתרון שאילתות שפותר Gateway שולח אל ה-view הזה.
בחר Save כדי לאשר.
השתמש בנקודת הקצה Create Internal DNS View. עבור כל view שיוצרים, פרט את כל האזורים הפנימיים שצריכים להיות מקובצים תחת אותו view.
תנאי הגדרה של DNS view
- DNS views יכולים להיות ריקים, בלי אזורים פנימיים מקושרים אליהם.
- DNS view לא יכול להכיל אזורי DNS ציבוריים.1
- כל שם של אזור DNS פנימי חייב להיות ייחודי בתוך DNS view נתון.
- כל שם של DNS view חייב להיות ייחודי בתוך חשבון Cloudflare נתון.
1 אזורי DNS שמכילים רשומות DNS ציבוריות ונגישים לפותרים ציבוריים.
#3. הגדרת מדיניות Gateway
הערה
הגדרת Gateway חייבת להיות באותו חשבון Cloudflare שבו נמצא האזור הפנימי.
מלבד בחירת DNS view פנימי בעת הגדרת מדיניות הפותר, אפשר גם להפעיל את האפשרות fallback through public DNS.
- בCloudflare One, עבור אל Traffic policies > Firewall policies > Resolver policies.
- בחר Add a policy והזן שם ותיאור.
- צור ביטוי עבור התעבורה שרוצים לנתב. להנחיה על selectors, operators ו-values, עיין במדיניות פותר Gateway.
- בחר Use Internal DNS. בחר את ה-view שאליו צריך לשלוח שאילתות שתואמות את הביטוי.
- (אופציונלי) התאם את האפשרות Fallback through public DNS לפי מקרה השימוש.
- Off: פותר ה-DNS של Gateway מחזיר את התשובה כפי שהיא אל הלקוח.
- On: במקרה שהתשובה מהאזור הפנימי היא REFUSED, NXDOMAIN, או תשובה מסוג CNAME, פותר ה-DNS של Gateway שולח את השאילתה אל הפותר הציבורי Cloudflare 1.1.1.1 ומנסה לפתור את השאילתה דרך DNS ציבורי.
- בחר Create policy כדי לאשר.
השתמש בנקודות הקצה תחת Zero Trust > Gateway > Rules כדי להגדיר מדיניות פותר. להנחיה על selectors, operators ו-values, עיין בGateway.
השתמש באובייקט הגדרות הכלל כדי להגדיר את resolve_dns_internally, וציין את view_id ואת אפשרות fallback. אפשרויות ה-fallback פועלות כך:
none: פותר ה-DNS של Gateway מחזיר את התשובה כפי שהיא אל הלקוח.public_dns: במקרה שהתשובה מהאזור הפנימי היא REFUSED, NXDOMAIN, או תשובה מסוג CNAME, פותר ה-DNS של Gateway שולח את השאילתה אל הפותר הציבורי Cloudflare 1.1.1.1 ומנסה לפתור את השאילתה דרך DNS ציבורי.
אחרי שמוסיפים את מדיניות פותר Gateway, היא תופיע ב-view הפנימי המתאים תחת Resolver policies referencing this view.
#ניהול עם Terraform
אפשר גם לנהל משאבי Internal DNS עם ספק Terraform של Cloudflare. התבניות זהות לאזורי DNS ציבוריים. ההבדל היחיד הוא הגדרת type = "internal" במשאב cloudflare_zone.
השתמש באסימון API שמוגבל לאזור לניהול השוטף, ובאסימון ברמת החשבון ליצירת אזורים חדשים. אם האסימון מוגבל לאזורים ספציפיים, זכור לעדכן אותו כשמוסיפים אזורים פנימיים חדשים. לדוגמה עובדת מלאה, עיין בתיעוד ספק Terraform.