הגדרת כללי המדיניות של שרת ה-DNS

בדף הזה מוסבר איך להגדיר מדיניות של שרת DNS ולהשתמש בה ברשתות של ענן וירטואלי פרטי (VPC). לפני שמשתמשים בדף הזה, כדאי לעיין בסקירה הכללית של מדיניות שרת DNS.

לפני שמתחילים

כדי להשתמש ב-Cloud DNS API, צריך ליצור Google Cloud פרויקט ולהפעיל את Cloud DNS API.

אם אתם יוצרים אפליקציה שמשתמשת ב-API בארכיטקטורת REST, אתם צריכים גם ליצור מזהה לקוח OAuth 2.0.

  1. אם עדיין אין לכם חשבון, צריך להירשם לחשבון Google.
  2. מפעילים את Cloud DNS API ב Google Cloud מסוף. אפשר לבחור פרויקט קיים ב-Compute Engine או ב-App Engine, או ליצור פרויקט חדש.
  3. אם אתם צריכים לשלוח בקשות אל API בארכיטקטורת REST, אתם צריכים ליצור מזהה OAuth 2.0. הגדרת OAuth 2.0
  4. בפרויקט, רושמים את הפרטים הבאים שצריך להזין בשלבים הבאים:
    • מזהה הלקוח (xxxxxx.apps.googleusercontent.com).
    • מזהה הפרויקט שבו רוצים להשתמש. המזהה מופיע בחלק העליון של הדף סקירה כללית במסוף Google Cloud . אפשר גם לבקש מהמשתמש לציין את שם הפרויקט שבו הוא רוצה להשתמש באפליקציה.

אם לא הפעלתם את Google Cloud CLI בעבר, אתם צריכים להריץ את הפקודה הבאה כדי לציין את שם הפרויקט ולאמת את עצמכם במסוף Google Cloud :

gcloud auth login

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

יצירת מדיניות של שרת DNS

כל אובייקט מדיניות של שרת DNS יכול להגדיר כל אחת ממדיניות השרתים הבאות:

כל רשת VPC יכולה להפנות למדיניות שרת DNS אחת בלבד. אם אתם צריכים להגדיר העברה נכנסת ויוצאת לרשת VPC, אתם צריכים ליצור מדיניות אחת שמגדירה גם מדיניות נכנסת וגם מדיניות יוצאת. אי אפשר להגדיר DNS64 באמצעות מדיניות שרת DNS נכנס.

יצירת מדיניות שרת DNS למשלוח נכנס

כדי ליצור מדיניות שרת DNS נכנס, פועלים לפי ההוראות האלה. ‫Cloud DNS יוצר קבוצה של כתובות IP של מעבירי בקשות נכנסות מתוך טווחי כתובות ה-IPv4 הראשיים של תת-רשתות בכל רשת VPC שהמדיניות חלה עליה. אחרי שיוצרים את המדיניות, אפשר לרשום את נקודות הכניסה שנוצרות ב-Cloud DNS.

המסוף

  1. במסוף Google Cloud , פותחים את הדף מדיניות שרת Cloud DNS.

    כניסה למדיניות שרתי Cloud DNS

  2. לוחצים על יצירת מדיניות.

  3. בשדה שם, מזינים את השם של מדיניות שרת ה-DNS הנכנסת שרוצים ליצור, למשל inbound-dns-server-policy.

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

  5. אפשר להפעיל את DNS64 כדי לאפשר תקשורת בין עומסי עבודה של IPv6 בלבד לבין יעדים של IPv4 בלבד. מידע נוסף זמין במאמר הגדרת DNS64.

  6. אפשר להפעיל יומני שרת DNS פרטי בקטע Logs, אבל זה עלול להגדיל את העלויות ב-Cloud Logging.

  7. ברשימה Networks (רשתות), בוחרים את רשתות ה-VPC שרוצים לקשר למדיניות הזו של שרת DNS.

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

  8. לוחצים על יצירה.

gcloud

כדי ליצור מדיניות שרת DNS נכנס, מריצים את הפקודה dns policies create:

gcloud dns policies create NAME \
    --description="DESCRIPTION" \
    --networks="VPC_NETWORK_LIST" \
    --enable-inbound-forwarding

מחליפים את מה שכתוב בשדות הבאים:

  • NAME: שם למדיניות
  • DESCRIPTION: תיאור המדיניות
  • VPC_NETWORK_LIST: רשימה מופרדת בפסיקים של רשתות VPC שהמדיניות של שרת ה-DNS צריכה להיות מקושרת אליהן

Terraform

resource "google_dns_policy" "default" {
  name                      = "example-inbound-policy"
  enable_inbound_forwarding = true

  networks {
    network_url = google_compute_network.default.id
  }
}

resource "google_compute_network" "default" {
  name                    = "network"
  auto_create_subnetworks = false
}

יצירת מדיניות שרת DNS יוצא

כדי לציין רשימה של שרתי שמות חלופיים לרשת VPC, אפשר ליצור מדיניות שרת DNS יוצא.

המסוף

  1. במסוף Google Cloud , פותחים את הדף מדיניות שרת Cloud DNS.

    כניסה למדיניות שרתי Cloud DNS

  2. לוחצים על יצירת מדיניות.

  3. בשדה שם, מזינים את השם של מדיניות שרת ה-DNS היוצאת שרוצים ליצור, כמו outbound-dns-server-policy.

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

  5. אפשר להפעיל יומני שרת DNS פרטי בקטע Logs, אבל זה עלול להגדיל את העלויות ב-Cloud Logging.

  6. בקטע Alternative DNS servers (Optional) (שרתי DNS חלופיים (אופציונלי)), לוחצים על Add item (הוספת פריט) ומזינים את כתובת ה-IP של שרתי ה-DNS היוצאים בשדה IP Address (כתובת IP).

    • מסמנים את התיבה העברה פרטית אם רוצים לאלץ ניתוב פרטי לשרתי DNS יוצאים.
  7. ברשימה Networks (רשתות), בוחרים את רשתות ה-VPC שרוצים לקשר למדיניות הזו של שרת DNS.

  8. לוחצים על יצירה.

gcloud

כדי ליצור מדיניות שרת DNS יוצאת, מריצים את הפקודה dns policies create:

gcloud dns policies create NAME \
    --description="DESCRIPTION" \
    --networks="VPC_NETWORK_LIST" \
    --alternative-name-servers="ALTERNATIVE_NAMESERVER_LIST" \
    --private-alternative-name-servers="PRIVATE_ALTERNATIVE_NAMESERVER_LIST"

מחליפים את מה שכתוב בשדות הבאים:

  • NAME: שם למדיניות
  • DESCRIPTION: תיאור המדיניות
  • VPC_NETWORK_LIST: רשימה מופרדת בפסיקים של רשתות VPC ששולחות שאילתות לשרתי שמות חלופיים
  • ALTERNATIVE_NAMESERVER_LIST: רשימה מופרדת בפסיקים של כתובות IP שאפשר להשתמש בהן כשרתי שמות חלופיים
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST: רשימה מופרדת בפסיקים של כתובות IP שאפשר להשתמש בהן כשרתי שמות חלופיים, שאליהן יש גישה באמצעות ניתוב פרטי

Terraform

resource "google_dns_policy" "default" {
  name = "example-outbound-policy"

  alternative_name_server_config {
    target_name_servers {
      ipv4_address    = "172.16.1.10"
      forwarding_path = "private"
    }
    target_name_servers {
      ipv4_address = "172.16.1.20"
    }
  }

  networks {
    network_url = google_compute_network.default.id
  }
}

resource "google_compute_network" "default" {
  name                    = "network"
  auto_create_subnetworks = false
}

יצירת מדיניות שרת DNS להעברה של הודעות נכנסות ויוצאות

המסוף

  1. במסוף Google Cloud , פותחים את הדף מדיניות שרת Cloud DNS.

    כניסה למדיניות שרתי Cloud DNS

  2. לוחצים על יצירת מדיניות.

  3. בשדה שם, מזינים את השם של מדיניות שרת ה-DNS הנכנסת שרוצים ליצור, למשל inbound-outbound-dns-server-policy.

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

  5. אפשר להפעיל יומני שרת DNS פרטי בקטע Logs, אבל זה עלול להגדיל את העלויות ב-Cloud Logging.

  6. בקטע Alternative DNS servers (Optional) (שרתי DNS חלופיים (אופציונלי)), לוחצים על Add item (הוספת פריט) ומזינים את כתובת ה-IP של שרתי ה-DNS היוצאים בשדה IP Address (כתובת IP).

    • בוחרים באפשרות העברה פרטית אם רוצים לאלץ ניתוב פרטי לשרתי DNS יוצאים.
  7. ברשימה Networks (רשתות), בוחרים את רשתות ה-VPC שרוצים לקשר למדיניות הזו של שרת DNS.

  8. לוחצים על יצירה.

gcloud

כדי ליצור מדיניות של שרת DNS להעברה נכנסת ויוצאת, מריצים את הפקודה dns policies create:

gcloud dns policies create NAME \
    --description="DESCRIPTION" \
    --networks="VPC_NETWORK_LIST" \
    --alternative-name-servers="ALTERNATIVE_NAMESERVER_LIST" \
    --private-alternative-name-servers="PRIVATE_ALTERNATIVE_NAMESERVER_LIST" \
    --enable-inbound-forwarding

מחליפים את מה שכתוב בשדות הבאים:

  • NAME: שם למדיניות
  • DESCRIPTION: תיאור המדיניות
  • VPC_NETWORK_LIST: רשימה מופרדת בפסיקים של רשתות VPC שבהן צריך ליצור כתובות להעברת תעבורה נכנסת, ושצריך לשלוח שאילתות לשרתי השמות החלופיים
  • ALTERNATIVE_NAMESERVER_LIST: רשימה מופרדת בפסיקים של כתובות IP שאפשר להשתמש בהן כשרתי שמות חלופיים
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST: רשימה מופרדת בפסיקים של כתובות IP שאפשר להשתמש בהן כשרתי שמות חלופיים, שאליהם ניגשים באמצעות ניתוב פרטי.

Terraform

resource "google_dns_policy" "example_policy" {
  name                      = "example-policy"
  enable_inbound_forwarding = true

  enable_logging = true

  alternative_name_server_config {
    target_name_servers {
      ipv4_address    = "172.16.1.10"
      forwarding_path = "private"
    }
    target_name_servers {
      ipv4_address = "172.16.1.20"
    }
  }

  networks {
    network_url = google_compute_network.network_1.id
  }
  networks {
    network_url = google_compute_network.network_2.id
  }
}

resource "google_compute_network" "network_1" {
  name                    = "network-1"
  auto_create_subnetworks = false
}

resource "google_compute_network" "network_2" {
  name                    = "network-2"
  auto_create_subnetworks = false
}

רשימת נקודות כניסה של מעבירי דואר נכנס

כשמדיניות של שרת DNS נכנסת חלה על רשת VPC,‏ Cloud DNS יוצר קבוצה של כתובות IP פנימיות אזוריות שמשמשות כיעדים שאליהם המערכות המקומיות או פותרי השמות יכולים לשלוח שאילתות DNS. הכתובות האלה משמשות כנקודות כניסה לסדר של פתרון שמות ברשת ה-VPC.

Google Cloud כללי חומת האש לא חלים על הכתובות הפנימיות האזוריות שמשמשות כנקודות כניסה להעברות נתונים נכנסות. ‫Cloud DNS מקבל תנועת TCP ו-UDP ביציאה 53 באופן אוטומטי.

כל מעביר נתונים נכנס מקבל שאילתות ממנהרות Cloud VPN או מחיבורי Cloud Interconnect (רשתות VLAN) באותו אזור כמו כתובת ה-IP הפנימית האזורית. מופעי VM יכולים לגשת למעביר התנועה הנכנסת דרך כל אחת מכתובות ה-IP הפנימיות באותה רשת VPC. כדי לגשת להעברה של תעבורה נכנסת, לממשק הרשת צריכה להיות כתובת IP חיצונית, או שברשת המשנה של כרטיס הרשת צריך להיות מופעל גישה פרטית ל-Google.

המסוף

כדי לראות את רשימת נקודות הכניסה של המעביד למדיניות:

  1. במסוף Google Cloud , פותחים את הדף מדיניות שרת Cloud DNS.

    כניסה למדיניות שרתי Cloud DNS

  2. לוחצים על שם המדיניות.

  3. בדף פרטי המדיניות, לוחצים על הכרטיסייה בשימוש על ידי.

כל רשת שמקושרת למדיניות מפרטת את כתובות ה-IP של העברת שאילתות נכנסות.

gcloud

כדי לראות את רשימת כתובות ה-IP הפנימיות האזוריות שמשמשות כנקודות כניסה לכל כללי ההעברה לדואר נכנס, מריצים את הפקודה compute addresses list:

gcloud compute addresses list \
    --filter='purpose = "DNS_RESOLVER"' \
    --format='csv(address, region, subnetwork)'

עדכון מדיניות DNS

בקטעים הבאים מוסבר איך לשנות רשתות VPC ואיך להפעיל או להשבית העברה של תעבורה נכנסת.

שינוי רשתות VPC

ברשימה הבאה מוסבר מה קורה כשמשנים את רשימת רשתות ה-VPC שחלה עליהן מדיניות DNS:

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

המסוף

  1. במסוף Google Cloud , פותחים את הדף מדיניות שרת Cloud DNS.

    כניסה למדיניות שרתי Cloud DNS

  2. לוחצים על שם המדיניות שרוצים לשנות.

  3. לוחצים על עריכת המדיניות.

  4. ברשימה רשתות, מסמנים או מבטלים את הסימון של תיבות הסימון לצד רשתות ה-VPC.

  5. לוחצים על Save.

gcloud

כדי לשנות את רשימת הרשתות שאליהן חלה מדיניות שרת DNS, מריצים את הפקודה dns policies update:

gcloud dns policies update NAME \
    --networks="VPC_NETWORK_LIST"

מחליפים את מה שכתוב בשדות הבאים:

  • NAME: שם למדיניות
  • VPC_NETWORK_LIST: רשימה מופרדת בפסיקים של רשתות VPC שהמדיניות חלה עליהן. הרשימה של רשתות ה-VPC שאתם מציינים מחליפה את הרשימה הקודמת

הפעלה או השבתה של העברה נכנסת

אפשר להפעיל העברה של תעבורה נכנסת למדיניות של שרת DNS שמגדירה רק מדיניות של תעבורה יוצאת (שרת שמות חלופי). אפשר גם להשבית העברה נכנסת עבור מדיניות DNS קיימת.

המסוף

הפעלת העברה נכנסת למדיניות שרת DNS:

  1. במסוף Google Cloud , פותחים את הדף מדיניות שרת Cloud DNS.

    כניסה למדיניות שרתי Cloud DNS

  2. לוחצים על שם המדיניות שרוצים לשנות.

  3. לוחצים על עריכת המדיניות.

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

  5. לוחצים על Save.

כדי להשבית העברה נכנסת למדיניות של שרת DNS:

  1. פותחים את הדף Cloud DNS server policies (מדיניות שרת DNS ב-Cloud).
  2. לוחצים על שם המדיניות שרוצים לשנות.
  3. לוחצים על עריכת המדיניות.
  4. בקטע העברת שאילתות נכנסות, בוחרים באפשרות מושבת.
  5. לוחצים על Save.

gcloud

כדי להפעיל העברה של תעבורה נכנסת למדיניות של שרת DNS, מריצים את הפקודה dns policies update:

gcloud dns policies update NAME \
    --enable-inbound-forwarding

כדי להשבית העברה נכנסת למדיניות של שרת DNS, מציינים את הדגל --no-enable-inbound-forwarding:

gcloud dns policies update NAME \
    --no-enable-inbound-forwarding

מחליפים את NAME בשם המדיניות.

הצגת רשימה של כללי מדיניות DNS

המסוף

  1. במסוף Google Cloud , פותחים את הדף מדיניות שרת Cloud DNS.

    כניסה למדיניות שרתי Cloud DNS

  2. כל מדיניות שרתי ה-DNS שנוצרה בפרויקט שלכם מופיעה ברשימה.

gcloud

כדי לפרסם את כללי המדיניות של שרתי ה-DNS בפרויקט, מריצים את הפקודה dns policies list:

gcloud dns policies list

מחיקת מדיניות DNS

המסוף

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

  1. במסוף Google Cloud , פותחים את הדף מדיניות שרת Cloud DNS.

    כניסה למדיניות שרתי Cloud DNS

  2. לצד שם המדיניות שרוצים למחוק, לוחצים על מחיקה.

gcloud

כדי למחוק מדיניות של שרת DNS, מריצים את הפקודה dns policies delete:

gcloud dns policies delete NAME

מחליפים את NAME בשם המדיניות שרוצים למחוק.

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