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

בדף הזה מוסבר איך להגדיר כללי Cloud NAT ל-Public NAT. לפני שמגדירים כללי Cloud 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 beta compute routers nats rules create.

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

    gcloud beta 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 beta 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 קיים.

gcloud beta compute routers nats create NAT_CONFIG \
    --router=NAT_ROUTER \
    --region=REGION \
    --nat-all-subnet-ip-ranges \
    --nat-external-ip-pool=IP_ADDRESS_3,[IP_ADDRESS_4] \
    --rules=PATH_TO_NAT_RULE_FILE

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

  • NAT_CONFIG: שם להגדרת ה-NAT
  • NAT_ROUTER: השם של Cloud Router שרוצים להשתמש בו בשער NAT
  • REGION: האזור שבו רוצים ליצור את שער Cloud NAT
  • IP_ADDRESS_3 ו-IP_ADDRESS_4: כתובות ה-IP החיצוניות שרוצים להשתמש בהן לכלל ברירת המחדל של NAT
  • PATH_TO_NAT_RULE_FILE: הנתיב לקובץ כללי ה-NAT

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

שלבי ההגדרה בדוגמה הבאה עומדים בתנאים הבאים:

  • חבילות עם כתובת יעד 198.51.100.10 חייבות להשתמש בכתובת ה-IP של NAT‏ IP_ADDRESS_1.
  • חבילות עם כתובת יעד 198.51.100.20/30 חייבות להשתמש בכתובת ה-IP של NAT‏ IP_ADDRESS_2 או IP_ADDRESS_3.

אפשר ליצור כלל NAT אחד לכל אחד מהתנאים האלה.

המסוף

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

  1. מוסיפים כלל NAT שמשתמש ב-IP_ADDRESS_1 כדי לשלוח תעבורה אל 198.51.100.10.

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

      כניסה ל-Cloud NAT

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

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

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

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

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

    7. בשדה Destination IP ranges (טווחים של כתובות IP של היעד), מזינים 198.51.100.10.

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

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

  2. מוסיפים כלל NAT שמשתמש ב-IP_ADDRESS_2 או ב-IP_ADDRESS_3 כדי לשלוח תנועה אל 198.51.100.20/30.

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

gcloud

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

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

אפשר להוסיף כלל NAT חדש באמצעות הפקודה של כלל NAT. מחליפים את NAT_RULE_PRIORITY בעדיפות של כלל ה-NAT שרוצים להקצות לכלל – מ-0 (הכי גבוהה) עד 65000 (הכי נמוכה) – ומחליפים את המשתנים האחרים במידע שתואם להגדרה שלכם.

קודם מוסיפים כלל NAT ששולח תנועה מ-IP_ADDRESS1 אל 198.51.100.10.

gcloud compute routers nats rules create NAT_RULE_PRIORITY \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    --match='destination.ip == "198.51.100.10"' \
    --source-nat-active-ips=IP_ADDRESS1 \
    [--region=REGION] [GLOBAL-FLAG ...]

לאחר מכן, מוסיפים כלל NAT ששולח תנועה מ-IP_ADDRESS2 או מ-IP_ADDRESS3 אל 198.51.100.20/30.

gcloud compute routers nats rules create NAT_RULE_PRIORITY \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    --match='inIpRange(destination.ip, "198.51.100.20/30")' \
    --source-nat-active-ips=IP_ADDRESS2,IP_ADDRESS3 \
    [--region=REGION] [GLOBAL-FLAG ...]

יצירת קובץ כללים

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

rules:
 - ruleNumber: 100
   match: destination.ip == '198.51.100.10'
   action:
     sourceNatActiveIps:
     -  /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS1
 - ruleNumber: 200
   match: inIpRange(destination.ip, '198.51.100.20/30')
   action:
     sourceNatActiveIps:
     -  /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS2
     -  /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS3

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

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

gcloud compute routers nats create NAT_NAME \
    --router=ROUTER_NAME \
    --nat-external-ip-pool=IP_ADDRESS4,[IP_ADDRESS5] \
    --nat-all-subnet-ip-ranges \
    --rules=PATH_TO_NAT_RULE_FILE \
    [--region=REGION] [GLOBAL-FLAG ...]

עדכון כללי NAT

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

המסוף

  1. במסוף Google Cloud , עוברים לדף Cloud NAT.

    כניסה ל-Cloud NAT

  2. לוחצים על שער ה-NAT.
  3. לוחצים על Edit.
  4. בקטע כללים בהתאמה אישית, לוחצים על הכלל שרוצים לעדכן.
  5. בשדות המורחבים, אפשר לשנות כל מידע שרוצים.
  6. לוחצים על סיום.
  7. לוחצים על Save.

gcloud

עדכון באמצעות קובץ כללי NAT

כדי לעדכן שער NAT באמצעות קובץ כללי ה-NAT, משתמשים בפקודה gcloud compute routers nats update.

מחליפים את המשתנים במידע שתואם להגדרה שלכם.

gcloud compute routers nats update NAT_NAME \
    --router=ROUTER_NAME \
    --rules=PATH_TO_NAT_RULE_FILE \
    [--region=REGION] [GLOBAL-FLAG ...]

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

rules:
 - ruleNumber: 100
   match: destination.ip == '198.51.100.10'
   action:
     sourceNatActiveIps:
     -  /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS2
     sourceNatDrainIps:
     -  /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS1

עדכון באמצעות פקודת כלל NAT

כדי לעדכן כלל NAT יחיד, משתמשים בפקודה הבאה. מחליפים את NAT_RULE_PRIORITY במספר העדיפות של כלל ה-NAT, ואת שאר המשתנים במידע שתואם להגדרות שלכם. שימו לב לאפשרות source-nat-drain-ips, שמונעת יצירת חיבורים חדשים ליעד באמצעות IP_ADDRESS3 ו-IP_ADDRESS4, אבל שומרת על חיבורים קיימים.

gcloud compute routers nats rules update NAT_RULE_PRIORITY \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    --match=Match conditions (expressed in CEL) \
    --source-nat-active-ips=[IP_ADDRESS1],[IP_ADDRESS2] \
    --source-nat-drain-ips=[IP_ADDRESS3],[IP_ADDRESS4] \
    [--region=REGION] [GLOBAL-FLAG ...]

מחיקת כללי NAT

המסוף

  1. במסוף Google Cloud , עוברים לדף Cloud NAT.

    כניסה ל-Cloud NAT

  2. לוחצים על שער ה-NAT.
  3. לוחצים על Edit.
  4. בקטע כללים מותאמים אישית, מעבירים את העכבר מעל הכלל שרוצים למחוק. לוחצים על .
  5. לוחצים על Save.

gcloud

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

מחיקה באמצעות קובץ כללי NAT

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

מחליפים את המשתנים במידע שתואם להגדרה שלכם.

gcloud compute routers nats update NAT_NAME \
    --router=ROUTER_NAME \
    --rules=PATH_TO_NAT_RULE_FILE \
    [--region=REGION] [GLOBAL-FLAG ...]

מחיקה באמצעות פקודת כלל NAT

לחלופין, אפשר להשתמש בפקודה delete של כלל NAT כדי להסיר כלל NAT מהשער. מחליפים את NAT_RULE_PRIORITY במספר העדיפות של כלל ה-NAT, ומחליפים את שאר המשתנים במידע שתואם להגדרה שלכם.

gcloud compute routers nats rules delete NAT_RULE_PRIORITY \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    [--region=REGION] [GLOBAL-FLAG ...]

תיאור של כלל NAT

המסוף

אפשר לראות את המידע על כללי ה-NAT בדף Cloud NAT.

  1. במסוף Google Cloud , עוברים לדף Cloud NAT.

    כניסה ל-Cloud NAT

  2. לוחצים על שער ה-NAT.
  3. צפייה בכללי ה-NAT.

כדי לקבל מידע נוסף על כלל NAT ספציפי, אפשר לבצע את הפעולות הבאות:

  1. לוחצים על Edit.
  2. בקטע כללים בהתאמה אישית, בוחרים כלל NAT.
  3. מעיינים במידע הנוסף.
  4. לוחצים על ביטול.

gcloud

כדי לתאר כלל NAT, משתמשים בפקודה הבאה. מחליפים את NAT_RULE_PRIORITY במספר העדיפות של כלל ה-NAT ומחליפים את שאר המשתנים במידע שתואם להגדרה שלכם.

gcloud compute routers nats rules describe NAT_RULE_PRIORITY \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    [--region=REGION] [GLOBAL-FLAG ...]

הצגת רשימה של כל כללי ה-NAT בשער NAT

המסוף

אפשר לראות את כללי ה-NAT בדף Cloud NAT.

  1. במסוף Google Cloud , עוברים לדף Cloud NAT.

    כניסה ל-Cloud NAT

  2. לוחצים על שער ה-NAT.
  3. צפייה בכללי ה-NAT.

gcloud

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

gcloud compute routers nats rules list \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    [--region=REGION] [GLOBAL-FLAG ...]