הגדרת כללי המדיניות של שרת ה-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).
    • מזהה הפרויקט שבו רוצים להשתמש. המזהה מופיע בחלק העליון של הדף Overview במסוף 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.

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 שבהן צריך ליצור כתובות להעברה נכנסת

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 יוצא.

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 שאפשר להשתמש בהן כשרתי שמות חלופיים. ניתוב פרטי משמש רק לשרתי שמות חלופיים שיש להם כתובות RFC 1918.
  • 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 להעברה נכנסת ויוצאת

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 שאפשר להשתמש בהן כשרתי שמות חלופיים. ניתוב פרטי משמש רק לשרתי שמות חלופיים שיש להם כתובות RFC 1918.
  • 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 הפנימית האזורית. למכונות וירטואליות יש גישה למפנה הקלט דרך כל אחת מכתובות ה-IP הפנימיות באותה רשת VPC. כדי לגשת להעברה נכנסת, לממשק הרשת צריכה להיות כתובת IP חיצונית או שצריך להפעיל את Private Google Access ברשת משנה של NIC.

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 מתעדכן כך שיכלול את שרתי השמות החלופיים שצוינו.

gcloud

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

gcloud dns policies update NAME \
    --networks=VPC_NETWORK_LIST

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

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

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

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

gcloud

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

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

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

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

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

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

gcloud

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

gcloud dns policies list

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

gcloud

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

gcloud dns policies delete NAME

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

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