内容

概要

前提条件

要件

使用するコンポーネント

表記法

背景説明

設定

ネットワーク図

フル インターネット ルーティング テーブルを受信するための設定

直接接続ルートを受信するための設定

デフォルト ルートだけを受信するための設定

トラブルシュート

関連情報

概要

このドキュメントでは、複数のサービスプロバイダー（マルチホーミング）でBGPを実行した結果について説明します。

前提条件

要件

次の項目に関する知識があることが推奨されます。

- Cisco BGPの実装

- 基本的な BGP 設定タスクの一覧

- BGP ケース スタディ

使用するコンポーネント

このドキュメントの情報は、Cisco IOS®ソフトウェアリリース15.7M8が稼働するCisco 2900シリーズルータに基づくものです。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな（デフォルト）設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

表記法

表記法の詳細については、『シスコ テクニカル ティップスの表記法』を参照してください。

背景説明

このドキュメントでは、インターネット接続の冗長性を実現するために使用する主要なプロトコルの1つであるボーダーゲートウェイプロトコル(BGP)について説明します。2 つの異なるインターネット サービス プロバイダー（ISP）にネットワークを接続することを、マルチホーミングと呼びます。マルチホーミングにより、冗長性とネットワークの最適化が実現されます。これはリソースへの最適なパスを提供する ISP を選択します。複数のサービスプロバイダーでBGPを実行すると、自律システム(AS)がトランジットASになるリスクがあります。これが原因で、インターネット トラフィックがこの AS を通過し、帯域幅およびルータの CPU リソースすべてを使い果たす可能性があります。このドキュメントでは、適切な設定例を挙げてこの問題について説明します。

フル インターネット ルーティング テーブルを受信するには、ローカル ルータ（このドキュメントの例ではルータ A）でフル インターネット ルーティング テーブルを受信するための設定を使用します。

サービス プロバイダーに直接接続しているルートを受信する必要があるが、その他のインターネットに対してはデフォルト ルートを使用したい場合は、直接接続ルートを受信するための設定を試みてください。

直接接続しているサービス プロバイダーからデフォルト ルートだけを受信する場合は、デフォルト ルートだけを受信するための設定を使用します。

このドキュメントの設定で使用されている正規表現の詳細については、『BGP での正規表現の使用』を参照してください。

設定

このセクションでは、このドキュメントで説明する機能を設定するために必要な情報を提供しています。

ネットワーク図

このドキュメントでは、次のネットワーク セットアップを使用します。

このネットワーク図では、10.1.0.0/8 および 10.2.0.0/8 が AS300 により外部へアドバタイズされます。

フル インターネット ルーティング テーブルを受信するための設定

この設定により、ルータAは他の自律システムのBGPスピーカとピア関係を確立できます。「 route-map localonly ローカルに生成されたルートだけを両方のサービスプロバイダーにアドバタイズできます。

つまり、あるサービス プロバイダーから他のサービス プロバイダーに戻るインターネット ルートをフィルタリングします。これにより、自律システムがインターネットトラフィックの中継ASになるリスクを回避できます。

注：単一ピアからのインターネットルーティングテーブル全体に対して1 GBのメモリを使用することを推奨します。

ルータ A

Current configuration:

router bgp 300

network 10.1.0.0

network 10.2.0.0

neighbor 10.10.10.10 remote-as 100

neighbor 10.10.10.10 route-map localonly out

!--- Outgoing policy route-map that filters routes to service provider A (SP-A).

neighbor 10.20.20.20 remote-as 200

neighbor 10.20.20.20 route-map localonly out

!--- Outgoing policy route-map that filters routes to service provider B (SP-B).

end

次の AS-Path アクセス リストでは、ローカルで生成された BGP ルートだけが許可されます。

ip as-path access-list 10 permit ^$

これは、AS-Path アクセス リストを使用して、サービス プロバイダーのネットワークの外部近隣ルータにアドバタイズされたルートをフィルタリングするルート マップの例です。

route-map localonly permit 10

match as-path 10

直接接続ルートを受信するための設定

ルータ A

Current configuration:

router bgp 300

network 10.1.0.0

network 10.2.0.0

neighbor 10.10.10.10 remote-as 100

neighbor 10.10.10.10 route-map localonly out

!--- Outgoing policy route-map that filters routes to SP-A.

neighbor 10.10.10.10 route-map as100only in

!--- Incoming policy route-map that filters routes from SP-A.

neighbor 10.20.20.20 remote-as 200

neighbor 10.20.20.20 route-map localonly out

!--- Outgoing policy route-map that filters routes to SP-B.

neighbor 10.20.20.20 route-map as200only in

!--- Incoming policy route-map that filters routes from SP-B.

end

サービスプロバイダーに直接接続されているルートのみを受け入れるため、サービスプロバイダーから送信されるルートとアドバタイズするルートをフィルタリングします。このアクセスリストとルートマップは、ローカルで発信されたルートだけを許可します。これを使用して、発信ルートアップデートをフィルタリングします。

ip as-path access-list 10 permit ^$

!--- If you configure the as-path access-list 10 as !--- IP as-path access-list 10 permit ^$, means that the router !---  only sends the prefixes which are generated locally in !--- AS 300 and not from any other AS.

route-map localonly permit 10

match as-path 10

このアクセスリストとルートマップは、最初のサービスプロバイダーネットワークから発信されたものではないものを除外し、サービスプロバイダーA(SP-A)から学習したルートをフィルタリングするために使用します。

ip as-path access-list 20 permit ^100$

route-map as100only permit 10

match as-path 20

このアクセスリストとルートマップは、2番目のサービスプロバイダーネットワーク内から発信されたものではないものを除外し、サービスプロバイダーB(SP-B)から学習したルートをフィルタリングするために使用します。

ip as-path access-list 30 permit ^200$

route-map as200only permit 10

match as-path 30

また、ネットワークの残りの部分に再配布する 2 つのデフォルト ルートを指定して、各サービス プロバイダーの入口点を示す必要があります。

ip route 0.0.0.0 0.0.0.0 10.10.10.10

ip route 0.0.0.0 0.0.0.0 10.20.20.20

デフォルト ルートだけを受信するための設定

ルータ A

Current configuration:

router bgp 300

network 10.1.0.0

network 10.2.0.0

neighbor 10.10.10.10 remote-as 100

neighbor 10.10.10.10 route-map localonly out

!--- Outgoing policy route-map that filters routes to SP-A.

neighbor 10.10.10.10  prefix-list ABC in

neighbor 10.20.20.20 remote-as 200

neighbor 10.20.20.20 route-map localonly out

!--- Outgoing policy route-map that filters routes to SP-B.

neighbor 10.20.20.20 prefix-list ABC in

ip prefix-list ABC seq 5 permit 0.0.0.0/0

!--- Prefix list to allow only default route updates.

end

ルータAにはデフォルトルートだけを受信させ、SP-AおよびSP-Bからの他のネットワークは受信させないようにするため、デフォルトルートだけを許可し、他のすべてのBGPアップデートを拒否します。次のプレフィクス リストを使用して、ルータ A でデフォルト ルート アップデート 0.0.0.0/0 だけを許可し、他のすべての BGP アップデートを拒否します。

ip prefix-list ABC seq 5 permit 0.0.0.0/0

このプレフィクス リストを、個々の BGP 近隣ルータの受信アップデートに次のように適用します。

neighbor 10.10.10.10 prefix-list ABC in

neighbor 10.20.20.20 prefix-list ABC in

トラブルシュート

現在のところ、この設定に関する特定のトラブルシューティング情報はありません。

関連情報

- プレフィックス リストを使用してデフォルト ルートだけを受け入れるように BGP を設定する方法

- BGP ケース スタディ

- BGP のトラブルシューティング

- BGP に関するサポート ページ

- シスコテクニカルサポートおよびダウンロード