BGPフィルターの原理と実験(Huawei機器)

概要:

フィルタは、ルーティングエントリに一致するツールです。現在、BGPで使用するために次の5つのフィルタが提供されています。
•アクセス制御リスト(アクセス制御リスト)
•IPプレフィックスリスト(IPプレフィックスリスト)
•AS-パスフィルタ(AS-パスフィルタ)
•コミュニティ属性フィルタ(コミュニティ
-フィルター•Extcommunity-フィルター

ルーティングコントロールノートは、BGPでのACLとプレフィックスリストの使用をまとめたものです。新しく追加された3つのフィルタは次のとおりです
。•ASパスフィルタ:
•コミュニティフィルタ:
•拡張コミュニティフィルタ:

ASパスフィルター:

概要:
ASパスフィルタは、BGPルートによって伝送されるAS-Pathリストを使用してルートをフィルタリングします。トラフィックが特定のASを通過しないようにする場合は、ASパスフィルタを使用して、これらのAS番号を伝送するルートをフィルタリングできます。さらに、ACLまたはアドレスプレフィックスリストを使用してBGPルートをフィルタリングします。一方で、設定が煩雑になる場合があります(複数のACLまたはプレフィックスリストを定義する必要があります)。一方、新しいルートが追加され、簡単ではありません。この場合、ASパスフィルタリングもデバイスとして使用できます。

ASパスフィルターは、正規表現を使用して一致ルールを定義します。正規表現は、メタ文字と数値の2つの部分で構成されます。

  1. メタ文字は一致ルールを定義します。
  2. 値は、一致したオブジェクトを定義します。

次の表に、特殊文字の特定の機能を示します。
ここに画像の説明を挿入
複数のフィルター規則(許可または拒否)を同じフィルター番号で定義できます。マッチングプロセス中、これらのルールは「または」の関係にあります。つまり、ルーティング情報がルールの1つを通過する限り、フィルター番号で識別されるASパスフィルターのセットを通過すると見なされますが、マッチングは行われません。エントリはデフォルトです拒否することです。

Huaweiデバイスでは、コマンドip as-path-filter {as-path-filter-number | as-path-filter-name} [index index-number] {permit | deny}正規表現を実行して、ASパスフィルターを構成します。 。

実験:
ここに画像の説明を挿入
1。目的:
AS-Path-Filterを使用して、10ASで始まるルーティングエントリとフィルターを照合します。

2.手順:
R1、R2、およびR3間にEBGPネイバー関係を確立し、独自のループバックポートをアドバタイズして入力します。これで、R3は対応するルーティングエントリを学習できます。次に、R3で
ここに画像の説明を挿入
構成します。
[R3] ip as-path-filter gok deny 10 $ //
10AS [R3-bgp] peer 10.1.23.2 as-path-filter huawei improtで始まり
R3でルーティングエントリを一致させる:エントリがなく
ここに画像の説明を挿入
、一致するものが通過できないことがわかったので、他のエントリが通過できるように1つを設定し、R3で設定する必要があります。

[R3] ip as-path-filter gok permit ^ 20 // 20で終わるパスを許可してから、R3を確認します。対応するルーティングエントリをもう一度確認します。
ここに画像の説明を挿入

コミュニティフィルター:

概要:
BGPのコミュニティ属性は、共通のプロパティを持つルートのグループを識別するために使用されます。コミュニティ属性を使用して、ルートを人為的に分類し、ルートの管理を容易にすることができます。

実際のアプリケーションでは、一部のAS内ルートを他の外部ASにアドバタイズする必要がない場合がありますが、AS外ルートを他の外部ASにアドバタイズする必要があります。これらのルートには異なるプレフィックスがあり(アドレスプレフィックスリストを使用するのは不便です)、異なるASからのものである可能性があります(便利ではありません。ASパスフィルタを使用してください)。この時点で、ASのエッジにあるAS内のこれらのルートに同じコミュニティ属性値を設定し、 AS。これにより、コミュニティ属性値を使用してルートを制御およびフィルタリングできます。

実験:
ここに画像の説明を挿入
1。背景の紹介:
ここでは、R3からR4に送信される少林寺ルートがすべてLP属性値100でマークされ、R4に送信される武当ルートがすべてLP属性値200でマークされる必要があります。コミュニティの属性を通じてこの目標を達成するにはどうすればよいですか?

一般的なアプローチは、最初にR1にルーティング戦略を渡して、R3に送信される少林寺のルートを100:1のチーム属性でマークすることを要求することです。R3に送信された武当ルートは200:1のチーム属性でマークされています。次に、R3の対応する属性をフォローアップしてLP値を変更し、それをR4に送信します。

2.具体配置:

R1の場合:
プレフィックスリストを構成します。
ここに画像の説明を挿入
対応するルーティングポリシーを
ここに画像の説明を挿入
構成します。BGPを構成します
ここに画像の説明を挿入
注:advertising-communityは手動で構成する必要があります。そうしないと、メッセージに対応するコミュニティ属性が含まれません。

R2の場合:
プレフィックスリストの
ここに画像の説明を挿入
構成ルーティングポリシーの
ここに画像の説明を挿入
構成BGPの構成:
ここに画像の説明を挿入
R3の場合:
コミュニティ属性フィルターの構成、対応するコミュニティ属性の一致:
ここに画像の説明を挿入
ルーティングポリシーの構成、一致するさまざまなコミュニティ属性の優先度の
ここに画像の説明を挿入
設定:BGPの構成:
ここに画像の説明を挿入
R4の場合:
BGPの構成:次の
ここに画像の説明を挿入
ことができますR4で対応するエントリを表示します。LP値を受信した後、対応するルーティングエントリ
ここに画像の説明を挿入
変更ていることがわかります。R3200でコマンドdisplay bgp routing-table community 100:1とコマンドdisplay bgprouting-tablecommunityを使用します。 1チーム属性100:1および200:1に対応するBGPルートを表示します。少林寺から送信されたすべてのルートが100:1のチーム属性でマークされているのに対し、武当山のルートは200:1でマークされていることがわかります。

ここに画像の説明を挿入
ここに画像の説明を挿入
上記の例で、AS1がAS2にこのASの少林寺ネットワークセグメントと武当ネットワークセグメントへのアクセスを許可しないと仮定すると、No_Exportを使用してこれを実現できます。このとき、R2にAS1へのルートがあります。R1で次の構成を変更します。

route-policy R1 permit node 5
if-match ip-prefix shaolin
apply community 100:1 no-export

route-policy R1 permit node 10
if-match ip-prefix wudang
apply community 200:1 no-export

次に、R2でR1にルーティングエントリがないことがわかります
ここに画像の説明を挿入
。BGPルートは多くの場合数万です。異なるが非常に類似しているものが多数ある場合、チーム属性は同じルーティング戦略を実装する必要があります(例:need属性「100:1、200:1、300:1、400:1、500:1 ...」のチームルートを運ぶには、同じ戦略を実装します)、構成を簡素化する方法は?

前に述べたことを参照してください。チーム属性「100:1、200:1、300:1、400:1、500:1 ...」を持つルートに同じ戦略を実装する必要がある場合は、複数のチームを構成する必要があります。属性フィルター:
ip community-filter 1 permit 100:1
ip community-filter 2 permit 200:1
ip community-filter 3 permit 300:1
ip community-filter 4 permit 400:1
ip community-filter 5 permit 500:1
これは非常に面倒です。現時点では、高度なチーム属性フィルターを使用できます。高度なチーム属性フィルターの機能は、通常のチーム属性フィルターと同じですが、フィルター番号が100〜199である点が異なります。
高度なチーム属性フィルターでは、正規表現を使用してグループを作成できます。これは、AA:NN形式のチーム属性を使用する場合に非常に便利です。
上記の例のように、高度なチーム属性フィルターを使用する場合は、次の1つのコマンドのみを構成する必要があります
。ipcommunity-filter101 permit。*:1

関連する設定の概要:
コマンドip community-filterを実行してコミュニティ属性フィルタを設定し、router-policyを介して対応する呼び出しを行います。Huaweiの機器コマンドは次のとおりです。

標準のコミュニティ属性フィルターを構成します。コマンドipcommunity-filter basic comm-filter-name [index index-number] {permit | deny} [community-number | aa:nn | internet [strict-match] | no-exportを実行します。 --subconfed | no-advertise | no-export]、またはコマンドip community-filter basic-comm-filter-num [index index-number] {permit | deny} [community-number | aa:nn | internet | no -export -subconfed | no-advertise | no-export]。

高度なコミュニティフィルターを構成します。コマンドipcommunity-filter {advanced comm-filter-name | adv-comm-filter-num} [index index-number] {permit | deny} regular-expressionを実行します。

違いに注意してください。
コミュニティ100を適用します。コミュニティ名を100に変更します。
apply community 100 150コミュニティ名を100または150に変更します。つまり、BGPルートは2つのコミュニティに属します。
適用コミュニティ100150加法100と150の2つのコミュニティ属性が元の基準で追加されます。つまり、BGPルートは3つのコミュニティに属しています。
コミュニティの適用なしBGPルートのコミュニティ属性を削除します。

拡張コミュニティフィルター:

BGPの拡張コミュニティフィルタは、コミュニティフィルタに似ています。これは主に、プライベートネットワークルートをフィルタリングし、router-policyを介して対応する呼び出しを行うために使用されます。

VPNターゲット拡張コミュニティ属性の構成:

基本的なVPNターゲット拡張コミュニティフィルターを構成します。コマンドipextcommunity-filter {basic-extcomm-filter-num | basic basic-extcomm-filter-name} [index index-number] {deny | permit} {rt {as- number:nn | 4as-number:nn | ipv4-address:nn}}&<1-16>。

高度なVPNターゲット拡張コミュニティフィルターを構成します。コマンドipextcommunity-filter {advanced-extcomm-filter-num | Advanced Advanced-extcomm-filter-name} [index index-number] {deny | permit} regular-expressionを実行します。

例えば:
ここに画像の説明を挿入

参考資料:「Huaweihedexドキュメント」、「川と湖の切り替え」

おすすめ

転載: blog.csdn.net/tushanpeipei/article/details/112794595