יצירת רשומת PTR למכונה וירטואלית

רשומות PTR שניתנות להגדרה מאפשרות להגדיר את רשומת ה-DNS ההפוכה שמשויכת לכתובת ה-IP החיצונית של מכונה וירטואלית, כך שאפליקציות שמסתמכות על הרשומות האלה יוכלו לפעול כמצופה.

חלק מהאפליקציות דורשות רשומות DNS הפוכות (רשומות PTR) כדי לפתור כתובות IP לשמות דומיין. לדוגמה, אפליקציות שמשתמשות ב-SMTP דורשות רשומת PTR שמפנה לדומיין שממנו נשלח אימייל. בלי הרשומה הזו, מסנני ספאם יכולים לסמן אימיילים עם מוניטין נמוך, מה שגורם לאימיילים להגיע לתיקיות ספאם או לא להישלח בכלל.

אפשר להוסיף רשומות PTR רק לממשק הרשת הראשי של מופע מכונה וירטואלית. רשומות PTR לא זמינות לחזיתות של מאזני עומסים, ל-Cloud NAT או לכתובות IP אחרות שאינן של מכונות וירטואליות.

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

כדי ליצור רשומות PTR בהתאמה אישית שמבטלות את השמות הפנימיים של רשומות ה-PTR ב-DNS שנוצרו באופן אוטומטי, אפשר לעיין במאמר בנושא אזורי חיפוש הפוך מנוהלים.

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

  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:

    צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:

    המסוף

    כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Cloud de Confiance by S3NS

    gcloud

    1. התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

      gcloud init
  • הגדרת אזור ותחום כברירת מחדל
  • REST

    כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.

      התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.

    מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .

אמת את בעלות הדומיין שלך

לפני שיוצרים מכונה וירטואלית עם רשומת PTR מותאמת אישית, צריך לוודא שיש לכם בעלות על שם הדומיין. אימות הבעלות הוא אמצעי אבטחה שנועד להוכיח ל-Google שאתם הבעלים של הדומיין.

יש שתי דרכים לאמת את שם הדומיין:

  • אם יש לכם חשבון Google, אתם יכולים לאמת את האתר באמצעות Search Console.
  • אם יש לכם חשבון Google או חשבון שאינו של Google, אתם יכולים לאמת את הבעלות על ידי הוספת כתובת ה-IP של המכונה הווירטואלית להגדרת ה-DNS.

אימות באמצעות Search Console

  1. פותחים את Search Console ונכנסים באמצעות חשבון Google שבו תשתמשו כדי להוסיף רשומת PTR למופע. אפשר לאמת את הבעלות על הדומיין באמצעות כמה חשבונות.
  2. מזינים את שם הדומיין של רשומת ה-PTR.
  3. לוחצים על Continue.
  4. פועלים לפי ההוראות ולוחצים על מעבר לנכס.
  5. לוחצים על הגדרות (בתפריט שמימין, ליד החלק התחתון) ואז על אימות בעלות.

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

אם שם הדומיין לא מאומת באופן מיידי, צריך להשתמש בשיטה המומלצת כדי לקבל אימות.

אימות באמצעות הוספת כתובת ה-IP של המכונה הווירטואלית להגדרת ה-DNS

  1. אם ה-VM עדיין לא קיים, שומרים כתובת IP חיצונית סטטית אזורית ומשתמשים בה מאוחר יותר במהלך יצירת ה-VM.
  2. מוסיפים רשומת A עם כתובת ה-IP החיצונית של המכונה הווירטואלית להגדרת ה-DNS של הדומיין.

יצירת מכונות וירטואליות עם רשומות PTR

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

המסוף

  1. נכנסים לדף Create an instance במסוף Cloud de Confiance .

    כניסה לדף Create an instance

  2. מציינים את פרטי המכונה הווירטואלית.

  3. מרחיבים את הקטע אפשרויות מתקדמות ומבצעים את הפעולות הבאות:

    1. מרחיבים את הקטע Networking.
    2. יוצרים ממשק רשת אחד או יותר לשימוש עם המכונה הווירטואלית הזו. אפשר גם להשתמש בממשק הרשת שמוגדר כברירת מחדל.
    3. בקטע Network interfaces מרחיבים את ממשק הרשת הראשון, שהוא ממשק הרשת הראשי.
    4. בקטע רשומת PTR של DNS ציבורי, בוחרים כל סוג של רשומת PTR שרוצים להוסיף.
    5. בשדה שם הדומיין של רשומת ה-PTR, מזינים שם דומיין לכל סוג של רשומת PTR שרוצים להוסיף.
    6. בשדה External IPv4 address או External IPv6 address, בוחרים את כתובת ה-IP שהוזמנה קודם. אם אימתתם את כתובת ה-IP של המכונה הווירטואלית באמצעות הגדרת ה-DNS, אתם צריכים לציין את הכתובת הזו.
    7. כדי לאשר את הגדרות ממשק הרשת, לוחצים על סיום.
  4. מגדירים את שאר המאפיינים של המכונה הווירטואלית החדשה.

  5. בתחתית הדף, לוחצים על יצירה.

אחרי שהמכונה הווירטואלית מופעלת, אפשר להריץ שאילתת DNS הפוכה על כתובת ה-IP החיצונית של המכונה הווירטואלית כדי לוודא שרשומת ה-PTR פועלת כמצופה.

gcloud

  • כדי ליצור מכונה חדשה עם רשומת PTR של IPv4 משויכת, משתמשים בפקודה gcloud instances create.

    gcloud compute instances create INSTANCE_NAME \
        --image-family IMAGE_FAMILY \
        --image-project IMAGE_PROJECT \
        --public-ptr \
        --public-ptr-domain DOMAIN_NAME \
        --address=IP_ADDRESS
    

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

    • INSTANCE_NAME: השם של המופע החדש של המכונה הווירטואלית.
    • IMAGE_FAMILY: אחת ממשפחות התמונות הזמינות.
    • IMAGE_PROJECT: הפרויקט ב- Cloud de Confiance שביחס אליו נפתרות כל ההפניות לתמונות ולמשפחות של תמונות. אם לא מציינים שם פרויקט, המערכת משתמשת בפרויקט הנוכחי שמוגדר כברירת מחדל.
    • DOMAIN_NAME: שם הדומיין שרוצים להוסיף למופע הזה.
    • IP_ADDRESS: כתובת ה-IP שהזמנתם קודם. אם אימתתם את כתובת ה-IP של המכונה הווירטואלית באמצעות הגדרת ה-DNS, אתם צריכים לציין את הכתובת הזו.
  • כדי ליצור מכונה חדשה עם רשומת PTR של IPv6 משויכת, מבצעים את הפעולות הבאות:

    1. יצירת מכונה וירטואלית עם תמיכה בשני הפרוטוקולים או עם IPv6 בלבד.
    2. הוספת רשומת PTR של IPv6.

REST

  • כדי ליצור מכונה חדשה עם רשומת PTR של IPv4, שולחים בקשת POST אל ה-method‏ instances.insert.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
    {
      "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
      "name": "INSTANCE_NAME",
      "disks": [
        {
          "initializeParams": {
            "sourceImage": "projects/debian-cloud/global/images/family/debian-10"
          },
          "boot": true
        }
      ],
      "networkInterfaces": [
        {
          "network": "NETWORK",
          "accessConfigs": [
            {
              "type": "ONE_TO_ONE_NAT",
              "name": "External NAT",
              "natIP": "IP_ADDRESS",
              "publicPtrDomainName": "DOMAIN_NAME",
              "setPublicPtr": true
            }
          ]
        }
      ]
    }
    

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

    • PROJECT_ID: מזהה הפרויקט.
    • ZONE: האזור של המכונה.
    • MACHINE_TYPE: סוג המכונה.
    • INSTANCE_NAME: השם של המכונה.
    • NETWORK: כתובת ה-URL של הרשת.
    • IP_ADDRESS: כתובת ה-IP שהזמנתם קודם. אם אימתתם את כתובת ה-IP של המכונה הווירטואלית באמצעות הגדרת ה-DNS, אתם צריכים לציין את הכתובת הזו.
    • DOMAIN_NAME: שם הדומיין שרוצים להוסיף.
  • כדי ליצור מכונה חדשה עם רשומת PTR של IPv6, מבצעים את הפעולות הבאות:

    1. יצירת מכונה וירטואלית עם תמיכה בשני הפרוטוקולים או עם IPv6 בלבד.
    2. הוספת רשומת PTR של IPv6.

הוספה של רשומות PTR

אפשר להוסיף רשומות PTR על ידי עדכון הגדרת הגישה בממשק הרשת הראשי, nic0, של מכונה וירטואלית.

המסוף

  1. נכנסים לדף VM instances במסוף Cloud de Confiance .

    כניסה לדף VM instances

  2. לוחצים על המופע שרוצים לערוך.

  3. לוחצים על Edit.

  4. בקטע Network interfaces, לוחצים על ממשק הרשת הראשי.

  5. בקטע רשומת PTR של DNS ציבורי, בוחרים כל סוג של רשומת PTR שרוצים להוסיף.

  6. בשדה PTR domain name (שם דומיין של PTR), מזינים שם דומיין לכל סוג של רשומת PTR שרוצים להוסיף.

  7. לוחצים על סיום ואז על שמירה.

gcloud

  1. אם למכונת ה-VM אין הגדרת גישה, מוסיפים אותה באמצעות הפקודה gcloud compute instances add-access-config.

    gcloud compute instances add-access-config INSTANCE_NAME
    

    מחליפים את INSTANCE_NAME בשם המכונה.

  2. כדי לעדכן את הגדרת הגישה ולהוסיף את רשומת ה-PTR, משתמשים בפקודה gcloud compute instances update-access-config. כדי להוסיף רשומות PTR של IPv4 ו-IPv6, משתמשים בפקודות הבאות בנפרד.

    • ל-IPv4:

      gcloud compute instances update-access-config INSTANCE_NAME \
          --public-ptr \
          --public-ptr-domain DOMAIN_NAME
      
    • ל-IPv6:

      gcloud compute instances update-access-config INSTANCE_NAME \
          --ipv6-public-ptr-domain=DOMAIN_NAME
      

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

    • INSTANCE_NAME: השם של המכונה שרוצים לעדכן.
    • DOMAIN_NAME: שם הדומיין שרוצים להוסיף.

REST

  1. אם למכונה הווירטואלית אין הגדרת גישה, מוסיפים אותה על ידי שליחת בקשת POST אל ה-method‏ instances.addAccessConfig.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/addAccessConfig?networkInterface="nic0"
    
  2. כדי לעדכן את הגדרת הגישה ולהוסיף את רשומת ה-PTR, שולחים בקשת POST אל ה-method‏ instances.updateAccessConfig. כדי להוסיף רשומות PTR של IPv4 ו-IPv6, צריך לשלוח את הבקשות הבאות בנפרד.

    • ל-IPv4:

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/updateAccessConfig?networkInterface=nic0
      {
        "setPublicPtr": true,
        "publicPtrDomainName": "DOMAIN_NAME",
        "type": "ONE_TO_ONE_NAT"
      }
      
    • ל-IPv6:

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/updateAccessConfig?networkInterface=nic0
      {
        "publicPtrDomainName": "DOMAIN_NAME",
        "type": "DIRECT_IPV6"
      }
      

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

    • PROJECT_ID: מזהה הפרויקט.
    • ZONE: האזור של המכונה.
    • INSTANCE_NAME: שם המכונה.
    • DOMAIN_NAME: שם הדומיין שרוצים להוסיף.

הסרת רשומות PTR

כדי להסיר רשומות PTR, צריך לעדכן את הגדרת הגישה בממשק הרשת הראשי, nic0, של מכונה וירטואלית. כשמסירים רשומת PTR,‏ Cloud de Confiance מגיב לשאילתות DNS הפוכות עם שם דומיין שמוגדר במלואו כברירת מחדל של googleusercontent.com.

המסוף

  1. נכנסים לדף VM instances במסוף Cloud de Confiance .

    כניסה לדף VM instances

  2. לוחצים על המופע שרוצים לערוך.

  3. לוחצים על Edit.

  4. בקטע Network interfaces, לוחצים על ממשק הרשת הראשי.

  5. בקטע Public DNS PTR record, מבטלים את הסימון בתיבת הסימון של כל סוג של רשומת PTR שרוצים להסיר.

  6. לוחצים על סיום ואז על שמירה.

gcloud

כדי להסיר רשומת PTR, משתמשים בפקודה gcloud compute instances update-access-config. כדי להסיר את רשומות ה-PTR של IPv4 ו-IPv6, משתמשים בפקודות הבאות בנפרד.

  • ל-IPv4:

    gcloud compute instances update-access-config INSTANCE_NAME \
        --no-public-ptr
    
  • ל-IPv6:

    gcloud compute instances update-access-config INSTANCE_NAME \
        --no-ipv6-public-ptr
    

מחליפים את INSTANCE_NAME בשם המופע שרוצים לעדכן.

REST

כדי להסיר רשומת PTR, צריך לשלוח בקשת POST ל-method‏ instances.updateAccessConfig. כדי להסיר רשומות PTR של IPv4 ו-IPv6, שולחים את הבקשות הבאות בנפרד.

  • ל-IPv4:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/updateAccessConfig?networkInterface=nic0
    {
      "setPublicPtr": false,
      "type": "ONE_TO_ONE_NAT"
    }
    
  • ל-IPv6:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/updateAccessConfig?networkInterface=nic0
    {
      "publicPtrDomainName": "",
      "type": "DIRECT_IPV6"
    }
    

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

  • PROJECT_ID: מזהה הפרויקט.
  • ZONE: האזור של המכונה.
  • INSTANCE_NAME: שם המכונה.

מגבלות

  • כשמבצעים מיגרציה של מכונה וירטואלית למארח אחר כחלק מתהליך המיגרציה הפעילה במהלך אירועי תחזוקה, הלוגיקה של רשומת ה-PTR לא מטפלת בצורה נכונה בחלק ממקרים קיצוניים, ומחזירה את רשומות ה-PTR של ה-DNS לשם דומיין שמוגדר במלואו (FQDN) googleusercontent.com. כדי לשחזר את הפונקציונליות, צריך להחיל שוב את רשומת ה-PTR.

  • כשמפסיקים מכונה וירטואלית שיש לה רשומת PTR של IPv6, רשומת ה-PTR של IPv6 מבטלת את הרישום באופן זמני ולא מוצגת במכונה הווירטואלית. הרשומה תתווסף מחדש באופן אוטומטי כשמפעילים מחדש את המכונה הווירטואלית.

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