הגדרת DNS64

במסמך הזה מוסבר איך להגדיר מדיניות שרת DNS64 ולהשתמש בה ברשתות של ענן וירטואלי פרטי (VPC).

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

  • מדיניות שרתי DNS64 לא חלה על מופעים של מכונות וירטואליות (VM) עם תמיכה כפולה, על מופעים של מכונות וירטואליות עם IPv4 בלבד, על עומסי עבודה בלי שרת (serverless) או על בקשות שנשלחות לנקודות קצה שנוצרו על ידי מדיניות של שרת DNS נכנס.
  • מוודאים שיש לכם את ההרשאות הנדרשות ליצירת מדיניות של שרת DNS64.

יצירת מדיניות שרת DNS64

יוצרים מדיניות שרת DNS64 כדי לאפשר תקשורת בין עומסי עבודה ב-IPv6 בלבד לבין יעדים ב-IPv4 בלבד.

אחרי שיוצרים מדיניות שרת DNS64, קורה הדבר הבא כשמתבצעת שאילתה לגבי רשומת IPv6 ‏ (AAAA):

  • אם קיימת רשומת DNS‏ AAAA, שרת ה-DNS מחזיר כתובת IPv6. עומס העבודה מתחבר באמצעות כתובת ה-IPv6 הזו.
  • אם לא קיימת רשומת DNS‏ AAAA, ‏ Cloud DNS מחפש רשומות A. לאחר מכן, Cloud DNS יוצר כתובות IPv6 לכתובות IPv4 ברשומה A, באמצעות הקידומת 64:ff9b::/96 של IPv6.

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

gcloud

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

gcloud dns policies create NAME \
    --description=DESCRIPTION \
    --networks=VPC_NETWORK_LIST \
    --enable-dns64-all-queries

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

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

Terraform

resource "google_dns_policy" "default" {
  name = "NAME"

  dns64_config {
    scope {
      all_queries = true
    }
  }

  alternative_name_server_config {
    target_name_servers {
      ipv4_address    = "PRIVATE_IP_ADDRESS"
      forwarding_path = "private"
    }
    target_name_servers {
      ipv4_address = "PUBLIC_IP_ADDRESS"
    }
  }

  networks {
    network_url = google_compute_network.default.id
  }
}

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

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

  • NAME: שם למדיניות DNS64 היוצאת
  • PRIVATE_IP_ADDRESS: כתובת ה-IP של שרת שמות חלופי באמצעות נתיב העברה פרטי
  • PUBLIC_IP_ADDRESS: כתובת ה-IP של שרת שמות חלופי אחר

API

כדי ליצור מדיניות שרת DNS64, משתמשים ב-method ‏policies.create:

POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/policies
{
  "kind": "dns#policy",
  "networks": [
    {
      "kind": "dns#policyNetwork",
      "networkUrl": "NETWORK_URL"
    }
  ],
  "dns64Config":
    {
        "scope":
        {
          allQueries: true,
        }
    }
  }

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

  • PROJECT_ID: מזהה הפרויקט.
  • NETWORK_URL: כתובת ה-URL המוגדרת במלואה של רשת ה-VPC שאליה צריך לקשור את מדיניות שרת ה-DNS, בפורמט הבא: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME. מציינים את הרשת שמכילה את רשתות המשנה והמכונות עם IPv6 בלבד.

בדיקה אם מדיניות שרת DNS64 מופעלת

gcloud

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

gcloud dns policies list

כדי לקבל מידע מפורט על מדיניות ספציפית של שרת DNS64, מריצים את הפקודה gcloud dns policies describe:

gcloud dns policies describe NAME

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

השבתת מדיניות של שרת DNS64

gcloud

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

gcloud dns policies update NAME \
    --no-enable-dns64-all-queries

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

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

  • כדי להגדיר NAT64 לתרגום NAT ציבורי מכתובות IPv6 לכתובות IPv4, פועלים לפי ההוראות במאמר יצירת שער Cloud NAT.
  • סקירה כללית של מדיניות שרתי DNS מופיעה במאמר מדיניות שרתי DNS.
  • כדי למצוא פתרונות לבעיות נפוצות שאתם עשויים להיתקל בהן במהלך השימוש ב-Cloud DNS, אפשר לעיין במאמר בנושא פתרון בעיות ב-Cloud DNS.