Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

BGP コミュニティと拡張コミュニティを定義する方法について

ルーティング ポリシーの一致条件として BGP コミュニティまたは拡張コミュニティを使用するには、次のセクションで説明するようにコミュニティを定義します。

ルーティング ポリシーの一致条件で使用する BGP コミュニティの定義

名前付き BGP コミュニティを作成し、コミュニティ メンバーを定義するには、次のステートメントを community 含めます。

name コミュニティを識別します。文字、数字、ハイフン(-)を含め、最大 255 文字の長さにすることができます。名前にスペースを含める場合は、名前全体を引用符 (" ") で囲みます。

community-ids は、コミュニティーの 1 つ以上のメンバーを識別します。各コミュニティ ID は、次の形式で指定する 2 つのコンポーネントで構成されています。

  • as-number—コミュニティメンバーのAS番号。0 から 65,535 までの値を指定できます。AS番号を指定するには、次の表記を使用できます。

    • 数字の文字列。

    • アスタリスク(*)— すべてのAS番号と一致するワイルドカード文字。(コミュニティー属性の定義では、アスタリスクもで説明 表 1されているように機能します。

    • 期間(.)—AS番号の任意の1桁と一致するワイルドカード文字。

    • AS番号のグループ — 単一のAS番号または括弧で囲まれたAS番号のグループ。この方法で数値をグループ化すると、グループ全体に対して共通の操作を実行し、グループに優先順位を付けられます。グループ化された数値には、それ自体に正規表現演算子を含めることができます。正規表現の詳細については、 を参照してください コミュニティ名での UNIX 正規表現の使用

  • community-value— コミュニティメンバーの識別子。0 から 65,535 までの数値を指定できます。コミュニティー ID の指定には、以下の表記を使用できます。

    • 数字の文字列。

    • アスタリスク (*)— すべてのコミュニティ値と一致するワイルドカード文字。(コミュニティー属性の定義では、アスタリスクもで説明 表 1されているように機能します。

    • 期間(.)— コミュニティ値番号の任意の 1 桁に一致するワイルドカード文字。

    • コミュニティ値番号のグループ — 単一のコミュニティ値番号または括弧で囲まれたコミュニティ値番号のグループ。この方法で正規表現をグループ化すると、グループ全体に対して共通の操作を実行し、グループを優先することができます。グループ化されたパスには、それ自体に正規表現演算子を含めることができます。

また、 ステートメントのオプションmembersに、以下の有名なコミュニティ名(RFC 1997、BGP Communities属性community-ids定義)のいずれかを含めることができます。これにより、指定 [policy-options policy-statement] したルートに設定された名前またはコミュニティ値がタグ付けされます。別の設定では、BGP インポート ポリシーにインポートされたルートのフィルタを作成する必要もあります。

  • 非アドバタイズ —このコミュニティ名のルートを他の BGP ピアにアドバタイズしてはなりません。

  • エクスポートなし —このコミュニティのルートは、BGP コンフェデレーション境界の外でアドバタイズしてはなりません。コンフェデレーションの一部ではないスタンドアロンの自律システムは、コンフェデレーション自体と見なす必要があります。

  • no-export-subconfed —このコミュニティのルートは、BGP コンフェデレーション内の他のメンバーのAS内のピアを含め、外部BGPピアにアドバタイズしてはなりません。

コミュニティ名での UNIX 正規表現の使用

名前付きBGPコミュニティのメンバーを(ステートメント内で members [ community-ids ] )指定するときは、UNIXスタイルの正規表現を使用してAS番号とメンバー識別子を指定できます。正規表現は、次の形式で指定する 2 つのコンポーネントで構成されています。

term は、一致する文字列を識別します。

operator は、条件が一致する必要があります。 表 1 は、コミュニティ ID でサポートされている正規表現演算子の一覧です。直後に演算子 term を配置し、間にスペースを入れる必要はありません。ただし、2つの用語の間に配置するパイプ( | )およびダッシュ()演算子と、項を囲む括弧を除きます。 表 2 は、コミュニティ正規表現を使用して定義 community-ids する方法の例を示しています。演算子はオプションです。

コミュニティー正規表現は UNIX 正規表現と同じです。どちらも POSIX 1003.2 で定義されている拡張 (または最新) 正規表現を実装します。

コミュニティー正規表現は、指定された term 文字列を文字ごとに評価します。たとえば、次のようにterm指定1234:5678すると、正規表現にはコロンで区切られた 2 組の数字1234(および5678)ではなく、コロン(:)を含む 9 つの個別の文字が表示されます。

注:

Junos OSリリース9.1以降では、RFC 4893、4 オクテットAS番号スペースのBGPサポート、およびJunos OSの以前のリリースでサポートされている2バイトAS番号で定義されている4バイトAS番号を指定できます。

表 1: コミュニティー属性正規表現演算子

オペレーター

定義を一致させる

{m,n}

少なくとも m 、ほとんどの n 繰り返し term. 両方mとも正nの整数である必要があり、よりmn小さくする必要があります。

{m}

. のtermm正確なm繰り返しは正の整数でなければなりません。

{m,}

m 以上の term繰り返し . m 正の整数である必要があります。

*

0 回以上の term繰り返し 。これは.{0,}

+

を 1 回以上繰り返します term。これは.{1,}

?

0 または 1 回の term繰り返し。これは.{0,1}

|

パイプの両側にある 2 つの用語の 1 つ。

開始範囲と終了範囲の間( を含む)

^

コミュニティー属性正規表現の先頭の文字。

$

コミュニティー属性正規表現の末尾にある文字。

[ ]

文字のセット。セットの 1 文字を一致させることができます。範囲の開始と終了を指定するには、ハイフン(-)を使用します。一致しない一連の文字を指定するには、キャレット()を角括弧[(^)の後の最初の文字として使用します。

( )

括弧で囲まれた用語のグループ。引用符で囲んでスペース("")を()間に入れなければ、null を示します。括弧と条件の間のスペースは無視されます。

“ ”

コミュニティー属性正規表現で引用符で囲まれた文字(スペース、タブ、疑問符、角括弧など)は特殊文字を示します。

表 2: コミュニティー属性正規表現の例

一致するコミュニティ属性

正規表現

サンプル一致

AS番号は56または78です。コミュニティの価値は任意の数値です。

^((56) |(78)):(.*)$

56:1000

78:64500

AS番号は56です。コミュニティの値は 2 から始まる任意の数です。

^56:(2.*)$

56:2

56:222

56:234

AS番号は任意の番号です。コミュニティー値は、5、7、または 9 で終わる任意の数です。

^(.*):(.*[579])$

1234:5

78:2357

34:64509

AS番号は56または78です。コミュニティーの値は、2 で始まり、2~8 で終わる任意の数です。

^((56) |(78)):(2.*[2-8])$

56:22

56:21197

78:2678

ルーティング ポリシーの一致条件で使用する BGP 拡張コミュニティの定義

名前付き BGP コミュニティを作成し、コミュニティ メンバーを定義するには、次のステートメントを community 含めます。

name コミュニティを識別します。文字、数字、ハイフン(-)を含め、最大 255 文字の長さにすることができます。名前にスペースを含める場合は、名前全体を引用符 (" ") で囲みます。

community-ids は、コミュニティーの 1 つ以上のメンバーを識別します。各コミュニティ ID は、次の形式で指定する 3 つのコンポーネントで構成されています。

type は拡張コミュニティのタイプであり、特定のBGP拡張コミュニティの16ビット数値識別子またはこれらのタイプのいずれかになります。

  • bandwidth—帯域幅拡張コミュニティを設定します。リンク帯域幅を指定すると、異なる BGP パス間で異なるトラフィックを分散できます。

    注:

    リンク帯域幅属性は、プレフィックス単位のロード バランシングと同時に機能しません。

  • domain-id—ルートの送信元の OSPF ドメインを識別します。

  • origin—ルートの発信元を識別します。

  • rt-import—ルーティング テーブルにインストールするルートを識別します。

    注:

    ルートはAS番号ではなくIPアドレスで識別する必要があります。

  • src-as—ルートの送信元のASを識別します。IPアドレスではなくAS番号を指定する必要があります。

    注:

    IPアドレスではなくAS番号でASを識別する必要があります。

  • target—ルートが移動する宛先を識別します。

    注:

    VPN ルーティングおよび転送(VRF)インスタンスのインポート ポリシーには、少なくとも 1 つのルート ターゲットを含める必要があります。さらに、VRF インポート ポリシーのルート ターゲットでワイルドカード文字や正規表現を使用することはできません。VRF インポート ポリシーのルート ターゲットに設定する各値は、1 つの値にする必要があります。

administrator 管理者です。拡張コミュニティのタイプに応じて、AS番号またはIPバージョン4(IPv4)アドレスプレフィックスのいずれかです。

assigned-number はローカル プロバイダを識別します。

Junos OSリリース9.1以降では、RFC 4893、4 オクテットAS番号スペースのBGPサポート、およびJunos OSの以前のリリースでサポートされている2バイトAS番号で定義されている4バイトAS番号を指定できます。プレーン番号形式では、1~4,294,967,295 の範囲で値を設定できます。プレーン番号形式で target 4バイトAS番号を含むまたは origin 拡張コミュニティを設定するには、番号の末尾に「L」という文字を追加します。たとえば、4バイトAS番号334,324を持ち、割り当てられた番号が132のターゲットコミュニティは.target:334324L:132

Junos OSリリース9.2以降では、4バイトAS番号と拡張コミュニティの4バイトAS番号を定義する際に、ASドット表記をtargetorigin使用することもできます。ピリオドで結合された 2 つの整数を指定します。16-bit high-order value in decimal.16-bit low-order value in decimal. たとえば、プレーン番号形式で65546として表される4バイトAS番号は、ASドット表記で1.10として表されます。

例:BGP 拡張コミュニティの定義

管理フィールドと割り当てられた数の以下を 10458 使用して、ターゲットコミュニティを 20設定します。

管理フィールドが 10.1.1.1 で、割り当てられた番号が 20 のターゲット コミュニティを設定します。

管理フィールドが 10.1.1.1 で、割り当てられた番号が 20 の送信元コミュニティを設定します。

管理フィールドに100000の4バイトAS番号と130の割り当てられた番号を持つターゲットコミュニティを設定します。