יצירת מדיניות ניתוב BGP

במדריך הזה מוסבר איך ליצור מדיניות מסלולי BGP ב-Cloud Router.

אפשר ליצור מדיניות של נתיבי BGP ל-Cloud Router באמצעות כל אחת מהאפשרויות הבאות:

יצירת מדיניות ניתוב BGP

  1. מוסיפים מדיניות ניתוב ל-Cloud Router:

    gcloud compute routers add-route-policy ROUTER_NAME \
        --policy-name=BGP_ROUTE_POLICY_NAME \
        --policy-type=ROUTE_POLICY_TYPE \
        --region=REGION
    

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

    • ‫ROUTER_NAME: השם של Cloud Router
    • BGP_ROUTE_POLICY_NAME: שם למדיניות של נתיב BGP
    • ‫ROUTE_POLICY_TYPE: סוג המדיניות שרוצים להוסיף. האפשרויות הן IMPORT לנתיבים שנלמדו או EXPORT לנתיבים שפורסמו.
    • ‫REGION: האזור שבו נמצא Cloud Router

    לדוגמה, הפקודה הבאה מוסיפה מדיניות ניתוב לנתיבים שנלמדו ל-Cloud Router:

    gcloud compute routers add-route-policy ROUTER_NAME \
        --policy-name=BGP_ROUTE_POLICY_NAME \
        --policy-type=IMPORT \
        --region=REGION
    
  2. כדי להוסיף תנאי למדיניות של נתיב BGP, מריצים את הפקודה הבאה:

    gcloud compute routers add-route-policy-term ROUTER_NAME \
        --policy-name=BGP_ROUTE_POLICY_NAME \
        --region=REGION \
        --priority=ROUTE_POLICY_PRIORITY \
        --match=ROUTE_POLICY_MATCH_EXPRESSION \
        --actions=ROUTE_POLICY_ACTIONS_EXPRESSION
    

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

    • ‫ROUTE_POLICY_PRIORITY: העדיפות של המדיניות הזו, למשל 1.
    • ‫ROUTE_POLICY_MATCH_EXPRESSION: ביטוי להתאמה למדיניות המסלול הזה
    • ROUTE_POLICY_ACTIONS_EXPRESSION: פעולות שקשורות למדיניות הניתוב הזו

    לדוגמה, הפקודה הבאה יוצרת מדיניות BGP כדי להגדיר את ערך המאפיין BGP multiple exit discriminator (MED)‎ ל-12345 עבור נתיבי BGP שכלולים בקבוצה בעלת השם allowed-prefixes.

    gcloud compute routers add-route-policy-term ROUTER_NAME \
        --policy-name=BGP_ROUTE_POLICY_NAME \
        --region=REGION \
        --priority=ROUTE_POLICY_PRIORITY \
        --match='destination.inAnyRange(prefixSets("allowed-prefixes"))' \
        --actions='med.set(12345)'
    

    מחליפים את ROUTE_POLICY_PRIORITY בעדיפות הרצויה למדיניות הזו, למשל 1.

העלאה של מדיניות מסלולי BGP

  1. יוצרים את מדיניות מסלולי ה-BGP בכלי לעריכת טקסט שמעדיפים. אתם יכולים להשתמש בפורמט JSON או YAML כדי ליצור את מדיניות נתיבי ה-BGP. בדוגמה הבאה נעשה שימוש בקובץ YAML:

    name: BGP_ROUTE_POLICY_NAME
    type: ROUTE_POLICY_TYPE 
    terms:
    - priority: ROUTE_POLICY_PRIORITY
      match:
        expression: >
          ROUTE_POLICY_MATCH_EXPRESSION
      actions:
      - expression: ROUTE_POLICY_ACTIONS_EXPRESSION
    

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

    • ‫BGP_ROUTE_POLICY_NAME: שם למדיניות של נתיב BGP.
    • ‫ROUTE_POLICY_TYPE: סוג מדיניות המסלול של BGP שאתם יוצרים. הסוג יכול להיות אחד מהערכים הבאים:

      • ‫ROUTE_POLICY_TYPE_IMPORT: מדיניות של נתיבי BGP לנתיבים שנלמדו.
      • ‫ROUTE_POLICY_TYPE_EXPORT: מדיניות מסלולי BGP למסלולים שמפורסמים.
    • ‫ROUTE_POLICY_PRIORITY: העדיפות של המדיניות הזו, למשל 1.

    • ‫ROUTE_POLICY_MATCH_EXPRESSION: ביטוי להתאמה למדיניות המסלול הזה

    • ROUTE_POLICY_ACTIONS_EXPRESSION: פעולות שקשורות למדיניות הניתוב הזו

    לדוגמה, הפקודה הבאה בקובץ YAML יוצרת מדיניות BGP עבור מסלולים שנלמדו, ומגדירה את ערך המאפיין BGP multiple exit discriminator (MED)‎ ל-12345 עבור מסלולי BGP שלא נכללים ב-192.168.10.0/24 ושמתאימים לקבוצת קהילות BGP‏ 65000:1 ו-65000:2.

    # Set the MED value for BGP routes that aren't 192.168.10.0/24 and
    # communities that include (65000:1, 65000:2)
    name: BGP_ROUTE_POLICY_NAME
    type: ROUTE_POLICY_TYPE_IMPORT
    terms:
    - priority: 1
      match:
        expression: >
          destination != '192.168.10.0/24' && communities.matchesEvery(['65000:1', '65000:2'])
      actions:
      - expression: med.set(12345)
    
  2. מעלים את מדיניות מסלולי ה-BGP:

    gcloud compute routers upload-route-policy ROUTER_NAME \
        --region=REGION \
        --policy-name=BGP_ROUTE_POLICY_NAME \
        --file-name=FILE_NAME \
        --file-format=yaml
    

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

    • ‫ROUTER_NAME: השם של Cloud Router
    • ‫REGION: האזור שבו נמצא Cloud Router
    • ‫FILENAME: שם הקובץ שמעלים
  3. החלת כללי המדיניות של נתיבי BGP על רשתות שכנות של BGP:

    gcloud compute routers update-bgp-peer ROUTER_NAME \
        --region=REGION \
        --peer-name=PEER_NAME \
        --import-policies='IMPORT_POLICIES'
    

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

    • ‫PEER_NAME: השם של עמית ה-BGP שאליו רוצים להחיל את מדיניות מסלולי ה-BGP.
    • ‫IMPORT_POLICIES: רשימה מופרדת בפסיקים של מדיניות ייבוא. העברת מחרוזת ריקה מסירה את כל מדיניות הייבוא.

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