Hybrid NAT

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

המידע בדף הזה רלוונטי רק לתנועת נתונים ב-IPv4. לגבי תנועה ב-IPv6, אפשר לעיין במאמר בנושא NAT64 ב-NAT פרטי (גרסת Preview).

מפרטים

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

  • ‫Hybrid NAT מאפשר לרשת VPC לתקשר עם רשת מקומית או עם רשת של ספק שירותי ענן אחר, גם אם יש חפיפה בין טווחי כתובות ה-IP של רשתות המשנה ברשתות. באמצעות הגדרת NAT של type=PRIVATE, משאבים בתת-רשתות חופפות ולא חופפות של רשת ה-VPC יכולים להתחבר למשאבים בתת-רשתות לא חופפות של רשת שאינהGoogle Cloud.
  • כדי להפעיל NAT היברידי, הרשת שאינהGoogle Cloud צריכה לפרסם את המסלולים הדינמיים שלה כדי שרשת ה-VPC תוכל ללמוד אותם ולהשתמש בהם. הנתב Cloud Router לומד את המסלולים הדינמיים האלה ממוצרי קישוריות לרשת של 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 לא מתרגם תנועה עבור Hybrid Subnets. מידע נוסף זמין במאמר בנושא אינטראקציות של רשתות משנה היברידיות.

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

התרשים הבא מציג הגדרת 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 ואת הטופלים של יציאת המקור לכל אחת מהמכונות הווירטואליות ברשת. לדוגמה, שער 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 של המקור של חבילת הבקשה ואת יציאת המקור:

    • כתובת ה-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, ללא שינוי

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