שימוש ברפליקציה של חבילות נתונים

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

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

בקטעים הבאים מוסבר איך ליצור ולנהל מדיניות של רפליקציה של חבילות נתונים.

מגבלות

  • רפליקציה של חבילות נתונים לא יכולה לשכפל חבילות נתונים עבור תעבורה של שירותים שפורסמו ב-Private Service Connect.

  • מטעמי אבטחה, רפליקציה של חבילות נתונים לא משכפלת חבילות שנשלחות לטווח כתובות ה-IP המקומיות 169.254.0.0/16. הטווח הזה כולל בקשות למטא-נתונים ממכונה וירטואלית לשרת המטא-נתונים שלה.

  • אין תמיכה בשימוש בשירות LoadBalancer של Google Kubernetes Engine ‏ (GKE) ככלי לאיסוף נתונים של שיקוף מנות.

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

  • כשחבילות נתונים משוכפלות, Google Cloud מעבד גם את החבילות המקוריות וגם את החבילות המשוכפלות, ולכן קצב עיבוד חבילות הנתונים יורד. קצב עיבוד המנות של התעבורה המשולבת דומה לתעבורת נתונים יוצאת (egress) מחוץ לרשת VPC, ותלוי בגורמים הבאים:

    • סוג המכונה וניצול יחידת העיבוד המרכזית (CPU) של המכונה הווירטואלית המשוכפלת.
    • גודל החבילה של התנועה המשוכפלת.
  • כשחבילות נתונים ברשת תואמות למדיניות רפליקציה כלשהי, רפליקציה של חבילות נתונים מעבדת את החבילות המקוריות והמשוכפלות בקצב איטי יותר. הקצב המשולב של עיבוד המנות תלוי בסוג המכונה, בגודל המנות ובניצול המעבד, והוא דומה בערך לקצב תעבורת הנתונים היוצאת מחוץ לרשת VPC.

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

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

הרשאות

כדי ליצור ולנהל מדיניות רפליקציה של חבילות נתונים, Google Cloud מספק שני תפקידים שקשורים לרפליקציה של חבילות נתונים:

  • compute.packetMirroringUser מאפשר למשתמשים ליצור, לעדכן ולמחוק מדיניות של שיקוף חבילות. כדי להשתמש ברפליקציה של חבילות נתונים, המשתמשים צריכים לקבל את התפקיד הזה בפרויקטים שבהם הם יוצרים מדיניות רפליקציה של חבילות נתונים.

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

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

יצירת מופעים של כלי האיסוף

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

יצירת מאזן עומסים פנימי ל-Packet Mirroring

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

  • כשיוצרים את כלל ההעברה של מאזן עומסי הרשת הפנימי להעברת סיגנל ללא שינוי, צריך להפעיל את התכונה 'רפליקציה של חבילות נתונים'. אי אפשר לשנות את הסטטוס הזה אחרי שיוצרים את הכלל. אתם יכולים להשתמש בכלל ההעברה הזה כדי לאסוף תנועה של IPv4 ו-IPv6.
  • מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי נמצא באותו אזור כמו המופעים שמשוכפלים.
  • השירות לקצה העורפי של מאזן עומסי הרשת הפנימי להעברת סיגנל ללא שינוי חייב להשתמש בזיקה לסשן (session affinity) מסוג NONE (hash של 5 טאפלים).
  • שירות הקצה העורפי של מאזן עומסי הרשת הפנימי להעברת סיגנל ללא שינוי צריך להיות עם חלוקת הקצה העורפי לקבוצות משנה מושבתת.

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

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

הגדרת כללים לחומת אש

כדי להכין את רשת ה-VPC לתנועה של רפליקציה של חבילות נתונים, צריך לבצע את הפעולות הבאות:

  • מוודאים שמכונות האיסוף בקבוצת המכונות של מאזן העומסים יכולות לקבל תעבורה ממכונות משוכפלות או מטווח כתובות IPv4 ו-IPv6 של מכונות משוכפלות. לדוגמה, כדי לאפשר למכונות של אוספי נתונים לקבל תעבורת IPv4 מכל VM, יוצרים כלל חומת אש עם טווח כתובות IPv4 של מקור 0.0.0.0/0. כדי לאפשר למופעי איסוף לקבל תעבורת IPv6 מכל VM, צריך ליצור כלל חומת אש עם טווח כתובות IPv6 של המקור ::/0. כדי למנוע מתנועת אינטרנט להגיע למכונות של האוסף, צריך להקצות להן רק כתובות IPv4 ו-IPv6 פנימיות.

  • מוודאים שמופעים של כלי האיסוף יכולים לקבל תנועה ממערכות בדיקת התקינות Google Cloud לדוגמה, עבור תעבורת IPv4, יוצרים כלל חומת אש שמאפשר תעבורה למכונות של האוסף מטווחי כתובות ה-IPv4 של 130.211.0.0/22 ו-35.191.0.0/16. לתנועת נתונים ב-IPv6, יוצרים כלל חומת אש שמאפשר תנועת נתונים למכונות של האוסף מטווח כתובות ה-IPv6‏ 2600:2d00:1:b029::/64.

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

אם אין לכם כללים קיימים שמאפשרים את התעבורה הזו, תוכלו לעיין במאמר בנושא שימוש בכללי חומת אש של VPC כדי ליצור אותם. למידע נוסף על יצירת כללי חומת אש למאזן עומסי רשת פנימי מסוג passthrough, אפשר לעיין במאמר בנושא הגדרת כללי חומת אש במסמכי התיעוד של Cloud Load Balancing.

יצירה של מדיניות רפליקציה של חבילות נתונים

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

המסוף

  1. במסוף Google Cloud , נכנסים לדף רפליקציה של חבילות נתונים.

    לדף רפליקציה של חבילות נתונים

  2. לוחצים על יצירת מדיניות.

  3. מזינים את הפרטים הבאים לגבי המדיניות ולוחצים על המשך.

    1. מזינים שם למדיניות.
    2. בוחרים את האזור שכולל את מקורות המידע המשוכפלים ואת יעד האוסף. מדיניות הרפליקציה של חבילות נתונים צריכה להיות באותו אזור כמו המקור והיעד.
    3. מתעלמים מהשדה עדיפות. אי אפשר לשנות את זה כרגע.
    4. כדי להפעיל את המדיניות כשיוצרים אותה, בוחרים באפשרות מופעלת.
  4. בוחרים את רשתות ה-VPC שבהן נמצאים מקור השיקוף ויעד האיסוף, ואז לוחצים על המשך.

    המקור והיעד יכולים להיות באותן רשתות VPC או ברשתות שונות.

    • אם הם נמצאים באותה רשת VPC, בוחרים באפשרות מקורות משוכפלים ויעד נמצאים באותה רשת VPC, ואז בוחרים את הרשת.
    • אם הם נמצאים ברשתות שונות, בוחרים באפשרות Mirrored source and collector destination are in separate, peered VPC networks (מקור משוכפל ויעד לאיסוף נמצאים ברשתות VPC נפרדות ומקושרות), ואז בוחרים את רשת המקור המשוכפל ואת רשת היעד לאיסוף.
  5. בוחרים מקורות משוכפלים ולוחצים על המשך. אפשר לבחור מקור אחד או יותר. Google Cloud התכונה משקפת כל מופע שתואם לפחות לאחד מהמקורות שנבחרו.

    • רשתות משנה: בוחרים רשת משנה אחת או יותר. Google Cloud מבצע רפליקציה של מכונות קיימות ועתידיות ברשתות המשנה שנבחרו.
    • תג רשת: מציינים תג רשת אחד או יותר. Google Cloud משקף מקרים שבהם יש לפחות אחד מהתגים שצוינו.
    • שם המכונה: בוחרים מכונות ספציפיות לרפליקציה.
  6. בוחרים מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי שהוגדר ל רפליקציה של חבילות נתונים, ואז לוחצים על המשך. Google Cloudתעבורת נתונים משוקפת נשלחת למופעים שנמצאים מאחורי מאזן עומסי הרשת הפנימי להעברת סיגנל ללא שינוי.

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

  7. כדי לבחור את התנועה לשכפול, מבצעים את הפעולות הבאות:

    • כדי להפעיל רפליקציה לכל התעבורה ב-IPv4, בוחרים באפשרות Mirror all IPv4 traffic (default).
    • כדי להפעיל רפליקציה לכל התעבורה ב-IPv4 וב-IPv6, בוחרים באפשרות Mirror filtered traffic ומבצעים את הפעולות הבאות:
      • בוחרים באפשרות Allow all protocols.
      • בוחרים באפשרות Allow all IPv4 ranges (0.0.0.0/0).
      • בוחרים באפשרות Allow all IPv6 ranges (::/0).
      • בוחרים באפשרות Allow both ingress and egress traffic (אישור תעבורת נתונים נכנסת ויוצאת).
    • כדי להגביל את התנועה שמשוכפלת, בוחרים באפשרות שכפול תנועה מסוננת, ואז מבצעים את הפעולות הבאות:

      • כדי להגביל את התנועה המשוכפלת לפי פרוטוקול, בוחרים באפשרות Allow specific protocols (התרת פרוטוקולים ספציפיים) ואז בוחרים את הפרוטוקולים. אם לא מופיע פרוטוקול שרוצים לשקף את התנועה שלו, בוחרים באפשרות פרוטוקולים אחרים ומזינים את הפרוטוקול בשדה פרוטוקולים אחרים. הערכים התקפים הם tcp,‏ udp,‏ esp,‏ ah,‏ ipip,‏ sctp או מספר פרוטוקול של IANA. כדי לציין ICMP ל-IPv6, מזינים 58.

      • כדי להשתמש במסננים של טווח IPv4:

        • כדי לשקף את כל התנועה ב-IPv4, בוחרים באפשרות Allow all IPv4 ranges (0.0.0.0/0).
        • כדי לשכפל תנועה לטווחים ספציפיים של כתובות IPv4, בוחרים באפשרות Allow specific IPv4 ranges. בשדה IPv4 ranges (טווח כתובות IPv4), מקלידים טווח יחיד של כתובות IPv4 ומקישים על Enter. כדי להוסיף כמה טווחי כתובות IPv4, מקישים על Enter אחרי כל טווח שמקלידים.
      • כדי להשתמש במסננים של טווח IPv6, מבצעים את הפעולות הבאות:

        • כדי לסנן את כל התנועה של IPv6, בוחרים באפשרות ללא.
        • כדי לשכפל את כל התנועה ב-IPv6, בוחרים באפשרות Allow all IPv6 ranges (::/0).
        • כדי לשכפל תנועה לטווחים ספציפיים של כתובות IPv6, בוחרים באפשרות Allow specific IPv6 ranges. בשדה טווחים של כתובות IPv6, מקלידים טווח כתובות IPv6 יחיד ומקישים על Enter. כדי להוסיף כמה טווחי כתובות IPv6, מקישים על Enter אחרי כל טווח שמקלידים.
  8. בוחרים את כיוון התנועה של התנועה שרוצים לשכפל.

  9. כדי ליצור את מדיניות הרפליקציה של חבילות הנתונים, לוחצים על Submit.

gcloud

כדי ליצור מדיניות רפליקציה של חבילות נתונים, משתמשים בפקודה packet-mirrorings create.

gcloud compute packet-mirrorings create POLICY_NAME \
    --region=REGION \
    --network=NETWORK_NAME \
    --collector-ilb=FORWARDING_RULE_NAME \
    [--mirrored-subnets=SUBNET,[SUBNET,...]] \
    [--mirrored-tags=TAG,[TAG,...]] \
    [--mirrored-instances=INSTANCE,[INSTANCE,...]] \
    [--filter-cidr-ranges=CIDR_RANGE,[CIDR_RANGE,...]] \
    [--filter-protocols=PROTOCOL,[PROTOCOL,...]] \
    [--filter-direction=DIRECTION]

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

  • POLICY_NAME: השם של מדיניות הרפליקציה של חבילות הנתונים.
  • REGION: האזור שבו נמצאים מקורות השיקוף ויעד האיסוף.
  • NETWORK_NAME: הרשת שבה נמצאים המקורות המשוכפלים.
  • FORWARDING_RULE_NAME: השם של כלל ההעברה שהוגדר כמאסף רפליקציה. Google Cloud שולח את כל התנועה המשוכפלת למאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי שמשויך אליו.
  • SUBNET: השמות של רשתות המשנה שרוצים לשכפל. אפשר לספק כמה רשתות משנה באמצעות רשימה שמופרדת בפסיקים. Google Cloud משקף מכונות קיימות ועתידיות ברשת המשנה.
  • TAG: תג רשת אחד או יותר. Google Cloud משקף מקרים שיש להם תג רשת. אפשר לספק כמה תגים באמצעות רשימה מופרדת בפסיקים.
  • INSTANCE: המזהה המוגדר במלואו של מופע אחד או יותר לשיקוף. אפשר לספק כמה מופעים באמצעות רשימה מופרדת בפסיקים.
  • CIDR_RANGE: טווח אחד או יותר של כתובות IPv4 או IPv6 בפורמט CIDR לשיקוף. אם לא מציינים טווחי CIDR, מתבצעת רפליקציה של כל תעבורת ה-IPv4 שתואמת לפרוטוקולים שצוינו. אם לא מציינים טווחי CIDR או פרוטוקולים, מתבצעת רפליקציה של כל תעבורת הנתונים ב-IPv4. כדי להפעיל רפליקציה לכל התעבורה ב-IPv4 וב-IPv6, משתמשים ב-0.0.0.0/0,::/0. אפשר לכלול טווחי CIDR של IPv4 ו-IPv6. אפשר לספק כמה טווחים באמצעות רשימה מופרדת בפסיקים.
  • PROTOCOL: פרוטוקול אחד או יותר לרפליקציה. הערכים התקפים הם tcp,‏ udp,‏ icmp,‏ esp,‏ ah,‏ ipip,‏ sctp או מספר פרוטוקול של IANA. אם לא מציינים פרוטוקולים, כל התנועה שתואמת לטווחים שצוינו של CIDR משוכפלת. אם לא מציינים פרוטוקולים או טווחי CIDR, כל תעבורת הנתונים של IPv4 משוכפלת. כדי לציין ICMP ל-IPv6, משתמשים ב-58. אפשר לספק כמה פרוטוקולים באמצעות רשימה שמופרדת בפסיקים.
  • DIRECTION: כיוון התנועה לשיקוף ביחס למכונה הווירטואלית. ערך ברירת המחדל הוא both, כלומר, תתבצע שיקוף של תעבורת נתונים נכנסת (ingress) ותעבורת נתונים יוצאת (egress). אפשר להגביל את החבילות שמתועדות על ידי ציון ingress כדי לתעד רק חבילות נכנסות או egress כדי לתעד רק חבילות יוצאות.

Terraform

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

resource "google_compute_packet_mirroring" "default" {
  region      = "europe-west1"
  name        = "my-mirroring"
  description = "My packet mirror"
  network {
    url = google_compute_network.ilb_network.id
  }
  collector_ilb {
    url = google_compute_forwarding_rule.default.id
  }
  mirrored_resources {
    tags = ["foo"]
    instances {
      url = google_compute_instance.vm_test.id
    }
  }
  filter {
    ip_protocols = ["tcp"]
    cidr_ranges  = ["0.0.0.0/0"]
    direction    = "BOTH"
  }
}

כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.

API

כדי ליצור מדיניות רפליקציה של חבילות נתונים, שולחים בקשת POST אל ה-method‏ packetMirrorings.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings
{
  "name": "POLICY_NAME",
  "enable": "ENABLED",
  "network": {
    "url": "NETWORK_URL"
  },
  "priority": PRIORITY,
  "mirroredResources": {
    "subnetworks": [
      {
        "url": "SUBNET_URL"
      }
    ],
    "tags": [
      "TAG"
    ],
    "instances": [
      {
        "url": "INSTANCE"
      }
    ]
  },
  "collectorIlb": {
    "url": "FORWARDING_RULE_URL"
  },
  "filter": {
    "IPProtocols": [
      "PROTOCOL"
    ],
    "cidrRanges": [
      "CIDR_RANGE"
    ],
    "direction": "DIRECTION"
  }
}

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

  • PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את המדיניות.
  • REGION: האזור שבו נמצאים המקורות המשוכפלים ויעד האוסף.
  • POLICY_NAME: השם של מדיניות הרפליקציה של חבילות הנתונים.
  • ENABLED: האם המדיניות הזו תקפה. האפשרויות הן TRUE ו-FALSE. ברירת המחדל היא TRUE.
  • NETWORK_URL: כתובת ה-URL של הרשת שבה נמצאים המקורות המשוכפלים.
  • PRIORITY: העדיפות של כלל ההעברה, שמשמשת להכרעה במקרים שבהם יש יותר מכלל אחד שתואם. הטווח התקין הוא 0 עד 65,535, וערך ברירת המחדל הוא 1,000.
  • SUBNET_URL: כתובת ה-URL של רשת משנה לשיקוף. Google Cloud הפקודה משקפת מופעים קיימים ועתידיים ברשת המשנה. אפשר לספק כמה רשתות משנה באמצעות רשימה מופרדת בפסיקים.
  • TAG: תג רשת. Google Cloud משקף מקרים שיש להם את תג הרשת. אפשר לספק כמה תגים באמצעות רשימה מופרדת בפסיקים.
  • INSTANCE: המזהה המוגדר במלואו של מופע לשכפול. אפשר לספק כמה מופעים באמצעות רשימה מופרדת בפסיקים.
  • FORWARDING_RULE_URL: כתובת ה-URL של כלל העברה שמוגדר כמאסף שיקוף. Google Cloud הכלל הזה שולח את כל התנועה המשוקפת למאזן עומסי הרשת הפנימי להעברת סיגנל ללא שינוי שמשויך אליו.
  • PROTOCOL: פרוטוקול אחד או יותר. האפשרויות הן tcp, udp, icmp, esp, ah, ipip, sctp או מספר פרוטוקול של IANA. אם לא מציינים פרוטוקולים, מתבצעת רפליקציה של כל התעבורה שתואמת לטווחים שצוינו של CIDR. אם לא מציינים טווחי CIDR או פרוטוקולים, מתבצעת רפליקציה של כל תעבורת הנתונים ב-IPv4. כדי לציין ICMP עבור IPv6, מזינים 58. אפשר לספק כמה פרוטוקולים באמצעות הטופס הבא: "icmp", "udp".
  • CIDR_RANGE: טווח אחד או יותר של כתובות IPv4 או IPv6 בפורמט CIDR לשיקוף. אם לא מציינים טווחי CIDR, מתבצעת רפליקציה של כל תעבורת ה-IPv4 שתואמת לפרוטוקולים שצוינו. אם לא מציינים טווחי CIDR או פרוטוקולים, מתבצעת רפליקציה של כל תעבורת הנתונים ב-IPv4. כדי להפעיל רפליקציה לכל התעבורה ב-IPv4 וב-IPv6, משתמשים ב-"0.0.0.0/0", "::/0". אפשר לכלול טווחי CIDR של IPv4 ו-IPv6. אפשר לספק כמה טווחי CIDR באמצעות הטופס הבא: "192.0.2.0/24", "2001:0DB8::/32".
  • PROTOCOL: פרוטוקול אחד או יותר לרפליקציה.
  • DIRECTION: כיוון התנועה לשיקוף. האפשרויות הן INGRESS, ‏EGRESS או BOTH. ערך ברירת המחדל הוא BOTH.

אימות הרפליקציה של חבילות נתונים

כדי לוודא שמופעל שיקוף של התנועה במופעים של האוסף, אפשר להשתמש ב-tcpdump.

  1. התחברות למכונה של כלי איסוף.

  2. אם הפקודה tcpdump לא זמינה, מתקינים אותה.

  3. מזהים את ממשק הרשת:

    ip address
    

    ברשימת ממשקי הרשת, מחפשים את השם שמשויך לכתובת ה-IPv4 הפנימית הראשית של מופע האוסף – לדוגמה, ens4.

  4. מתחילים לנתח את החבילות:

    sudo tcpdump -i INTERFACE_NAME -f "host IP_ADDRESS"
    

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

    • INTERFACE_NAME: השם של הממשק שזיהיתם בשלב 3.
    • IP_ADDRESS: כתובת ה-IPv4 של מכונת VM של מקור משוכפל.
  5. כדי להריץ את הבדיקה, שולחים תנועה מהמכונה הווירטואלית המשוכפלת של המקור – לדוגמה, על ידי שליחת פינג של ICMP. בפלט של tcpdump, מוודאים שאפשר לראות את התנועה הצפויה.

שינוי מדיניות רפליקציה של חבילות נתונים

אתם יכולים לעדכן מדיניות קיימת כדי לשנות פרטים כמו מקורות משוכפלים או יעדים של כלי איסוף.

המסוף

  1. במסוף Google Cloud , נכנסים לדף רפליקציה של חבילות נתונים.

    לדף רפליקציה של חבילות נתונים

  2. ברשימת מדיניות שיקוף המנות, לוחצים על המדיניות שרוצים לערוך.

  3. בדף פרטי המדיניות, לוחצים על עריכה.

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

gcloud

כדי לעדכן מדיניות קיימת של רפליקציה של חבילות נתונים, משתמשים בפקודה packet-mirrorings update.

gcloud compute packet-mirrorings update POLICY_NAME [--async] \
  [--collector-ilb=FORWARDING_RULE_NAME] [--description=DESCRIPTION] [--enable] \
  [--filter-direction=DIRECTION] [--region=REGION] \
  [--add-filter-cidr-ranges=[CIDR_RANGE,...] | --clear-filter-cidr-ranges \
    | --remove-filter-cidr-ranges=[CIDR_RANGE,...] \
    | --set-filter-cidr-ranges=[CIDR_RANGE,...]] \
  [--add-filter-protocols=[PROTOCOL,...] | --clear-filter-protocols \
    | --remove-filter-protocols=[PROTOCOL,...] \
    | --set-filter-protocols=[PROTOCOL,...]] \
  [--add-mirrored-instances=[INSTANCE,...] | --clear-mirrored-instances \
    | --remove-mirrored-instances=[INSTANCE,...] \
    | --set-mirrored-instances=[INSTANCE,...]] \
  [--add-mirrored-subnets=[SUBNET,...] | --clear-mirrored-subnets \
    | --remove-mirrored-subnets=[SUBNET,...] \
    | --set-mirrored-subnets=[SUBNET,...]] \
  [--add-mirrored-tags=[TAG,...] | --clear-mirrored-tags \
    | --remove-mirrored-tags=[TAG,...] | --set-mirrored-tags=[TAG,...]]

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

  • POLICY_NAME: השם של מדיניות הרפליקציה של חבילות הנתונים שרוצים לשנות.
  • FORWARDING_RULE_NAME: השם של כלל העברת התעבורה שהוגדר כמרכז איסוף. Google Cloud שולח את כל התעבורה המשוכפלת למאזן עומסי הרשת הפנימי להעברת סיגנל ללא שינוי שמשויך אליו.
  • DESCRIPTION: תיאור של מדיניות הרפליקציה של חבילות הנתונים.
  • DIRECTION: כיוון תעבורת הנתונים שאליו רוצים להחיל את מדיניות הרפליקציה של חבילות הנתונים. האפשרויות הן egress, ‏ingress או both.
  • REGION: האזור שבו נמצאת המדיניות.
  • CIDR_RANGE: טווח אחד או יותר של CIDR מסוג IPv4 או IPv6 לשכפול. אם לא מציינים טווחי CIDR, מתבצעת רפליקציה של כל תעבורת ה-IPv4 שתואמת לפרוטוקולים שצוינו. אם לא מציינים טווחי CIDR או פרוטוקולים, מתבצעת רפליקציה של כל תעבורת הנתונים ב-IPv4. כדי להפעיל רפליקציה לכל התעבורה ב-IPv4 וב-IPv6, משתמשים ב-0.0.0.0/0,::/0. אפשר לכלול טווחי CIDR של IPv4 ו-IPv6. אפשר לספק כמה טווחים באמצעות רשימה מופרדת בפסיקים.
  • PROTOCOL: פרוטוקול אחד או יותר לרפליקציה. הערכים התקפים הם tcp,‏ udp,‏ icmp,‏ esp,‏ ah,‏ ipip,‏ sctp או מספר פרוטוקול של IANA. אם לא מציינים פרוטוקולים, התנועה שתואמת לטווחים שצוינו של CIDR משוכפלת. אם לא מציינים פרוטוקולים או טווחי CIDR, כל תעבורת הנתונים של IPv4 משוכפלת. כדי לציין ICMP ל-IPv6, משתמשים ב-58. אפשר לספק כמה פרוטוקולים באמצעות רשימה שמופרדת בפסיקים.
  • INSTANCE: המזהה המלא של מופע אחד או יותר של מכונות וירטואליות לשיקוף. אפשר לספק כמה מופעים באמצעות רשימה מופרדת בפסיקים.
  • SUBNET: רשת משנה אחת או יותר. אפשר לספק כמה רשתות משנה באמצעות רשימה מופרדת בפסיקים. Google Cloudמשקף מקרים קיימים ועתידיים ברשת המשנה.
  • TAG: תג רשת אחד או יותר. אפשר לספק כמה תגים באמצעות רשימה מופרדת בפסיקים.

API

כדי לעדכן מדיניות רפליקציה של חבילות נתונים, שולחים בקשת POST אל ה-method‏ packetMirrorings.patch.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings/POLICY_NAME
{
  "name": "POLICY_NAME",
  "description": "DESCRIPTION",
  "priority": "PRIORITY",
  "collectorIlb": {
    "url": "FORWARDING_RULE_URL"
  },
  "mirroredResources": {
    "subnetworks": [
      {
        "url": "SUBNET_URL"
      }
    ],
    "instances": [
      {
        "url": "INSTANCE_URL"
      }
    ],
    "tags": [
      "NETWORK_TAGS"
    ]
  },
  "filter": {
    "cidrRanges": [
      "CIDR_RANGE"
    ],
    "IPProtocols": [
      "PROTOCOL"
    ],
    "direction": "DIRECTION"
  },
  "enable": "ENABLED"
}

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

  • PROJECT_ID: מזהה הפרויקט שבו נמצאת המדיניות.
  • REGION: האזור של מדיניות הרפליקציה של חבילות הנתונים.
  • POLICY_NAME: השם של מדיניות הרפליקציה של חבילות הנתונים שרוצים לשנות.
  • DESCRIPTION: תיאור אופציונלי של המדיניות.
  • PRIORITY: העדיפות של המדיניות, שמשמשת להכרעה במקרים שבהם יש כמה מדיניות תואמת. ערך ברירת המחדל הוא 1,000. הטווח התקין הוא 0 עד 65,535.
  • FORWARDING_RULE_URL: כתובת ה-URL של כלל העברה עם רפליקציה של חבילות נתונים מופעלת. Google Cloud כלל ההעברה שולח את כל התעבורה המשוכפלת למאזן עומסי הרשת הפנימי להעברת סיגנל ללא שינוי שמשויך אליו.
  • SUBNET_URL: כתובת ה-URL של רשת משנה.‫Google Cloud משקף מקרים קיימים ועתידיים ברשת המשנה. אפשר לספק כמה רשתות משנה באמצעות רשימה מופרדת בפסיקים.
  • INSTANCE_URL: כתובת ה-URL של מופע של מכונה וירטואלית לשכפול. אפשר לספק כמה מקרים באמצעות רשימה מופרדת בפסיקים.
  • NETWORK_TAGS: תג רשת.‫ Google Cloud משכפל מקרים שיש להם תג רשת אחד או יותר. אפשר לספק כמה תגים באמצעות רשימה מופרדת בפסיקים.
  • CIDR_RANGE: טווח אחד או יותר של CIDR מסוג IPv4 או IPv6 לשכפול. אם לא מציינים טווחי CIDR, מתבצעת רפליקציה של כל תעבורת ה-IPv4 שתואמת לפרוטוקולים שצוינו. אם לא מציינים טווחי CIDR או פרוטוקולים, מתבצעת רפליקציה של כל תעבורת הנתונים ב-IPv4. כדי להפעיל רפליקציה לכל התעבורה ב-IPv4 וב-IPv6, משתמשים ב-"0.0.0.0/0", "::/0". אפשר לכלול טווחי CIDR של IPv4 ו-IPv6. אפשר לספק כמה טווחי CIDR באמצעות הטופס הבא: "192.0.2.0/24", "2001:DB8::/32".
  • IP_PROTOCOL: פרוטוקול אחד או יותר. האפשרויות הן tcp, udp, icmp, esp, ah, ipip, sctp או מספר פרוטוקול של IANA. אם לא מציינים פרוטוקולים, מתבצעת רפליקציה של כל התעבורה שתואמת לטווחים שצוינו של CIDR. אם לא מציינים טווחי CIDR או פרוטוקולים, כל תעבורת הנתונים מסוג IPv4 משוכפלת. כדי לציין ICMP ל-IPv6, משתמשים ב-58. אפשר לספק כמה פרוטוקולים באמצעות הפורמט הבא: "icmp", "udp".
  • DIRECTION: כיוון התנועה לשיקוף. האפשרויות הן INGRESS, ‏EGRESS או BOTH. ערך ברירת המחדל הוא BOTH.
  • ENABLED: מציין אם המדיניות מופעלת או לא. האפשרויות הן TRUE או FALSE.

הצגת רשימת כללי המדיניות של רפליקציית חבילות נתונים

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

המסוף

gcloud

כדי להציג את מדיניות הרפליקציה של חבילות נתונים שנמצאת בפרויקט או באזור מסוים, משתמשים בפקודה packet-mirrorings list.

gcloud compute packet-mirrorings list \
  [--filter="region:(REGION...)"]

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

API

כדי לראות רשימה של מדיניות רפליקציה של חבילות נתונים שקיימת בפרויקט, שולחים בקשת GET אל ה-method‏ packetMirrorings.list.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/packetMirrorings

מחליפים את PROJECT_ID במזהה הפרויקט.

כדי להציג רשימה של מדיניות קיימת של רפליקציה של חבילות נתונים באזור מסוים, שולחים בקשת GET אל ה-method‏ packetMirrorings.list.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings

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

  • PROJECT_ID: המזהה של הפרויקט שמכיל את המדיניות שרוצים להציג.
  • REGION: האזור שמכיל את המדיניות שרוצים להציג.

תיאור של מדיניות רפליקציה של חבילות נתונים

אתם יכולים לתאר מדיניות של רפליקציה של חבילות נתונים כדי לראות פרטים כמו המסננים של המדיניות.

המסוף

  1. במסוף Google Cloud , נכנסים לדף רפליקציה של חבילות נתונים.

    לדף רפליקציה של חבילות נתונים

  2. ברשימת מדיניות הרפליקציה של חבילות נתונים, בוחרים את המדיניות שרוצים להציג. Google Cloud במסוף מוצגים פרטי המדיניות שבחרתם.

gcloud

כדי להוסיף תיאור למדיניות הרפליקציה של חבילות הנתונים, משתמשים בפקודה packet-mirrorings describe.

gcloud compute packet-mirrorings describe POLICY_NAME \
  --region=REGION \

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

  • POLICY_NAME: השם של מדיניות הרפליקציה של חבילות הנתונים שרוצים לתאר.
  • REGION: האזור שבו נמצאת המדיניות.

API

כדי לתאר מדיניות של רפליקציה של חבילות נתונים, שולחים בקשת GET אל ה-method‏ packetMirrorings.get.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings/POLICY_NAME

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

  • PROJECT_ID: מזהה הפרויקט שבו נמצאת המדיניות.
  • REGION: האזור שבו נמצאת המדיניות.
  • POLICY_NAME: השם של מדיניות הרפליקציה של חבילות הנתונים שרוצים לתאר.

השבתה או הפעלה של מדיניות רפליקציה של חבילות נתונים

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

המסוף

  1. במסוף Google Cloud , נכנסים לדף רפליקציה של חבילות נתונים.

    לדף רפליקציה של חבילות נתונים

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

  3. לוחצים על השבתה או על הפעלה.

  4. מאשרים בלחיצה על השבתה או על הפעלה.

gcloud

כדי להשבית מדיניות רפליקציה של חבילות נתונים, משתמשים בפקודה packet-mirrorings update.

gcloud compute packet-mirrorings update POLICY_NAME \
  --region=REGION \
  --no-enable

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

  • POLICY_NAME: השם של מדיניות הרפליקציה של חבילות הנתונים שרוצים להשבית או להפעיל.
  • REGION: האזור שבו נמצאת המדיניות.

כדי להפעיל מדיניות רפליקציה של חבילות נתונים, משתמשים בפקודה packet-mirrorings update.

gcloud compute packet-mirrorings update POLICY_NAME \
  --region=REGION \
  --enable

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

  • POLICY_NAME: השם של מדיניות הרפליקציה של חבילות הנתונים שרוצים להשבית או להפעיל.
  • REGION: האזור שבו נמצאת המדיניות.

API

כדי להשבית או להפעיל מדיניות קיימת של רפליקציית חבילות נתונים, שולחים בקשת PATCH ל-method‏ packetMirrorings.patch.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings/POLICY_NAME
{
  "enable": "FALSE|TRUE"
}

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

  • PROJECT_ID: מזהה הפרויקט שבו נמצאת המדיניות.
  • REGION: האזור שבו נמצאת המדיניות.
  • POLICY_NAME: השם של מדיניות הרפליקציה של חבילות הנתונים שרוצים להשבית.

מחיקת מדיניות רפליקציה של חבילות נתונים

אפשר למחוק מדיניות של שיקוף מנות כדי להסיר אותה מהפרויקט. אחרי שמוחקים מדיניות, Google Cloud התנועה שקשורה למדיניות הזו לא משוכפלת יותר.

המסוף

  1. במסוף Google Cloud , נכנסים לדף רפליקציה של חבילות נתונים.

    לדף רפליקציה של חבילות נתונים

  2. ברשימת המדיניות של שיקוף מנות, בוחרים את המדיניות שרוצים למחוק.

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

  4. לוחצים על מחיקה כדי לאשר את הפעולה.

gcloud

כדי למחוק מדיניות רפליקציה של חבילות נתונים, משתמשים בפקודה packet-mirrorings delete.

gcloud compute packet-mirrorings delete POLICY_NAME \
  --region=REGION \

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

  • POLICY_NAME: השם של מדיניות הרפליקציה של חבילות הנתונים שרוצים למחוק.
  • REGION: האזור שבו נמצאת המדיניות.

API

כדי למחוק מדיניות רפליקציה של חבילות נתונים, שולחים בקשת DELETE ל-method‏ packetMirrorings.delete.

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings/POLICY_NAME

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

  • PROJECT_ID: מזהה הפרויקט שבו נמצאת המדיניות.
  • POLICY_NAME: השם של מדיניות הרפליקציה של חבילות הנתונים שרוצים למחוק.
  • REGION: האזור שבו נמצאת המדיניות.

פתרון בעיות

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

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

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

  • בודקים שהמסננים של שיקוף המנות לא רחבים מדי ולא צרים מדי. יכול להיות שהגדרתם בטעות מסננים שכוללים או מחריגים תנועה מסוימת.

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