במסמך הזה מוסבר איך להגדיר מדיניות שרת 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.