הגדרה וניהול של כללי NAT ב-Cloud NAT

בדף הזה מוסבר איך להגדיר כללי NAT של Cloud NAT ל-NAT ציבורי. לפני שמגדירים כללי NAT של Cloud NAT, כדאי לעיין בסקירה הכללית של כללי NAT של Cloud NAT.

יצירת כללי NAT

כדי ליצור כללי NAT, ‏ Cloud NAT משתמש ב-Common Expression Language ‏ (CEL), כמו שמתואר במאמר שפת ביטויים של כללים. דוגמאות לביטויים שאפשר להשתמש בהם בכללי NAT מופיעות במאמר דוגמאות לביטויים.

אם רוצים ליצור כללי NAT, צריך לוודא שמיפוי ללא תלות בנקודת הקצה מושבת בשער ה-NAT.

יצירת כללים שמבוססים על מקור

בשלבים בקטע הזה מוסבר איך ליצור כללי NAT מבוססי-מקור בתנאים הבאים:

  1. חבילות מטווח כתובות ה-IP של המקור 10.10.1.0/24 חייבות להשתמש ב-IP_ADDRESS_1.
  2. חבילות מטווח כתובות ה-IP של המקור 10.10.2.0/24 חייבות להשתמש ב-IP_ADDRESS_2.
  3. בכל שאר החבילות צריך להשתמש ב-IP_ADDRESS_3.

עבור תנאים 1 ו-2, יוצרים שני כללי NAT. תנאי 3 מתקיים על ידי כלל ברירת המחדל של NAT להתאמת כתובת המקור. ‫IP_ADDRESS_1, ‏IP_ADDRESS_2 ו-IP_ADDRESS_3 הן כתובות ה-IP החיצוניות שבהן רוצים להשתמש ל-NAT.

המסוף

הוספת כללי NAT לשער NAT קיים

  1. מוסיפים כלל NAT שתואם לתנועה מ-10.10.1.0/24 ומתרגם את כתובת ה-IP של המקור ל-IP_ADDRESS_1.

    1. נכנסים לדף Cloud NAT במסוף Google Cloud .

      כניסה ל-Cloud NAT

    2. לוחצים על שער ה-NAT.

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

    4. בקטע Cloud NAT IP addresses, בוחרים באפשרות Manual.

    5. בקטע Cloud NAT Rules, לוחצים על Add a rule.

    6. בשדה עדיפות הכלל מזינים מספר מ-0 (העדיפות הגבוהה ביותר) עד 65000 (העדיפות הנמוכה ביותר). לדוגמה, 100.

    7. בשדה התאמה לטווח כתובות IP, בוחרים באפשרות מקור.

    8. בשדה Source IP ranges (טווח כתובות ה-IP של המקור), מזינים 10.10.1.0/24.

    9. בקטע IP addresses, בוחרים את כתובת ה-IP שרוצים להשתמש בה עבור IP_ADDRESS_1.

    10. לוחצים על סיום.

  2. מוסיפים כלל NAT שתואם לתנועה מ-10.10.2.0/24 ומתרגם אותה ל-IP_ADDRESS_2.

    1. בקטע Cloud NAT Rules, לוחצים על Add a rule.
    2. בשדה עדיפות הכלל מזינים מספר מ-0 (העדיפות הגבוהה ביותר) עד 65000 (העדיפות הנמוכה ביותר). לדוגמה, 200.
    3. בשדה התאמה לטווח כתובות IP, בוחרים באפשרות מקור.
    4. בשדה Source IP ranges (טווח כתובות ה-IP של המקור), מזינים 10.10.2.0/24.
    5. בקטע IP addresses, בוחרים את כתובת ה-IP שרוצים להשתמש בה עבור IP_ADDRESS_2.
    6. לוחצים על סיום.
    7. לוחצים על שמירה כדי לשמור את שני הכללים.

gcloud

אפשר להשתמש בשלבים שבקטעים הבאים כדי ליצור קובץ כללים, ליצור שער Cloud NAT שמשתמש בכללים בקובץ הכללים או להוסיף כללים לשער NAT קיים.

הוספת כללי NAT לשער NAT קיים

אפשר להוסיף כלל NAT חדש באמצעות הפקודה gcloud compute routers nats rules create.

  1. מוסיפים כלל NAT שמשתמש ב-IP_ADDRESS_1 לתנועה מ-10.10.1.0/24:

    gcloud compute routers nats rules create NAT_RULE_PRIORITY \
        --router=NAT_ROUTER \
        --region=REGION \
        --nat=NAT_CONFIG \
        --match="inIpRange(source.ip, '10.10.1.0/24')" \
        --source-nat-active-ips=IP_ADDRESS_1
    

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

    • NAT_RULE_PRIORITY: מספר כלל שמזהה באופן ייחודי את כלל ה-NAT, מ-0 (העדיפות הכי גבוהה) עד 65000 (העדיפות הכי נמוכה). לדוגמה: 100
    • NAT_ROUTER: השם של Cloud Router שבו אתם משתמשים בשער NAT
    • REGION: האזור של שער ה-NAT
    • NAT_CONFIG: השם של הגדרת ה-NAT
    • IP_ADDRESS_1: כתובת ה-IP החיצונית שהוקצתה באופן ידני שרוצים להשתמש בה עבור חבילות שתואמות לכלל
  2. מוסיפים כלל NAT שמשתמש ב-IP_ADDRESS_2 לתנועה מ-10.10.2.0/24:

    gcloud compute routers nats rules create NAT_RULE_PRIORITY \
        --router=NAT_ROUTER \
        --region=REGION \
        --nat=NAT_CONFIG \
        --match="inIpRange(source.ip, '10.10.2.0/24')" \
        --source-nat-active-ips=IP_ADDRESS_2
    

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

    • NAT_RULE_PRIORITY: מספר כלל שמזהה באופן ייחודי את כלל ה-NAT, מ-0 (העדיפות הכי גבוהה) עד 65000 (העדיפות הכי נמוכה). לדוגמה: 200
    • NAT_ROUTER: השם של Cloud Router שבו אתם משתמשים בשער NAT
    • REGION: האזור של שער ה-NAT
    • NAT_CONFIG: השם של הגדרת ה-NAT
    • IP_ADDRESS_2: כתובת ה-IP החיצונית שהוקצתה באופן ידני שרוצים להשתמש בה עבור חבילות שתואמות לכלל

יצירת שער NAT באמצעות קובץ של כלל NAT

דוגמת קוד של קובץ כללים הבא. אפשר לשנות את קובץ הכללים הזה כך שיתאים לתרחיש השימוש שלכם, או לדלג על השלב הזה אם כבר יש לכם קובץ כללים.

יצירת קובץ כללים
rules:
 - ruleNumber: 100
   match: inIpRange(source.ip, '10.10.1.0/24')
   action:
     sourceNatActiveIps:
     -  /projects/PROJECT_ID/regions/REGION/addresses/IP_ADDRESS_1
 - ruleNumber: 200
   match: inIpRange(source.ip, '10.10.2.0/24')
   action:
     sourceNatActiveIps:
     -  /projects/PROJECT_ID/regions/REGION/addresses/IP_ADDRESS_2

בדוגמה שלמעלה, IP_ADDRESS_1 ו-IP_ADDRESS_2 הן כתובות ה-IP החיצוניות שהוקצו באופן ידני שרוצים להשתמש בהן עבור מנות שתואמות לכללים. לכל כתובת IP, מחליפים את הערכים הבאים:

  • PROJECT_ID: הפרויקט של כתובת ה-IP
  • REGION: האזור שבו כתובת ה-IP שמורה
יצירת שער NAT באמצעות קובץ של כלל NAT

הפקודה הבאה יוצרת שער NAT ומגדירה אותו באמצעות כללים מקובץ כללי NAT. אם כבר הגדרתם שער NAT, אפשר לעיין במאמר בנושא הוספת כללי NAT לשער NAT קיים.