Hybrid NAT

‫Hybrid NAT, סוג של NAT פרטי, מאפשר לכם לבצע תרגום כתובות רשת (NAT) בין רשת VPC לבין רשת מקומית או רשת של ספק שירותי ענן אחר. הרשת שאינהGoogle Cloud צריכה להיות מחוברת לרשת ה-VPC באמצעות מוצרים של Google Cloudלקישוריות רשת, כמו Cloud Interconnect או Cloud VPN.

מפרטים

בנוסף למפרט הכללי של NAT פרטי, ל-Hybrid NAT יש את המפרט הבא:

  • ‫Hybrid NAT מאפשר לרשת VPC לתקשר עם רשת מקומית או עם רשת של ספק שירותי ענן אחר, גם אם יש חפיפה בין טווחי כתובות ה-IP של רשתות המשנה ברשתות. באמצעות הגדרת NAT של type=PRIVATE, משאבים ברשת ה-VPC יכולים להתחבר למשאבים ברשת שאינהGoogle Cloud, גם אם הם נמצאים ברשתות משנה חופפות וגם אם הם נמצאים ברשתות משנה לא חופפות.
  • כדי להפעיל Hybrid NAT, הרשת שאינהGoogle Cloud צריכה לפרסם את המסלולים הדינמיים שלה כדי שרשת ה-VPC תוכל ללמוד אותם ולהשתמש בהם. הנתב Cloud Router לומד את המסלולים הדינמיים האלה ממוצרי Network Connectivity של Google Cloud, כמו Cloud Interconnect, ‏ HA VPN או VPN קלאסי עם ניתוב דינמי מוגדר. יעדי המסלולים הדינמיים האלה הם טווחים של כתובות IP מחוץ לרשת ה-VPC.

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

  • ‫NAT היברידי מבצע NAT בתעבורה שמגיעה מרשת VPC לרשת מקומית או לרשת של ספק שירותי ענן אחר. הרשתות צריכות להיות מחוברות באמצעות Cloud Interconnect או Cloud VPN.

  • ‫Hybrid NAT תומך במנהרות VPN קלאסיות קיימות רק אם הופעל ניתוב דינמי.

  • צריך ליצור כלל NAT מותאם אישית עם ביטוי התאמה nexthop.is_hybrid. כלל ה-NAT מציין טווח כתובות IP ל-NAT מתוך רשת משנה (subnet) עם ייעוד PRIVATE_NAT, שהמשאבים ברשת ה-VPC יכולים להשתמש בה כדי לתקשר עם רשתות אחרות.

  • ה-Cloud Router שבו מגדירים Hybrid NAT צריך להיות באותו אזור כמו רשת ה-VPC.

  • נתב הענן שבו מגדירים Hybrid NAT לא יכול להכיל הגדרות NAT אחרות.

הגדרה בסיסית של Hybrid NAT ותהליך העבודה

התרשים הבא מציג הגדרת Hybrid NAT בסיסית:

דוגמה לתרגום Hybrid NAT.
דוגמה לתרגום Hybrid NAT (לחצו כדי להגדיל).

בדוגמה הזו, Hybrid NAT מוגדר באופן הבא:

  • שער pvt-nat-gw מוגדר ב-vpc-a כך שיחול על כל טווחי כתובות ה-IP של subnet-a באזור us-east1.
  • ‫Cloud Router והנתב של ספק שירותי הענן המקומי או ספק ענן אחר מחליפים את מסלולי המשנה הבאים:
    • ‫Cloud Router מפרסם את 10.1.2.0/29 לנתב החיצוני.
    • הנתב החיצוני מפרסם את 192.168.2.0/24 ל-Cloud Router.
  • באמצעות טווח כתובות ה-IP של NAT‏ pvt-nat-gw, מופע של מכונה וירטואלית (VM) ב-subnet-a של vpc-a יכול לשלוח תעבורה למכונה וירטואלית ב-subnet-b של הרשת המקומית או של ספק שירותי ענן אחר, גם אם subnet-a של vpc-a חופף לרשת משנה אחרת ברשת שאינהGoogle Cloud .

דוגמה לתהליך עבודה של Hybrid NAT

בתרשים שלמעלה, vm-a עם כתובת ה-IP הפנימית 192.168.1.2 ב-subnet-a של vpc-a צריך להוריד עדכון מ-vm-b עם כתובת ה-IP הפנימית 192.168.2.2 ב-subnet-b של רשת מקומית או רשת של ספק שירותי ענן אחר. ‫Cloud Interconnect מחבר את רשת ה-VPC לרשת המקומית או לרשת של ספק אחר של שירותי ענן. נניח שרשת שאינהGoogle Cloud מכילה רשת משנה נוספת 192.168.1.0/24 שחופפת לרשת המשנה ב-vpc-a. כדי ש-subnet-a ברשת vpc-a יוכל לתקשר עם subnet-b ברשת שאינהGoogle Cloud , צריך להגדיר שער NAT פרטי, pvt-nat-gw, ב-vpc-a באופן הבא:

  • מציינים תת-רשת של NAT פרטי עם ייעוד PRIVATE_NAT, לדוגמה, 10.1.2.0/29. צריך ליצור את תת-הרשת הזו לפני שמגדירים את שער ה-NAT הפרטי. מוודאים שרשת המשנה הזו לא חופפת לרשת משנה קיימת באף אחת מהרשתות המחוברות.
  • יוצרים כלל NAT באמצעות match='nexthop.is_hybrid'.
  • מגדירים את שער ה-NAT הפרטי כך שיחול על כל טווחי כתובות ה-IP של subnet-a.

ב-Hybrid NAT פועלים לפי התהליך של שמירת יציאות כדי לשמור את כתובת ה-IP של מקור ה-NAT ואת הטופלים של יציאת המקור לכל VM ברשת. לדוגמה, שער NAT פרטי שומר 64 יציאות מקור לכתובת vm-a: 10.1.2.2:34000 עד 10.1.2.2:34063.

כשמכונה וירטואלית משתמשת בפרוטוקול TCP כדי לשלוח מנה לשרת העדכון 192.168.2.2 ביציאת היעד 80, מתרחש התהליך הבא:

  1. המכונה הווירטואלית שולחת מנה של בקשה עם המאפיינים הבאים:

    • כתובת ה-IP של המקור: 192.168.1.2, כתובת ה-IP הפנימית של מכונת ה-VM
    • יציאת מקור: 24000, יציאת המקור האפימרית שנבחרה על ידי מערכת ההפעלה של המכונה הווירטואלית
    • כתובת היעד: 192.168.2.2, כתובת ה-IP של שרת העדכון
    • יציאת היעד: 80, יציאת היעד לתנועת HTTP לשרת העדכון
    • פרוטוקול: TCP
  2. שער pvt-nat-gw מבצע תרגום כתובות רשת של המקור (SNAT או source NAT) לתעבורת נתונים יוצאת, וכותב מחדש את כתובת ה-IP של המקור של ה-NAT ואת יציאת המקור של חבילת בקשת הנתונים:

    • כתובת ה-IP של מקור ה-NAT: 10.1.2.2, מאחת מכתובות ה-IP של מקור ה-NAT השמורות של המכונה הוירטואלית וטפלי היציאה של המקור
    • יציאת מקור: 34022, יציאת מקור לא בשימוש מאחד הטפלים של יציאות המקור השמורות של המכונה הווירטואלית
    • כתובת היעד: 192.168.2.2, ללא שינוי
    • יציאת היעד: 80, ללא שינוי
    • פרוטוקול: TCP, ללא שינוי
  3. שרת העדכון שולח מנת נתונים של תגובה שמגיעה לשער pvt-nat-gw עם המאפיינים הבאים:

    • כתובת ה-IP של המקור: 192.168.2.2, כתובת ה-IP הפנימית של שרת העדכון
    • יציאת המקור: 80, תגובת ה-HTTP משרת העדכון
    • כתובת היעד: 10.1.2.2, שזהה לכתובת ה-IP המקורית של המקור ב-NAT של חבילת הבקשה
    • יציאת היעד: 34022, שתואמת ליציאת המקור של חבילת הבקשה
    • פרוטוקול: TCP, ללא שינוי
  4. שער pvt-nat-gw מבצע תרגום כתובת רשת של יעד (DNAT) בחבילת התגובה, ומשכתב את כתובת היעד ואת יציאת היעד של חבילת התגובה, כך שהחבילה מועברת למכונה הווירטואלית שביקשה את העדכון עם המאפיינים הבאים:

    • כתובת ה-IP של המקור: 192.168.2.2, ללא שינוי
    • יציאה של המקור: 80, ללא שינוי
    • כתובת היעד: 192.168.1.2, כתובת ה-IP הפנימית של המכונה הווירטואלית
    • יציאת היעד: 24000, תואמת ליציאת המקור האפימרית המקורית של חבילת הבקשה
    • פרוטוקול: TCP, ללא שינוי

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